From 6b4ba17c640c8d5f5e2595a4c75f660dece70c9c Mon Sep 17 00:00:00 2001 From: Junaid Ahmed Date: Tue, 14 Apr 2026 23:52:52 +0100 Subject: [PATCH] feat: setup crea8ivedesign --- terraform/apps/crea8ivedesign.tf | 45 ++++++++++++++++++++++++++++++++ terraform/apps/outputs.tf | 26 ++++++++++++++++++ terraform/outputs.tf | 26 ++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 terraform/apps/crea8ivedesign.tf diff --git a/terraform/apps/crea8ivedesign.tf b/terraform/apps/crea8ivedesign.tf new file mode 100644 index 0000000..6f2937e --- /dev/null +++ b/terraform/apps/crea8ivedesign.tf @@ -0,0 +1,45 @@ +# ───────────────────────────────────────────────────────────── +# crea8ivedesign — Static design-studio marketing site (pre-rendered HTML) +# ───────────────────────────────────────────────────────────── +# Migrated from legacy PHP hosting. Pre-rendered from PHP templates +# and served entirely from Firebase Hosting — no Cloud Run, no DB. +# Order/contact flows are mock only; no server-side handling. +# ───────────────────────────────────────────────────────────── + +module "crea8ivedesign_identity" { + source = "../modules/app-identity" + + project_id = var.project_id + app_name = "crea8ivedesign" + github_org = var.github_org + github_repo = "crea8ivedesign" + wif_pool_id = var.wif_pool_id + wif_pool_name = var.wif_pool_name + + ci_cd_roles = [ + "roles/firebasehosting.admin", + "roles/firebase.admin", + "roles/iam.serviceAccountUser", + "roles/serviceusage.serviceUsageConsumer", + ] + + runtime_roles = [ + "roles/logging.logWriter", + ] +} + +module "crea8ivedesign_hosting" { + source = "../modules/hosting" + + project_id = var.project_id + site_id = "crea8ivedesign" +} + +resource "google_firebase_hosting_custom_domain" "crea8ivedesign" { + provider = google-beta + project = var.project_id + site_id = module.crea8ivedesign_hosting.site_id + custom_domain = "crea8ivedesign.junaid.guru" + + wait_dns_verification = false +} \ No newline at end of file diff --git a/terraform/apps/outputs.tf b/terraform/apps/outputs.tf index 7388bf1..d7a3910 100644 --- a/terraform/apps/outputs.tf +++ b/terraform/apps/outputs.tf @@ -207,3 +207,29 @@ output "thehighlands_required_dns" { description = "DNS records required at the registrar to verify and serve the custom domain" value = google_firebase_hosting_custom_domain.thehighlands.required_dns_updates } + +# ── crea8ivedesign Outputs ────────────────────────────────── +output "crea8ivedesign_wif_provider" { + description = "WIF_PROVIDER for crea8ivedesign repo GitHub secrets" + value = module.crea8ivedesign_identity.wif_provider +} + +output "crea8ivedesign_gcp_sa_email" { + description = "GCP_SA_EMAIL for crea8ivedesign repo GitHub secrets" + value = module.crea8ivedesign_identity.ci_cd_sa_email +} + +output "crea8ivedesign_hosting_url" { + description = "Firebase Hosting URL" + value = module.crea8ivedesign_hosting.site_url +} + +output "crea8ivedesign_custom_domain" { + description = "Custom domain for crea8ivedesign" + value = google_firebase_hosting_custom_domain.crea8ivedesign.custom_domain +} + +output "crea8ivedesign_required_dns" { + description = "DNS records required at the registrar to verify and serve the custom domain" + value = google_firebase_hosting_custom_domain.crea8ivedesign.required_dns_updates +} diff --git a/terraform/outputs.tf b/terraform/outputs.tf index 105eadc..2e4d932 100644 --- a/terraform/outputs.tf +++ b/terraform/outputs.tf @@ -219,3 +219,29 @@ output "thehighlands_required_dns" { description = "DNS records required at the registrar to verify and serve the thehighlands custom domain" value = module.apps.thehighlands_required_dns } + +# ── crea8ivedesign ────────────────────────────────────────── +output "crea8ivedesign_wif_provider" { + description = "WIF_PROVIDER for crea8ivedesign repo GitHub secrets" + value = module.apps.crea8ivedesign_wif_provider +} + +output "crea8ivedesign_gcp_sa_email" { + description = "GCP_SA_EMAIL for crea8ivedesign repo GitHub secrets" + value = module.apps.crea8ivedesign_gcp_sa_email +} + +output "crea8ivedesign_hosting_url" { + description = "crea8ivedesign Firebase Hosting URL" + value = module.apps.crea8ivedesign_hosting_url +} + +output "crea8ivedesign_custom_domain" { + description = "crea8ivedesign custom domain" + value = module.apps.crea8ivedesign_custom_domain +} + +output "crea8ivedesign_required_dns" { + description = "DNS records required at the registrar to verify and serve the crea8ivedesign custom domain" + value = module.apps.crea8ivedesign_required_dns +}