Skip to main content

One-Click Deploy to Azure

For Model A deployments, an ARM/Bicep template automates most of Server Installation — provisioning the App Service, Key Vault, Application Insights, and Managed Identity in one step, with the app settings from Configuration pre-filled.

Deploy to Azure

What it provisions

  • An App Service (Linux, .NET 10) with a System-assigned Managed Identity
  • A Key Vault, with the App Service's identity granted Key Vault Secrets User
  • Application Insights
  • All AzureAd:* and Cet2:* app settings, pre-filled from the parameters you supply

What it deliberately doesn't do

:::info Do these three things first — the button needs them Azure Resource Manager cannot create Entra objects or handle a private key, and this template provisions empty compute. Specifically:

  1. Create the two Entra app registrations (Azure App Registrations) — you need their client IDs as parameters before clicking deploy.
  2. Upload the Graph certificate to Key Vault — done after the template runs, directly against the vault it creates, so the private key never touches a deployment template or its history.
  3. Deploy the application code — the button provisions the App Service shell; the actual CET2 binary is deployed afterwards (via CI/CD or az webapp deploy). :::

Parameters you'll be asked for

ParameterWhat to enter
namePrefixA short, globally-unique prefix, e.g. cet2-contoso
brandNameThe product name shown in the portal — defaults to ClefSoft Endpoint Toolkit. See White-Labelling
portalClientIdThe Portal app registration's client ID
dataClientIdThe Data app registration's client ID
homeTenantIdYour MSP/home Entra tenant ID
bootstrapAdminObjectIdThe Entra object ID to seed as the first Platform Super Administrator
appServiceSkuB1 is a sensible production default; F1 (free) is fine for evaluation

After deployment

The deployment's outputs tell you exactly what's left — the Key Vault name to upload the certificate to, and the App Service hostname to register as a redirect URI. Continue with SSL and DNS and then Tenant Onboarding.

Full parameter reference and the underlying Bicep source live in the public cet2-deploy repository — kept separate from the main CET2 source so the Deploy to Azure button can fetch its template publicly.