Installer scripts
All scripts live in infra/ and are idempotent.
install.sh
Section titled “install.sh”./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.
add-user.sh <builder-upn>
Section titled “add-user.sh <builder-upn>”Sandbox resource group, scoped Contributor grant to the platform identity, allowed-resource-types policy, metadata registration. See Onboarding.
deploy-platform.sh
Section titled “deploy-platform.sh”Builds the platform (npm), packages, zip-deploys to the Function App, prints the health URL.
smoke.sh
Section titled “smoke.sh”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.