/expapp

Primary LanguageJavaScript

Enable GCP APIs

  • Artifact Registry API
  • Cloud Run API
  • Cloud DNS API
  • Compute Engine API
  • Identity and Access Management (IAM) API

GCP

  • Manually create DNS zone
  • Manually create service account for deploying via Pulumi
  • Manually create Artifact Registry repo

GCP Service Account Permissions

  • Artifact Registry Administrator (roles/artifactregistry.admin)
  • Cloud Run Admin (roles/run.admin)
  • Compute Load Balancer Admin (roles/compute.loadBalancerAdmin)
  • Compute Network Admin (roles/compute.networkAdmin)
  • DNS Administrator (roles/dns.admin)
  • Service Account Admin (roles/iam.serviceAccountAdmin))
  • Service Account Token Creator (roles/iam.serviceAccountTokenCreator)
  • Service Account User (roles/iam.serviceAccountUser)

Pulumi

  • Create Pulumi account & organization
  • Create Pulumi access token

Github Secrets

  • GOOGLE_CREDENTIALS - service account key in JSON format
  • DOCKER_REGISTRY - location of GAR repo
  • PULUMI_ACCESS_TOKEN
  • DISCORD_WEBHOOK_URL

References

TODO

  • Static IP
  • Check stack exists (stack manager github action)
  • Cleanup outdated main images