Skip to main content
Manage Bring Your Own Infrastructure provisioning. The lifecycle is init (write the config) → generate (preview the change) → provision (apply it) — see the walkthroughs for the full setup.

init

Interactive wizard — writes the infrastructure config (_infra/synthetiq.yaml):
With AWS credentials, init discovers your VPC, subnets, and issued certificates and writes concrete ids. Without credentials it runs in offline mode and prompts for the values. All flags are optional — they pre-answer the wizard’s prompts. With --yes (non-interactive) there are no prompts, so --domain is required and the certificates must be discoverable in the account or passed via --api-cert-arn / --cdn-cert-arn.

generate

Compute the CloudFormation change sets from the config and write a reviewable changeset file — nothing is executed:
Exit codes match terraform plan -detailed-exitcode: 0 when nothing changed, 2 when changes are pending, 1 on error.

provision

Apply the pending changeset — executes exactly the reviewed change sets, prints the app DNS records, seeds the deploy key, and registers the account as your organization’s deployment target:
Requires a Synthetiq identity holding the infra:provision scope (your login locally, a service account in CI) — init and generate need no Synthetiq identity at all. Refuses to apply when the config changed since generate, when the stack moved underneath the change set, or when the changeset was generated by a different CLI version.

status

Show your organization’s registered deployment target — the result of the most recent provision:
Reports the registration status (ready, provisioning, failed, …) along with the AWS account, domain, and deploy role. Prints No deployment target registered when the organization has never provisioned.

permissions

Print the IAM policy required for provisioning (JSON):
See Permissions for what each stage’s policy contains.