Complete release compatibility and host inventory sprints
Signed-off-by: master <>
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
**Status:** Active Development (backend substantially implemented; API surface layer in progress)
|
||||
|
||||
> **Implementation reality (updated 2026-02-22):** The backend is substantially complete with 140,000+ lines of production code across 49 projects. Core libraries (Release, Promotion, Deployment, Workflow, Evidence, PolicyGate, Progressive, Federation, Compliance) are implemented with comprehensive tests (283 test files, 37K lines). Six agent types are operational (Compose, Docker, SSH, WinRM, ECS, Nomad). The DAG workflow engine, promotion/approval framework, and evidence generation are functional. **Remaining gaps:** HTTP API layer is minimal (1 controller), no database migrations yet (in-memory stores only), and no Program.cs bootstrapping for the WebApi project.
|
||||
> **Implementation reality (updated 2026-03-31):** The backend is substantially complete with 140,000+ lines of production code across 49 projects. Core libraries (Release, Promotion, Deployment, Workflow, Evidence, PolicyGate, Progressive, Federation, Compliance) are implemented with comprehensive tests (283 test files, 37K lines). Six agent types are operational (Compose, Docker, SSH, WinRM, ECS, Nomad). Compatibility HTTP surfaces now exist across Platform, JobEngine, and Scanner for environment management, deployment monitoring, evidence inspection, dashboard promotion decisions, and registry search. **Remaining gaps:** the dedicated Release Orchestrator WebApi host is still incomplete, storage remains in-memory for these compatibility surfaces, and first-class migrations/persistence for the standalone API are still pending.
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -189,7 +189,7 @@ public sealed record Target
|
||||
public required Guid TenantId { get; init; }
|
||||
public required Guid EnvironmentId { get; init; }
|
||||
public required string Name { get; init; }
|
||||
public required TargetType Type { get; init; } // DockerHost, ComposeHost, ECSService, NomadJob
|
||||
public required TargetType Type { get; init; } // DockerHost, ComposeHost, EcsService, NomadJob, SshHost, WinRmHost
|
||||
public required ImmutableDictionary<string, string> Labels { get; init; }
|
||||
public required Guid? AgentId { get; init; } // Null for agentless
|
||||
public required TargetState State { get; init; }
|
||||
@@ -202,8 +202,8 @@ public enum TargetType
|
||||
ComposeHost,
|
||||
ECSService,
|
||||
NomadJob,
|
||||
SSHRemote,
|
||||
WinRMRemote
|
||||
SshHost,
|
||||
WinRmHost
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user