Skip to content

GCP account onboarding with CTL

Use this guide when your hosted plan or BYOA plan deploys to Google Cloud.

Region model

GCP account configs do not use bindings. Once the account is verified and READY, the same account config can be reused across supported GCP regions. Pick the target region during deployment creation.

Prerequisites

  • A GCP project ID and project number.
  • Permission to run the Omnistrate bootstrap command in Google Cloud Shell for that project.
  • omnistrate-ctl installed and logged in.

Hosted flow

1. Register the hosted account config

For GCP, use --skip-wait because the account cannot become READY until the bootstrap command is executed in Google Cloud Shell.

omnistrate-ctl account create gcp-hosted \
  --gcp-project-id my-project \
  --gcp-project-number 123456789012 \
  --skip-wait

2. Copy the bootstrap shell command

omnistrate-ctl account describe gcp-hosted

In the account TUI:

  • Select Actions -> Bootstrap.
  • Press c to copy the bootstrap shell command.
  • Paste that command into Google Cloud Shell and run it.

3. Wait for the account to become ready

After the bootstrap command succeeds, rerun:

omnistrate-ctl account describe gcp-hosted

Continue until the account status is READY.

4. Create the first hosted deployment

omnistrate-ctl instance create \
  --service <service> \
  --environment <environment> \
  --plan <hosted-plan> \
  --resource <resource> \
  --cloud-provider gcp \
  --region us-central1 \
  --param-file ./params.json

BYOA flow

1. Create the customer onboarding instance

omnistrate-ctl account customer create \
  --service <service> \
  --environment <environment> \
  --plan <byoa-plan> \
  --gcp-project-id my-project \
  --gcp-project-number 123456789012 \
  --skip-wait

In production environments, the command uses the calling user's subscription by default. Add --subscription-id or --customer-email only if you need to onboard on behalf of a different production subscription.

2. Find the backing account config and run the bootstrap command

omnistrate-ctl account customer describe <customer-account-instance-id> -o json

Copy summary.accountConfigID, then open the backing account config:

omnistrate-ctl account describe <account-config-id>

Select Actions -> Bootstrap, copy the Cloud Shell command, and run it in the target customer project.

3. Verify the customer onboarding instance

omnistrate-ctl account customer describe <customer-account-instance-id>
omnistrate-ctl account customer list --cloud-provider gcp

4. Create the BYOA deployment

omnistrate-ctl instance create \
  --service <service> \
  --environment <environment> \
  --plan <byoa-plan> \
  --resource <resource> \
  --cloud-provider gcp \
  --region us-central1 \
  --customer-account-id <customer-account-instance-id> \
  --param-file ./params.json

Update and delete

GCP does not require account-level updates to add regions. Reuse the same account config and choose a different deployment region when you create the instance.

Useful lifecycle commands:

# Inspect all customer GCP onboarding instances
omnistrate-ctl account customer list --cloud-provider gcp

# Delete a customer onboarding instance
omnistrate-ctl account customer delete <customer-account-instance-id>