Skip to main content

Deploy to GCP

OGRRE production deployments use three pieces of Google Cloud infrastructure:

LayerSourcePurpose
Terraformorphaned-wells-ui-server/deployment/terraformCreates and manages backend cloud infrastructure, including GKE, upload buckets, static IPs, DNS records, and disabled-by-default legacy VM definitions.
Kubernetes on GKEorphaned-wells-ui-server/deployment/kubernetesRuns one backend workload per collaborator in the shared GKE cluster.
App Engineorphaned-wells-ui/deployment/app-engineServes one frontend App Engine service per public collaborator deployment.

The current backend deployment path is GKE. Terraform still preserves disabled-by-default legacy VM definitions for historical context, but the old VM nginx/Certbot runtime assets have been removed from the backend repo and are available only through Git history.

Standard deployment order​

  1. Confirm the Google Cloud service accounts, MongoDB, and GitHub secrets prerequisites.
  2. Open a fork PR for Terraform infrastructure changes and pass credential-free checks and normal review. After merge to upstream main, enabled CI plans the shared ogrre workspace; plans with changes require approval, while no-change plans finish automatically.
  3. Updated backend workflows read kubernetes_deploy_targets live after successful reconciliation. While automation is disabled for rollout, apply locally and refresh the fallback K8S_DEPLOY_TARGETS secret.
  4. Deploy or update the backend on GKE.
  5. Deploy or update the frontend on App Engine.
  6. Configure DNS, App Engine custom domains, and OAuth entries for the frontend host.
  7. Verify the backend health endpoint, Kubernetes rollout, frontend App Engine service, and OAuth sign-in flow.

Common tasks​