Skip to main content

IOperatorHub

Namespace: Meshmakers.Octo.Communication.Contracts.Hubs

Server-side hub interface for operator management connections. Used by the central Communication Operator to register for Cloud pool deploy / undeploy notifications.

public interface IOperatorHub

Methods

RegisterOperatorAsync()

Registers the operator for receiving Cloud pool deploy / undeploy events.

Task<IEnumerable<DeployedPoolDto>> RegisterOperatorAsync()

Returns

Task<IEnumerable<DeployedPoolDto>>
All currently-deployed Cloud pools across every tenant, so a freshly (re)connected operator can synchronize its desired state without missing pools that were deployed while it was offline.

UnregisterOperatorAsync()

Unregisters the operator from receiving pool deploy / undeploy events.

Task UnregisterOperatorAsync()

Returns

Task

ReportWorkloadDeploymentStatusAsync(WorkloadDeploymentStatusDto)

Reports the outcome of a per-workload helm upgrade --install back to the controller. The controller writes the result onto the runtime entity's DeploymentState / StatusMessage attributes so the UI reflects what actually happened in the cluster — without this call, a failed helm run would only be visible in operator logs.

Task ReportWorkloadDeploymentStatusAsync(WorkloadDeploymentStatusDto status)

Parameters

status WorkloadDeploymentStatusDto

Returns

Task

RegisterPoolAsync(String, String)

Registers a CommunicationPool the operator currently manages. The controller writes the pool's CommunicationState to Online and remembers the operator's SignalR connection id, so that when the connection drops every pool registered through it goes back to Offline automatically (via the hub's OnDisconnectedAsync).

Replaces the legacy per-pool /poolHub connection — each operator now keeps a single multiplexed /operatorHub channel regardless of how many pools it owns.

Task RegisterPoolAsync(string tenantId, string poolName)

Parameters

tenantId String

poolName String

Returns

Task

UnregisterPoolAsync(String, String)

Unregisters a CommunicationPool. The controller flips the pool's CommunicationState to Unregistered and forgets the (connection, tenant, pool) tuple. Called by the operator when its CommunicationPool CR is deleted (graceful shutdown of one pool while the operator keeps running for others).

Task UnregisterPoolAsync(string tenantId, string poolName)

Parameters

tenantId String

poolName String

Returns

Task