Skip to main content

OperatorDeployedPoolReportDto

Namespace: Meshmakers.Octo.Communication.Contracts.DataTransferObjects

Self-healing reverse-sync payload sent by a freshly (re)connected Cloud operator. Each entry lists a pool the operator currently has a healthy helm release for, plus the workload runtime ids whose releases the operator is actively managing inside that pool.

The controller restores DeploymentState=Deployed on every listed pool / workload (when not already Deployed) and rebuilds its per-connection tracking so undeploy fan-out works after the operator restart. Pools / workloads omitted from the report are NOT touched — this is an additive "what I currently own" handshake, not a state diff.

Edge operators must NOT call this contract; the controller's handler rejects with a HubException when the operator's declared AutoManagePools mode is anything other than true. The same guard that gates pool-environment claims (RtPool.Environment == Cloud

  • OperatorMode == Cloud) is enforced per pool inside the loop so a rogue Cloud operator cannot revive Edge-pool state.
public record OperatorDeployedPoolReportDto : IEquatable<OperatorDeployedPoolReportDto>

Inheritance ObjectOperatorDeployedPoolReportDto
Implements IEquatable<OperatorDeployedPoolReportDto>

Properties

TenantId

Tenant the pool belongs to.

public string TenantId { get; set; }

Property Value

String

PoolRtId

Runtime entity id of the pool the operator considers deployed. Same 24-char hex format as DeployedPoolDto.PoolRtId.

public string PoolRtId { get; set; }

Property Value

String

PoolName

The pool's human-readable name as the operator knows it (mirrors the CR metadata.labels.poolName). Used for tracking-map keys so later undeploy fan-out can be wired without an additional repository lookup.

public string PoolName { get; set; }

Property Value

String

WorkloadRtIds

Runtime entity ids of every workload (Adapter / Application) the operator currently has an active helm release for inside this pool. Empty list is valid (pool deployed, no workloads currently running).

public IReadOnlyList<string> WorkloadRtIds { get; set; }

Property Value

IReadOnlyList<String>

Constructors

OperatorDeployedPoolReportDto()

public OperatorDeployedPoolReportDto()