Skip to main content

Staging Environment

The staging environment provides a production-like deployment for testing before releasing to production.

Details

PropertyValue
URLstaging.the-shift.dev
Branchstage
Replicas1
Namespaceshift-platform-staging
ClusterGKE shift-platform in us-central1
StorageConvex (self-hosted, in-cluster)

Deployment

Pushing to the stage branch triggers an automatic deployment via GitHub Actions:

git push origin stage

The CI pipeline will:

  1. Run lint and tests
  2. Build the Docker image
  3. Push to GCP Artifact Registry
  4. Apply the staging Kustomize overlay (k8s/overlays/staging/)
  5. Trigger a rollout in the shift-platform-staging namespace

Staging vs Production

AspectStagingProduction
URLstaging.the-shift.devapp.the-shift.dev
Branchstagemain
Replicas12
Namespaceshift-platform-stagingshift-platform
PurposePre-release validationLive traffic

Verifying

After a deploy, verify the staging environment:

curl https://staging.the-shift.dev/healthz
# {"status":"ok","service":"shift-gateway"}

You can also point the CLI at staging:

shift-cli config set gateway-url https://staging.the-shift.dev
shift-cli status

Kustomize Overlay

The staging overlay (k8s/overlays/staging/) patches the base manifests with:

  • 1 replica (instead of 2)
  • NODE_ENV=staging
  • Staging-specific hostname in the Ingress
  • Staging namespace (shift-platform-staging)