Self-Service Provisioning

Trigger the Platform Engineering workflow to provision a new application or update an existing one.

What is this?

This form fires the Provision Infrastructure GitHub Actions workflow on this repository via the repository_dispatch trigger. The workflow runs the full pipeline: Terraform plan + apply against Azure, and — when an Application template repo is provided — GitHub Environments + variables on the application repo, OIDC federated credentials on the platform service principal, and (on first creation) observation of the application's CI workflow.

Leave Application template repo empty to run in infra-only mode: only Azure resources are provisioned; no application repository is created or configured. Useful for Landing Zones and foundational platform components.

Everything you fill below maps 1:1 to a workflow input. The page never persists your token; it stays in your browser memory only for the lifetime of the page.

What gets provisioned

Per environment requested, Terraform creates:

When an application template repo is provided: the app repo from the template, GitHub Environments + variables, the OIDC fed-cred per env, and a tracking issue summarising the run. This phase is skipped when no application template is given.

Configuration applied

Request parameters

3–22 chars, lowercase + digits + hyphens, no leading/trailing hyphen.
Must match ^[a-z0-9][a-z0-9-]{1,20}[a-z0-9]$.
Which environment(s) to provision/reconcile in this run.
Required.

Entra tenant GUID.
Must be a GUID.
GUID, 8-4-4-4-12 hex.
Must be a GUID.
Application (client) ID of the platform service principal.
Must be a GUID.

Infrastructure archetype: Terraform modules + Checkov configs. owner/name.
Format must be owner/name.
Source for the new application repo. owner/name. Leave empty for infra-only provisioning.
Format must be owner/name.
Ignored on reconcile runs. Default placeholder used if blank.
Leave empty for public images / GHCR.
Filename inside the application repo. Default ci.yml.

This repo (auto-detected from the page URL).
Format must be owner/name.
Fine-grained PAT with Contents: write on this repo (or classic repo scope). Kept in browser memory only.
Required.

Preview — equivalent curl

# Fill the form above to see the curl preview