Skip to content

Runtime Cloud — 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
SpecificationDeclared IaCProvisioningService provisioning.specifications.v1.specification-declared integration 3
ProvisioningPlanned IaCProvisioningService provisioning.runs.v1.provisioning-planned integration 3
ProvisioningApplied IaCProvisioningService provisioning.runs.v1.provisioning-applied integration 7
ProvisioningFailed IaCProvisioningService provisioning.runs.v1.provisioning-failed integration 5
WorkerPoolStateChanged ExecutionCapacityService capacity.pools.v1.worker-pool-state-changed integration 3
QuotaChanged ExecutionCapacityService capacity.quotas.v1.quota-changed integration 3
QuotaExceeded ExecutionCapacityService capacity.quotas.v1.quota-exceeded integration 4
CapacityLeaseGranted ExecutionCapacityService capacity.leases.v1.capacity-lease-granted integration 2
CapacityLeaseReleased ExecutionCapacityService capacity.leases.v1.capacity-lease-released integration 2
ObservedStateChanged RuntimeEnvironmentService provisioning.inventory.v1.observed-state-changed integration 6
RuntimeDriftDetected RuntimeEnvironmentService provisioning.inventory.v1.runtime-drift-detected integration 4
ReconciliationProposed RuntimeEnvironmentService provisioning.inventory.v1.reconciliation-proposed integration 3
ReconciliationDecided RuntimeEnvironmentService provisioning.inventory.v1.reconciliation-decided integration 3

SpecificationDeclared

A desired-state version exists for an environment.

Producer IaCProvisioningService (BC-25 Provisioning & Reconciliation)
Scope / version integration / v1
Topic provisioning.specifications.v1.specification-declared
Aggregate DeploymentSpecification
Consumers RuntimeEnvironmentService, StudioBff, AuditService
Field Type Required Description
specificationId guid yes
tenantId string yes
environmentId string yes
kind enum:SpecificationKind yes
version int yes
programVersion string yes

ProvisioningPlanned

A plan exists (adds, changes, deletes) and may await approval.

Producer IaCProvisioningService (BC-25 Provisioning & Reconciliation)
Scope / version integration / v1
Topic provisioning.runs.v1.provisioning-planned
Aggregate ProvisioningRun
Consumers StudioBff, AuditService, EnvironmentPromotionService
Field Type Required Description
provisioningRunId guid yes
tenantId string yes
environmentId string yes
kind enum:ProvisioningKind yes
promotionId guid no
planSummary json yes

ProvisioningApplied

The desired state was applied; outputs are recorded.

Producer IaCProvisioningService (BC-25 Provisioning & Reconciliation)
Scope / version integration / v1
Topic provisioning.runs.v1.provisioning-applied
Aggregate ProvisioningRun
Consumers ExecutionCapacityService, EnvironmentPromotionService, RuntimeEnvironmentService, EnvironmentService, StudioBff, AuditService, DashboardService
Field Type Required Description
provisioningRunId guid yes
tenantId string yes
projectId string yes
environmentId string yes
kind enum:ProvisioningKind yes
promotionId guid no
specificationVersion int yes
outputs json yes

ProvisioningFailed

The apply failed; the receipt names the failing resource.

Producer IaCProvisioningService (BC-25 Provisioning & Reconciliation)
Scope / version integration / v1
Topic provisioning.runs.v1.provisioning-failed
Aggregate ProvisioningRun
Consumers EnvironmentPromotionService, RuntimeEnvironmentService, StudioBff, AuditService, AlertRuleService
Field Type Required Description
provisioningRunId guid yes
tenantId string yes
environmentId string yes
kind enum:ProvisioningKind yes
promotionId guid no
reason string yes

WorkerPoolStateChanged

A pool changed state or size.

Producer ExecutionCapacityService (BC-26 Execution Capacity)
Scope / version integration / v1
Topic capacity.pools.v1.worker-pool-state-changed
Aggregate WorkerPool
Consumers StudioBff, SloService, AlertRuleService
Field Type Required Description
poolId string yes
tenantId string yes
kind enum:PoolKind yes
fromState enum:PoolState yes
toState enum:PoolState yes
currentSize int yes

QuotaChanged

An effective quota changed.

Producer ExecutionCapacityService (BC-26 Execution Capacity)
Scope / version integration / v1
Topic capacity.quotas.v1.quota-changed
Aggregate Quota
Consumers RunControlService, StudioBff, AuditService
Field Type Required Description
quotaId guid yes
tenantId string yes
projectId string no
concurrentRuns int yes
concurrentSandboxes int yes

QuotaExceeded

A lease was denied by a quota; the holder waits.

Producer ExecutionCapacityService (BC-26 Execution Capacity)
Scope / version integration / v1
Topic capacity.quotas.v1.quota-exceeded
Aggregate Quota
Consumers RunControlService, StudioBff, DashboardService, CostUsageService
Field Type Required Description
tenantId string yes
projectId string yes
holderKind string yes
holderId string yes
limit string yes

CapacityLeaseGranted

Capacity was granted in a pool.

Producer ExecutionCapacityService (BC-26 Execution Capacity)
Scope / version integration / v1
Topic capacity.leases.v1.capacity-lease-granted
Aggregate CapacityLease
Consumers DashboardService, CostUsageService
Field Type Required Description
leaseId guid yes
tenantId string yes
holderKind string yes
holderId string yes
poolId string yes
expiresAt datetime yes

CapacityLeaseReleased

Capacity was released or expired.

Producer ExecutionCapacityService (BC-26 Execution Capacity)
Scope / version integration / v1
Topic capacity.leases.v1.capacity-lease-released
Aggregate CapacityLease
Consumers DashboardService, CostUsageService
Field Type Required Description
leaseId guid yes
tenantId string yes
holderKind string yes
holderId string yes
poolId string yes
state enum:LeaseState yes
executionSeconds long yes

ObservedStateChanged

An environment's observed state changed (versions, replicas, health, staleness).

Producer RuntimeEnvironmentService (BC-25 Provisioning & Reconciliation)
Scope / version integration / v1
Topic provisioning.inventory.v1.observed-state-changed
Aggregate RuntimeInventory
Consumers FleetInventoryService, EnvironmentService, EnvironmentPromotionService, SloService, StudioBff, DashboardService
Field Type Required Description
environmentId string yes
tenantId string yes
projectId string yes
currentReleaseId guid no
changes json yes
stale bool yes

RuntimeDriftDetected

Observed state differs from the declared specification.

Producer RuntimeEnvironmentService (BC-25 Provisioning & Reconciliation)
Scope / version integration / v1
Topic provisioning.inventory.v1.runtime-drift-detected
Aggregate DriftFinding
Consumers AlertRuleService, StudioBff, AuditService, DashboardService
Field Type Required Description
findingId guid yes
tenantId string yes
environmentId string yes
kind enum:DriftKind yes
resource string yes

ReconciliationProposed

A reviewable reconciliation awaits an Operator.

Producer RuntimeEnvironmentService (BC-25 Provisioning & Reconciliation)
Scope / version integration / v1
Topic provisioning.inventory.v1.reconciliation-proposed
Aggregate ReconciliationProposal
Consumers StudioBff, StudioNotificationService, AuditService
Field Type Required Description
proposalId guid yes
tenantId string yes
environmentId string yes
direction string yes
destructive bool yes

ReconciliationDecided

A proposal was accepted (provisioning run planned) or rejected.

Producer RuntimeEnvironmentService (BC-25 Provisioning & Reconciliation)
Scope / version integration / v1
Topic provisioning.inventory.v1.reconciliation-decided
Aggregate ReconciliationProposal
Consumers IaCProvisioningService, StudioBff, AuditService
Field Type Required Description
proposalId guid yes
tenantId string yes
environmentId string yes
state enum:ProposalState yes
provisioningRunId guid no

Commands

Command Service Handled by Result events Summary
PlanProvisioning IaCProvisioningService ProvisioningRun ProvisioningPlanned
CancelProvisioning IaCProvisioningService ProvisioningRun
SetWorkerPool ExecutionCapacityService WorkerPool WorkerPoolStateChanged
SetQuota ExecutionCapacityService Quota QuotaChanged
ObserveEnvironment RuntimeEnvironmentService RuntimeInventory ObservedStateChanged
DecideReconciliation RuntimeEnvironmentService ReconciliationProposal ReconciliationDecided

Consumed from other services

Consumer Event Producer Handler Purpose
IaCProvisioningService PromotionApproved EnvironmentPromotionService ProvisionPromotion A promotion hands over its desired state; the approval is reused for the production apply.
IaCProvisioningService EnvironmentCreated EnvironmentService ProvisionBaseline A new environment gets its baseline specification planned.
IaCProvisioningService ApprovalDecided RunControlService ApplyApproval Baseline and reconciliation applies in production wait for their approval.
ExecutionCapacityService AttemptOutcomeRecorded RunControlService ReleaseAttemptLease Release the attempt's lease when its outcome is recorded (belt and braces with the worker's release).
ExecutionCapacityService SandboxReleased ToolAdapterService ReleaseSandboxLease Release sandbox capacity.
ExecutionCapacityService ProvisioningApplied IaCProvisioningService PoolProvisioned Pool size changes are applied by provisioning.
RuntimeEnvironmentService SpecificationDeclared IaCProvisioningService TrackDeclared Know the declared version to compare against.
RuntimeEnvironmentService ProvisioningApplied IaCProvisioningService ObserveAfterApply Re-observe right after an apply and resolve findings.
RuntimeEnvironmentService ProvisioningFailed IaCProvisioningService ObserveAfterFailure Capture partial state after a failed apply.