Skip to content

Install

Before the first install, create and select a context:

Terminal window
sprig init

Run this from an interactive terminal. It starts device-code sign-in and guides you through the greenfield target. Configure SPRIG_CLIENT_ID with the operator’s registered public client ID before using device code. For explicit or non-interactive setup, use the supported init flags and authentication modes in the operator CLI reference.

sprig infra install preflights the target, shows a plan, requests confirmation, and then provisions the platform. The operator fails before contacting Azure if the required version, digest-pinned image inputs, or both pull-only release credential variables are missing, and names what to set.

Terminal window
sprig infra install --prefix <prefix> --region <azure-region> \
--platform-vnet-cidr <cidr> \
--domain <apps-domain> --acme-email <ops-contact-email> \
--acme-env production

Choose a non-overlapping platform CIDR before installation. Omit --platform-vnet-cidr to use the new-install default, 10.240.0.0/24. The installer creates vnet-<prefix>-platform and a dedicated delegated Container Apps subnet. Ingress remains external: this does not create peering, private endpoints, NAT Gateway, NSGs, firewall rules, private DNS, or an internal-only environment.

--domain and --acme-email must be supplied together. --acme-env defaults to production when a domain is supplied; use staging only to rehearse certificate issuance with an untrusted certificate.

The displayed domain-serving path also requires SPRIG_GATEWAY_IMAGE to be a digest-pinned gateway image. If it is omitted, the base platform, DNS zone, and Acmebot can still install, but no gateway serves the domain: gateway identity, authentication, certificate binding, and admin console availability are deferred. Set the gateway image and run sprig infra upgrade to complete the served domain.

The install is idempotent. Re-run the same command to converge a partial or changed installation after correcting the reported preflight issue.

Run upgrades with the same prefix and region:

Terminal window
sprig infra upgrade --prefix <prefix> --region <azure-region>

For a VNet-based installation, omit --platform-vnet-cidr to reuse its live CIDR. Supplying a different value is refused because Azure Container Apps cannot change its environment network attachment or delegated subnet in place. See Upgrades and the Installer reference for the full flag reference.