Provisioning and reconciliation¶
Target
This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.
The former catalog split provisioning across IaCProvisioningService, GitOpsSyncService, DeploymentManifestService, RuntimeEnvironmentService, DeploymentService and RuntimeDriftDetectionService. The ownership map assigns all of them to one owner (BC-25): desired deployment specification → plan/apply receipts → observed state → drift.
Responsibilities¶
| Concern | Target behaviour |
|---|---|
| Desired state | Environment and deployment specifications declared in Git; the Factory records the specification version it acted on |
| Plan and apply | IaC program runs (Pulumi, per ADR-0004) produce receipts: inputs, program version, outputs, duration, result; applies against production are approval-gated |
| Observed state | Inventory of what runs where (runtime service inventory), configuration and secret bindings by reference |
| Drift | Detection between desired and observed; reconciliation proposals are reviewable changes, not automatic writes |
| Scope | Factory environments and generated-product environments are separate ownerships; a generated product's runtime is operated by its owner (Generated SaaS pack) |
Evidence for ADR-0004 (verified 2026-10-09)¶
- Zero
.bicepfiles were found across the ConnectSoft repositories (depth 4). ThirteenPulumi.yamlfiles exist. - Template
InfrastructureModelprojects referencePulumi.AzureNative(BaseTemplate, AgentTemplate, ApiGatewayTemplate inspected). - DerechHaLev's AuthServer and Identity services carry
InfrastructureModelPulumi programs withPulumi.yaml,Pulumi.dev.yamlandPulumi.aws-dev.yamlstacks. - Template
Deployment/folders containdocker-composeandkubernetesmanifests, not IaC programs.
Conclusion: ADR-0004 is retained; the Factory home page and the Execution plane may cite Pulumi as the verified IaC of the template estate. CompanyDocumentation's "Bicep" wording is drift for its owner (see the drift register).
Current implementation¶
No Factory provisioning service, receipts or drift detection exist. Infrastructure is provisioned by each repository's own Pulumi program through its pipeline.