oms beta bootstrap-gcp
Generated from OMS version v2.113.0.
Bootstrap GCP infrastructure for Codesphere
Synopsis
Bootstraps GCP infrastructure required to run Codesphere clusters on GCP. This includes setting up projects, service accounts, and necessary IAM roles. Depending on your setup, additional configuration may be required after bootstrapping. Ensure you have the necessary permissions to create and manage GCP resources before proceeding. Not for production use.
oms beta bootstrap-gcp [flags]
Options
--acme-staging Use the Let's Encrypt staging ACME endpoint (certificates are not browser-trusted)
--airgapped Set up an airgapped installation: run a local container registry on the jumpbox, copy the package images into it and point the install config at it. Selects the local-container registry type and fails if another --registry-type is given. (default: false)
--azure-devops-app-client-id string Azure DevOps App Client ID (optional)
--azure-devops-app-client-secret string Azure DevOps App Client Secret (optional)
--base-domain string Base domain for Codesphere (required)
--billing-account string GCP Billing Account ID (required)
--bitbucket-app-client-id string Bitbucket App Client ID (optional)
--bitbucket-app-client-secret string Bitbucket App Client Secret (optional)
--central-otel-endpoint string Central OpenTelemetry collector endpoint. Needed when sending spans to central collector (optional)
--central-otel-password string Central OpenTelemetry password. Needed when sending spans to central collector (optional)
--central-otel-span-metrics Enable span metrics in Central OpenTelemetry export (default: false)
--central-otel-username string Central OpenTelemetry username. Needed when sending spans to central collector (optional)
--cluster-admin-email string Email address of the initial cluster admin. Written to the install config and applied as the cluster-admin-email secret before the Codesphere platform is installed (optional)
--create-test-user Create a test user with API token on the bootstrapped instance for smoke testing (default: false)
--custom-pg-ip string Custom PostgreSQL IP (optional)
--datacenter-id int Datacenter ID (default: 1) (default 1)
--datacenter-name string Datacenter name (default: dev) (default "dev")
--dns-project-id string GCP Project ID for Cloud DNS (optional)
--dns-zone-name string Cloud DNS Zone Name (optional) (default "oms-testing")
--external-loki-endpoint string External Loki endpoint for Grafana Alloy log forwarding (optional)
--external-loki-secret string External Loki password stored in the generated vault (optional)
--external-loki-user string External Loki username for Grafana Alloy log forwarding (optional)
--feature-flags stringArray Feature flags to enable in Codesphere installation (optional)
--folder-id string GCP Folder ID (optional)
--github-app-client-id string GitHub App Client ID (required)
--github-app-client-secret string GitHub App Client Secret (required)
--github-app-name string GitHub App Name (optional)
--github-pat string GitHub Personal Access Token used for direct image access and fetching team SSH keys. Required when using --github-team-org/--github-team-slug, and for the local-container registry type when installing Codesphere. Required scopes: read:packages, read:org.
--github-team-org string GitHub organization used to fetch team SSH keys (optional, used with --github-team-slug). Requires --github-pat with at least the read:org scope.
--github-team-slug string GitHub team slug used to fetch team SSH keys (optional, used with --github-team-org). Requires --github-pat with at least the read:org scope.
--gitlab-app-client-id string GitLab App Client ID (optional)
--gitlab-app-client-secret string GitLab App Client Secret (optional)
--google-acme-issuer Use Google Public CA as the ACME issuer instead of Let's Encrypt. External Account Binding credentials are obtained automatically via the publicca API (default: false)
-h, --help help for bootstrap-gcp
--install-config string Path to install config file (optional) (default "config.yaml")
--install-hash string Codesphere package hash to install (default: none)
--install-local string Install Codesphere from local package (default: none)
-s, --install-skip-steps stringArray Installation steps to skip during Codesphere installation (optional)
--install-version string Codesphere version to install (default: none)
--internal-flags stringArray Internal flags to enable in Codesphere installation (optional) (default [headless-services,vcluster,custom-service-image,ms-in-ls])
--k0s-version string K0s version to use for bootstrapping (optional) (default "v1.31.14+k0s.0")
--local-trace-endpoint string Endpoint for exporting traces to an in-cluster storage (optional)
--multi-dc Bootstrap two data centers that share one PostgreSQL server but run separate Kubernetes and Ceph clusters. Doubles the Ceph and k0s nodes to 14 VMs (~100 vCPUs) and reserves 6 static IPs, so the region's CPU quota may need raising. Cannot be combined with --datacenter-id. (default: false)
--oidc-client-id string OIDC OAuth provider Client ID (optional)
--oidc-client-secret string OIDC OAuth provider Client Secret (optional)
--oidc-issuer-url string OIDC OAuth provider issuer URL (optional)
--oidc-provider-name string OIDC OAuth provider display name (optional)
--openbao-engine string OpenBao engine name (default: cs-secrets-engine) (default "cs-secrets-engine")
--openbao-password string OpenBao password (optional)
--openbao-uri string URI for OpenBao (optional)
--openbao-user string OpenBao username (optional) (default "admin")
--pc-apps-values stringArray pc-apps values YAML file passed unchanged to the Codesphere installation (can be specified multiple times, optional)
--preemptible Use preemptible VMs for Codesphere infrastructure. Mutually exclusive with --spot-vms (default: false)
--preview-flags stringArray Preview flags to enable in Codesphere installation (optional) (default [openfga-authz,cluster-admin,secret-management,sub-path-mount,workspace-ssh,virtual-machines])
--project-name string Unique GCP Project Name (required)
--project-ttl string Time to live for the GCP project. Cleanup workflows will remove it afterwards. (default: 2 hours) (default "2h")
--prometheus-remote-write-password string Prometheus remote write password stored in the generated vault (optional)
--prometheus-remote-write-url string Prometheus remote write URL (optional)
--prometheus-remote-write-user string Prometheus remote write username (optional)
--recover-config Recover previously generated install config from the jumpbox. This will overwrite the local config! (default: false)
--region string GCP Region (default: europe-west4) (default "europe-west4")
--registry-type string Container registry type to use (options: local-container, artifact-registry, github) (default: github) (default "github")
--registry-user string Registry username for ghcr.io. Required for the GitHub registry type, and for the local-container registry type when installing Codesphere, where it is used with --github-pat to mirror the Codesphere images into the local container registry (optional)
--remote-oms-binary string Path to a local Linux amd64 OMS binary to copy to and use on the jumpbox instead of downloading a release (optional)
--root-disk-size int Instance root disk size in GB (default: 50) (default 50)
--secrets-dir string Directory for secrets (default: /etc/codesphere/secrets) (default "/etc/codesphere/secrets")
--secrets-file string Path to secrets files (optional) (default "prod.vault.yaml")
--spot-vms Use Spot VMs for Codesphere infrastructure. Falls back to standard VMs if spot capacity unavailable. Mutually exclusive with --preemptible (default: false)
--ssh-private-key-path string SSH Private Key Path (default: ~/.ssh/id_rsa) (default "~/.ssh/id_rsa")
--ssh-public-key-path string SSH Public Key Path (default: ~/.ssh/id_rsa.pub) (default "~/.ssh/id_rsa.pub")
--ssh-quiet Suppress SSH command output (default: false)
--timer Show how long each step took after it finishes
--write-config Write generated install config to file (default: true) (default true)
--zone string GCP Zone (default: europe-west4-a) (default "europe-west4-a")
Options inherited from parent commands
--verbose Enable verbose output
SEE ALSO
- oms beta - Commands for early testing
- oms beta bootstrap-gcp cleanup - Clean up GCP infrastructure created by bootstrap-gcp
- oms beta bootstrap-gcp postconfig - Run post-configuration steps for GCP bootstrapping
- oms beta bootstrap-gcp restart-vms - Restart stopped or terminated GCP VMs