Skip to content

DevOps / GitOps — events

Generated from the architecture model

This page is rendered from model/**/*.yaml by tools/docs_model during mkdocs build. Edit the YAML, not this page; hand-written design lives on the linked service, platform and plane pages.

Topics follow context.area.vN.event-name (ADR-0012 port, ADR-0014 envelope). The context segment is the producing bounded context's slug.

Event Producer Topic Scope Consumers
PromotionRequested EnvironmentPromotionService releases.promotions.v1.promotion-requested integration 3
PromotionApproved EnvironmentPromotionService releases.promotions.v1.promotion-approved integration 3
PromotionCompleted EnvironmentPromotionService releases.promotions.v1.promotion-completed integration 8
PromotionFailed EnvironmentPromotionService releases.promotions.v1.promotion-failed integration 6
RollbackCompleted EnvironmentPromotionService releases.promotions.v1.rollback-completed integration 5
ChangeProposalOpened PipelineExecutionService pipelines.proposals.v1.change-proposal-opened integration 4
ChangeProposalStateChanged PipelineExecutionService pipelines.proposals.v1.change-proposal-state-changed integration 3
ChangeProposalMerged PipelineExecutionService pipelines.proposals.v1.change-proposal-merged integration 7
PipelineRunStarted PipelineExecutionService pipelines.runs.v1.pipeline-run-started integration 2
PipelineRunCompleted PipelineExecutionService pipelines.runs.v1.pipeline-run-completed integration 7
ReleaseCreated ReleaseService releases.products.v1.release-created integration 3
ReleaseReady ReleaseService releases.products.v1.release-ready integration 5
ReleaseWithdrawn ReleaseService releases.products.v1.release-withdrawn integration 3

PromotionRequested

A promotion was requested; gates are evaluating.

Producer EnvironmentPromotionService (BC-24 Package & Release Delivery)
Scope / version integration / v1
Topic releases.promotions.v1.promotion-requested
Aggregate Promotion
Consumers StudioBff, AuditService, DashboardService
Field Type Required Description
promotionId guid yes
tenantId string yes
projectId string yes
releaseId guid yes
environmentId string yes
environmentClass string yes
runId guid no

PromotionApproved

Gates passed and (for production) the approval was granted; desired state is handed to provisioning.

Producer EnvironmentPromotionService (BC-24 Package & Release Delivery)
Scope / version integration / v1
Topic releases.promotions.v1.promotion-approved
Aggregate Promotion
Consumers IaCProvisioningService, StudioBff, AuditService
Field Type Required Description
promotionId guid yes
tenantId string yes
releaseId guid yes
environmentId string yes
strategy enum:Strategy yes
desiredStateRef string yes
approvalId guid no

PromotionCompleted

The release is running and verified in the environment.

Producer EnvironmentPromotionService (BC-24 Package & Release Delivery)
Scope / version integration / v1
Topic releases.promotions.v1.promotion-completed
Aggregate Promotion
Consumers FleetRolloutService, FleetInventoryService, RunControlService, EnvironmentService, StudioBff, AuditService, DashboardService, StudioNotificationService
Field Type Required Description
promotionId guid yes
tenantId string yes
projectId string yes
releaseId guid yes
environmentId string yes
environmentClass string yes
previousReleaseId guid no

PromotionFailed

Provisioning or verification failed.

Producer EnvironmentPromotionService (BC-24 Package & Release Delivery)
Scope / version integration / v1
Topic releases.promotions.v1.promotion-failed
Aggregate Promotion
Consumers FleetRolloutService, RunControlService, StudioBff, AuditService, AlertRuleService, DashboardService
Field Type Required Description
promotionId guid yes
tenantId string yes
releaseId guid yes
environmentId string yes
reason string yes
rolledBack bool yes

RollbackCompleted

The previous release is back in the environment.

Producer EnvironmentPromotionService (BC-24 Package & Release Delivery)
Scope / version integration / v1
Topic releases.promotions.v1.rollback-completed
Aggregate Promotion
Consumers FleetInventoryService, EnvironmentService, StudioBff, AuditService, AlertRuleService
Field Type Required Description
promotionId guid yes
tenantId string yes
environmentId string yes
releaseId guid yes
restoredReleaseId guid yes

ChangeProposalOpened

A Factory change set is a branch and pull request in the system of record.

Producer PipelineExecutionService (BC-23 Source & Pipelines)
Scope / version integration / v1
Topic pipelines.proposals.v1.change-proposal-opened
Aggregate ChangeProposal
Consumers RunControlService, StudioBff, AuditService, DashboardService
Field Type Required Description
proposalId guid yes
tenantId string yes
projectId string yes
runId guid yes
repository string yes
pullRequestRef string no

ChangeProposalStateChanged

Review or pull-request state changed.

Producer PipelineExecutionService (BC-23 Source & Pipelines)
Scope / version integration / v1
Topic pipelines.proposals.v1.change-proposal-state-changed
Aggregate ChangeProposal
Consumers RunControlService, StudioBff, DashboardService
Field Type Required Description
proposalId guid yes
tenantId string yes
runId guid yes
fromState enum:ProposalState yes
toState enum:ProposalState yes

ChangeProposalMerged

The proposal was merged; the merged commit is known.

Producer PipelineExecutionService (BC-23 Source & Pipelines)
Scope / version integration / v1
Topic pipelines.proposals.v1.change-proposal-merged
Aggregate ChangeProposal
Consumers GenerationRecipeService, RunControlService, ReleaseService, RepositoryIntelligenceService, StudioBff, AuditService, FeedbackService
Field Type Required Description
proposalId guid yes
tenantId string yes
projectId string yes
runId guid yes
mergedCommit string yes

PipelineRunStarted

A pipeline run started in the system of record.

Producer PipelineExecutionService (BC-23 Source & Pipelines)
Scope / version integration / v1
Topic pipelines.runs.v1.pipeline-run-started
Aggregate PipelineRun
Consumers StudioBff, DashboardService
Field Type Required Description
pipelineRunId guid yes
tenantId string yes
projectId string yes
commit string yes
proposalId guid no

PipelineRunCompleted

A pipeline run completed with typed results.

Producer PipelineExecutionService (BC-23 Source & Pipelines)
Scope / version integration / v1
Topic pipelines.runs.v1.pipeline-run-completed
Aggregate PipelineRun
Consumers TemplateRegistryService, ReleaseService, RunControlService, StudioBff, DashboardService, AuditService, QualityScoreService
Field Type Required Description
pipelineRunId guid yes
tenantId string yes
projectId string yes
commit string yes
state enum:PipelineRunState yes
results json yes

ReleaseCreated

A candidate release exists.

Producer ReleaseService (BC-24 Package & Release Delivery)
Scope / version integration / v1
Topic releases.products.v1.release-created
Aggregate ProductRelease
Consumers StudioBff, AuditService, DashboardService
Field Type Required Description
releaseId guid yes
tenantId string yes
projectId string yes
productId string yes
version string yes
commit string yes

ReleaseReady

Every component has publication evidence; the release may be promoted.

Producer ReleaseService (BC-24 Package & Release Delivery)
Scope / version integration / v1
Topic releases.products.v1.release-ready
Aggregate ProductRelease
Consumers FleetRolloutService, EnvironmentPromotionService, StudioBff, AuditService, StudioNotificationService
Field Type Required Description
releaseId guid yes
tenantId string yes
projectId string yes
productId string yes
version string yes
components json yes

ReleaseWithdrawn

A release was withdrawn.

Producer ReleaseService (BC-24 Package & Release Delivery)
Scope / version integration / v1
Topic releases.products.v1.release-withdrawn
Aggregate ProductRelease
Consumers EnvironmentPromotionService, StudioBff, AuditService
Field Type Required Description
releaseId guid yes
tenantId string yes
productId string yes
version string yes
reason string yes

Commands

Command Service Handled by Result events Summary
RequestPromotion EnvironmentPromotionService Promotion PromotionRequested
RollbackPromotion EnvironmentPromotionService Promotion RollbackCompleted
OpenChangeProposal PipelineExecutionService ChangeProposal ChangeProposalOpened
ReconcilePipelineRun PipelineExecutionService PipelineRun PipelineRunCompleted
CreateProductRelease ReleaseService ProductRelease ReleaseCreated
WithdrawProductRelease ReleaseService ProductRelease ReleaseWithdrawn

Consumed from other services

Consumer Event Producer Handler Purpose
EnvironmentPromotionService ReleaseReady ReleaseService EnablePromotion Only ready releases are promotable.
EnvironmentPromotionService ReleaseWithdrawn ReleaseService BlockPromotion Reject pending promotions of a withdrawn release.
EnvironmentPromotionService ApprovalDecided RunControlService ApplyApproval Production promotions wait for the bound approval.
EnvironmentPromotionService EnvironmentStateChanged EnvironmentService GateEnvironment The EnvironmentReady gate and completion tracking.
EnvironmentPromotionService ProvisioningApplied IaCProvisioningService StartVerification Provisioning reports the desired state applied.
EnvironmentPromotionService ProvisioningFailed IaCProvisioningService FailPromotion Provisioning reports failure.
PipelineExecutionService DeliveryReceived ConnectorRegistryService ApplyDelivery Verified webhooks from Azure DevOps and GitHub: push, pull request, review, pipeline run events.
PipelineExecutionService ArtifactValidated ArtifactService LinkValidation Local validator results of a change set before it is proposed.
ReleaseService PipelineRunCompleted PipelineExecutionService AssembleFromRun A succeeded run on a release branch or tag assembles a candidate with its images, packages, SBOM and attestations.
ReleaseService ChangeProposalMerged PipelineExecutionService LinkProposal Proposals merged since the last release become part of the next.