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
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
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
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