Adds DeploymentStateQuery request/response contracts (Commons), a site-side handler (SiteRuntime), a CommunicationService query method (Communication), and reconciliation in DeploymentService: when a prior record is InProgress or Failed-on-timeout, query the site; if it already holds the target revision hash mark the record Success without re-sending; on query failure fall through to a normal deploy (site-side stale-rejection is the safety net).
16 lines
588 B
C#
16 lines
588 B
C#
namespace ScadaLink.Commons.Messages.Deployment;
|
|
|
|
/// <summary>
|
|
/// Site→central response carrying the instance's currently-applied deployment
|
|
/// state. If <see cref="IsDeployed"/> is <c>false</c> the instance has no
|
|
/// deployed configuration at the site and <see cref="AppliedDeploymentId"/> /
|
|
/// <see cref="AppliedRevisionHash"/> are <c>null</c>.
|
|
/// </summary>
|
|
public record DeploymentStateQueryResponse(
|
|
string CorrelationId,
|
|
string InstanceUniqueName,
|
|
bool IsDeployed,
|
|
string? AppliedDeploymentId,
|
|
string? AppliedRevisionHash,
|
|
DateTimeOffset Timestamp);
|