Skip to content

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
Hold "Alt" / "Option" to enable pan & zoom

Pillar Alignment

  • TraceabilitytraceId and causationId chain every event from repository provisioning to GitOps convergence.
  • GovernanceReleaseApproved is the immutable record gating promotion.
  • Observability — the full stream feeds dashboards and feedback loops.