Events¶
The DevOps / GitOps Platform is event-driven end to end. Every state change emits a fact in the canonical event envelope; every action begins as a command. Names follow the naming conventions: commands are VerbNoun, events are NounVerbPastTense.
Target Architecture — Final-State Design
The events below form the platform's contract with the rest of the factory. Integration events are versioned and consumed cross-platform; domain events stay within the platform.
Commands¶
| Command | Target Aggregate | Result Event |
|---|---|---|
ProvisionRepository |
Repository | RepositoryProvisioned |
CreateBranch |
Branch | BranchCreated |
CreateCommit |
Commit | CommitCreated |
OpenPullRequest |
PullRequest | PullRequestOpened |
MergePullRequest |
PullRequest | PullRequestMerged |
GeneratePipeline |
PipelineDefinition | PipelineGenerated |
RunPipeline |
PipelineRun | PipelineRunStarted |
PlanRelease |
ReleasePlan | ReleasePlanned |
ApproveRelease |
ReleaseApproval | ReleaseApproved |
PromoteDeployment |
EnvironmentPromotion | DeploymentPromoted |
ProvisionInfrastructure |
InfrastructurePlan | InfrastructureProvisioned |
SyncGitOps |
GitOpsSyncState | GitOpsSynced |
Domain Events¶
Emitted by aggregates after a state change and published within the platform:
RepositoryProvisioned— a repository is ready for commits.BranchCreated— a branch exists from a base commit.CommitCreated— generated artifacts are committed to a branch.PullRequestOpened— a PR is open and awaiting checks/policy.PullRequestMerged— a PR is merged into its target branch.PipelineGenerated— a YAML pipeline definition is generated.PipelineRunStarted— a pipeline run has begun on Azure DevOps.BuildCompleted— a build (with test results and artifacts) finished.ReleasePlanned— a release plan exists, pending approval.ReleaseApproved— a release passed policy and approval gates.DeploymentPromoted— a release was promoted to an environment.InfrastructureProvisioned— Pulumi applied the desired infrastructure.GitOpsSynced— running state was reconciled with Git desired state.PackagePublished— a NuGet package was published to Azure Artifacts.ContainerImageBuilt— a container image was pushed to ACR.DeploymentManifestRendered— a deployment manifest was rendered and versioned.
Integration Events¶
The following are promoted to versioned cross-platform integration events, consumed by Knowledge, Observability, Runtime & Cloud, and Governance:
| Integration Event | Consumers | Purpose |
|---|---|---|
RepositoryProvisioned |
Knowledge, Observability | Register repository lineage. |
CommitCreated |
Knowledge, Observability | Tie commit to originating artifact. |
PullRequestOpened / PullRequestMerged |
Governance, Observability | Track review and merge governance. |
PipelineGenerated |
Knowledge | Record generated CI/CD definition. |
PipelineRunStarted |
Observability | Trace build execution. |
BuildCompleted |
Observability, Marketplace | Build status and quality signals. |
ReleasePlanned / ReleaseApproved |
Governance, Observability | Release governance and audit. |
DeploymentPromoted |
Runtime & Cloud, Observability | Drive runtime reconciliation. |
InfrastructureProvisioned |
Runtime & Cloud, Governance | Record infra desired state. |
GitOpsSynced |
Runtime & Cloud, Observability | Confirm convergence. |
Canonical Envelope¶
All events use the canonical envelope. Example for DeploymentPromoted:
{
"eventId": "evt-d4a90c11-7f33-4b2e-9c01-6a2b3c4d5e6f",
"eventType": "DeploymentPromoted",
"tenantId": "connectsoft",
"projectId": "proj-booking-saas",
"moduleId": "module-reservations-api",
"traceId": "trace-9f1c2b7d",
"correlationId": "corr-3a6e1d40",
"causationId": "evt-releaseapproved-66a1",
"occurredAt": "2026-06-11T18:22:05Z",
"payload": {
"releaseId": "rel-3120",
"version": "1.4.0",
"environment": "staging",
"strategy": "RollingUpdate",
"deploymentManifestId": "man-7c5e"
}
}
Selected fields are mirrored to Azure Service Bus application properties (cs-event-type, cs-tenant-id, cs-trace-id, cs-correlation-id) for subscription filtering without deserialization.
Topics¶
Events are published to Azure Service Bus topics named per bounded context, with subscriptions per consumer:
| Topic | Events |
|---|---|
devops.source-control |
RepositoryProvisioned, BranchCreated, CommitCreated, PullRequestOpened, PullRequestMerged |
devops.pipelines |
PipelineGenerated, PipelineRunStarted, BuildCompleted |
devops.packaging |
PackagePublished, ContainerImageBuilt |
devops.release |
ReleasePlanned, ReleaseApproved, DeploymentManifestRendered, DeploymentPromoted |
devops.infrastructure |
InfrastructureProvisioned |
devops.gitops |
GitOpsSynced |
Event-Flow Diagram¶
flowchart LR
RepositoryProvisioned --> CommitCreated
CommitCreated --> PullRequestOpened
PullRequestOpened --> PullRequestMerged
PullRequestMerged --> PipelineGenerated
PipelineGenerated --> PipelineRunStarted
PipelineRunStarted --> BuildCompleted
BuildCompleted --> ReleasePlanned
ReleasePlanned --> ReleaseApproved
ReleaseApproved --> InfrastructureProvisioned
ReleaseApproved --> DeploymentPromoted
InfrastructureProvisioned --> GitOpsSynced
DeploymentPromoted --> GitOpsSynced
Pillar Alignment¶
- Traceability —
traceIdandcausationIdchain every event from repository provisioning to GitOps convergence. - Governance —
ReleaseApprovedis the immutable record gating promotion. - Observability — the full stream feeds dashboards and feedback loops.