Skip to content

Installer scripts

All scripts live in infra/ and are idempotent.

./install.sh -s <subscriptionId> [-l <location>] [-p <prefix>] \
[-e <budget-email>] [-b <budget-amount>] [-o <ops-upn>] [--what-if]
Flag Default Meaning
-s Target subscription (required)
-l westeurope Region
-p sprig Resource name prefix
-e Budget alert email (budget skipped without it)
-b 200 Monthly budget amount
-o UPN to receive the Ops app role
--what-if Print the full plan; change nothing

Creates the resource layer (Bicep) and the Entra layer, wires the Function App settings, and writes sprig-install.json (non-secret) for builder-machine configuration.

Sandbox resource group, scoped Contributor grant to the platform identity, allowed-resource-types policy, metadata registration. See Onboarding.

Builds the platform (npm), packages, zip-deploys to the Function App, prints the health URL.

Checks: platform resource group, storage, Function App, both platform app registrations, the Graph role grant on the managed identity, and the live health endpoint. Exits non-zero on any failure.