add release orchestrator docs and sprints gaps fills

This commit is contained in:
2026-01-11 01:05:17 +02:00
parent d58c093887
commit a62974a8c2
37 changed files with 6061 additions and 0 deletions

View File

@@ -325,10 +325,17 @@ public sealed record FreezeWindowDeactivated(
) : IDomainEvent;
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/api/environments.md` (partial) | Markdown | API endpoint documentation for environment management (CRUD, freeze windows) |
---
## Acceptance Criteria
### Code
- [ ] Create environment with all fields
- [ ] Update environment preserves audit fields
- [ ] Delete environment checks for targets/releases
@@ -341,6 +348,12 @@ public sealed record FreezeWindowDeactivated(
- [ ] Domain events published
- [ ] Unit test coverage ≥85%
### Documentation
- [ ] API documentation created for environment endpoints
- [ ] All environment CRUD endpoints documented with request/response schemas
- [ ] Freeze window endpoints documented
- [ ] Cross-references to environment-manager.md added
---
## Test Plan
@@ -399,3 +412,4 @@ public sealed record FreezeWindowDeactivated(
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverable: api/environments.md (partial) |

View File

@@ -357,10 +357,17 @@ public sealed class HealthCheckScheduler : IHostedService, IDisposable
}
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/api/environments.md` (partial) | Markdown | API endpoint documentation for target management (target groups, targets, health) |
---
## Acceptance Criteria
### Code
- [ ] Register target with connection config
- [ ] Update target preserves encrypted config
- [ ] Unregister checks for active deployments
@@ -372,6 +379,12 @@ public sealed class HealthCheckScheduler : IHostedService, IDisposable
- [ ] Scheduled health checks run
- [ ] Unit test coverage ≥85%
### Documentation
- [ ] API documentation created for target endpoints
- [ ] All target CRUD endpoints documented
- [ ] Target group endpoints documented
- [ ] Health check endpoints documented
---
## Dependencies
@@ -405,3 +418,4 @@ public sealed class HealthCheckScheduler : IHostedService, IDisposable
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverable: api/environments.md (partial - targets) |

View File

@@ -490,10 +490,17 @@ public sealed class HeartbeatTimeoutMonitor : IHostedService, IDisposable
}
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/api/agents.md` | Markdown | API endpoint documentation for agent registration, heartbeat, task management |
---
## Acceptance Criteria
### Code
- [ ] Registration token created with expiry
- [ ] Token can only be used once
- [ ] Agent registered with certificate
@@ -505,6 +512,13 @@ public sealed class HeartbeatTimeoutMonitor : IHostedService, IDisposable
- [ ] Agent capabilities stored correctly
- [ ] Unit test coverage ≥85%
### Documentation
- [ ] API documentation file created (api/agents.md)
- [ ] Agent registration endpoint documented
- [ ] Heartbeat endpoint documented
- [ ] Task endpoints documented
- [ ] mTLS flow documented
---
## Dependencies
@@ -537,3 +551,4 @@ public sealed class HeartbeatTimeoutMonitor : IHostedService, IDisposable
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverable: api/agents.md |

View File

@@ -451,10 +451,17 @@ public sealed record ComponentDeleted(
) : IDomainEvent;
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/api/releases.md` (partial) | Markdown | API endpoint documentation for component registry (list, create, update components) |
---
## Acceptance Criteria
### Code
- [ ] Register component with registry/repository
- [ ] Validate registry connectivity on register
- [ ] Check for duplicate components
@@ -466,6 +473,11 @@ public sealed record ComponentDeleted(
- [ ] Import discovered components
- [ ] Unit test coverage >=85%
### Documentation
- [ ] Component API endpoints documented
- [ ] List/Get/Create/Update/Delete component endpoints included
- [ ] Component version strategy schema documented
---
## Test Plan
@@ -520,3 +532,4 @@ public sealed record ComponentDeleted(
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverable: api/releases.md (partial - components) |

View File

@@ -455,10 +455,17 @@ public sealed record VersionResolved(
) : IDomainEvent;
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/api/releases.md` (partial) | Markdown | API endpoint documentation for version resolution (tag to digest, version maps) |
---
## Acceptance Criteria
### Code
- [ ] Resolve tag to digest
- [ ] Resolve digest returns same digest
- [ ] Record new version with metadata
@@ -469,6 +476,12 @@ public sealed record VersionResolved(
- [ ] List versions with pagination
- [ ] Unit test coverage >=85%
### Documentation
- [ ] Version API endpoints documented
- [ ] Tag resolution endpoint documented
- [ ] Version map listing documented
- [ ] Digest-first principle explained
---
## Test Plan
@@ -525,3 +538,4 @@ public sealed record VersionResolved(
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverable: api/releases.md (partial - versions) |

View File

@@ -554,10 +554,17 @@ public sealed record ReleaseDeleted(
) : IDomainEvent;
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/api/releases.md` (partial) | Markdown | API endpoint documentation for release management (create, quick create, compare) |
---
## Acceptance Criteria
### Code
- [ ] Create draft release
- [ ] Add components to draft release
- [ ] Remove components from draft release
@@ -569,6 +576,13 @@ public sealed record ReleaseDeleted(
- [ ] Delete only draft releases
- [ ] Unit test coverage >=85%
### Documentation
- [ ] Release API endpoints documented
- [ ] Create release endpoint documented with full schema
- [ ] Quick create release endpoint documented
- [ ] Compare releases endpoint documented
- [ ] Release creation modes explained
---
## Test Plan
@@ -626,3 +640,4 @@ public sealed record ReleaseDeleted(
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverable: api/releases.md (partial - releases) |

View File

@@ -596,10 +596,18 @@ public sealed record WorkflowTemplateDeprecated(
) : IDomainEvent;
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/api/workflows.md` (partial) | Markdown | API endpoint documentation for workflow templates (CRUD, validate) |
---
## Acceptance Criteria
### Code
- [ ] Parse YAML workflow definitions
- [ ] Parse JSON workflow definitions
- [ ] Validate step types exist
@@ -611,6 +619,12 @@ public sealed record WorkflowTemplateDeprecated(
- [ ] Deprecate workflow templates
- [ ] Unit test coverage >=85%
### Documentation
- [ ] Workflow template API endpoints documented
- [ ] Template validation endpoint documented
- [ ] Full workflow template JSON schema included
- [ ] DAG validation rules documented
---
## Test Plan
@@ -669,3 +683,4 @@ public sealed record WorkflowTemplateDeprecated(
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverable: api/workflows.md (partial - templates) |

View File

@@ -478,10 +478,18 @@ public sealed class StepRegistryInitializer : IHostedService
}
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/api/workflows.md` (partial) | Markdown | API endpoint documentation for step registry (list available steps, get step schema) |
---
## Acceptance Criteria
### Code
- [ ] Register built-in step types
- [ ] Load plugin step types
- [ ] Validate step configurations against schema
@@ -492,6 +500,12 @@ public sealed class StepRegistryInitializer : IHostedService
- [ ] Required property validation works
- [ ] Unit test coverage >=85%
### Documentation
- [ ] Step registry API endpoints documented
- [ ] List steps endpoint documented (GET /api/v1/steps)
- [ ] Built-in step types listed
- [ ] Plugin-provided step discovery explained
---
## Test Plan
@@ -547,3 +561,4 @@ public sealed class StepRegistryInitializer : IHostedService
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverable: api/workflows.md (partial - step registry) |

View File

@@ -643,10 +643,18 @@ public sealed record WorkflowStepFailed(
) : IDomainEvent;
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/api/workflows.md` (partial) | Markdown | API endpoint documentation for workflow runs (start, pause, resume, cancel) |
---
## Acceptance Criteria
### Code
- [ ] Start workflow from template
- [ ] Execute steps in dependency order
- [ ] Execute independent steps in parallel
@@ -658,6 +666,12 @@ public sealed record WorkflowStepFailed(
- [ ] Evaluate step conditions
- [ ] Unit test coverage >=85%
### Documentation
- [ ] Workflow run API endpoints documented
- [ ] Start workflow run endpoint documented
- [ ] Pause/Resume/Cancel endpoints documented
- [ ] Run status response schema included
---
## Test Plan
@@ -717,3 +731,4 @@ public sealed record WorkflowStepFailed(
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverable: api/workflows.md (partial - workflow runs) |

View File

@@ -513,10 +513,18 @@ public sealed record PromotionDeployed(
) : IDomainEvent;
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/api/promotions.md` (partial) | Markdown | API endpoint documentation for promotion requests (create, list, get, cancel) |
---
## Acceptance Criteria
### Code
- [ ] Create promotion request
- [ ] Validate release is finalized
- [ ] Validate environment order
@@ -528,6 +536,12 @@ public sealed record PromotionDeployed(
- [ ] List pending approvals
- [ ] Unit test coverage >=85%
### Documentation
- [ ] Promotion API endpoints documented
- [ ] Create promotion request documented with full schema
- [ ] List/Get/Cancel promotion endpoints documented
- [ ] Promotion state machine referenced
---
## Test Plan
@@ -583,3 +597,4 @@ public sealed record PromotionDeployed(
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverable: api/promotions.md (partial - promotions) |

View File

@@ -560,10 +560,18 @@ public sealed record ApprovalThresholdMet(
) : IDomainEvent;
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/api/promotions.md` (partial) | Markdown | API endpoint documentation for approvals (approve, reject, SoD enforcement) |
---
## Acceptance Criteria
### Code
- [ ] Approve promotion with comment
- [ ] Reject promotion with reason
- [ ] Enforce separation of duties
@@ -574,6 +582,13 @@ public sealed record ApprovalThresholdMet(
- [ ] Notify approvers on request
- [ ] Unit test coverage >=85%
### Documentation
- [ ] Approval API endpoints documented
- [ ] Approve promotion endpoint documented (POST /api/v1/promotions/{id}/approve)
- [ ] Reject promotion endpoint documented
- [ ] Separation of duties rules explained
- [ ] Approval record schema included
---
## Test Plan
@@ -630,3 +645,4 @@ public sealed record ApprovalThresholdMet(
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverable: api/promotions.md (partial - approvals) |

View File

@@ -871,10 +871,18 @@ public sealed class ContainerLogStreamer
}
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/deployment/agent-based.md` (partial) | Markdown | Agent-based deployment documentation (Docker agent with 9 operations) |
---
## Acceptance Criteria
### Code
- [ ] Pull images with digest references
- [ ] Pull from authenticated registries
- [ ] Create containers with environment variables
@@ -888,6 +896,12 @@ public sealed class ContainerLogStreamer
- [ ] Stream container logs
- [ ] Unit test coverage >=85%
### Documentation
- [ ] Docker agent documentation section created
- [ ] All Docker operations documented (pull, run, stop, remove, health check, logs)
- [ ] TypeScript implementation code included
- [ ] Digest verification flow documented
---
## Dependencies
@@ -919,3 +933,4 @@ public sealed class ContainerLogStreamer
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverable: deployment/agent-based.md (partial - Docker) |

View File

@@ -910,10 +910,18 @@ public sealed class ComposeHealthCheckTask
}
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/deployment/agent-based.md` (partial) | Markdown | Agent-based deployment documentation (Compose agent with 8 operations) |
---
## Acceptance Criteria
### Code
- [ ] Deploy compose stack from compose.stella.lock.yml
- [ ] Pull images before deployment
- [ ] Support authenticated registries
@@ -927,6 +935,12 @@ public sealed class ComposeHealthCheckTask
- [ ] Backup existing deployment before update
- [ ] Unit test coverage >=85%
### Documentation
- [ ] Compose agent documentation section created
- [ ] All Compose operations documented (pull, up, down, scale, health, backup)
- [ ] TypeScript implementation code included
- [ ] Compose lock file usage documented
---
## Dependencies
@@ -959,3 +973,4 @@ public sealed class ComposeHealthCheckTask
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverable: deployment/agent-based.md (partial - Compose) |

View File

@@ -748,10 +748,18 @@ public sealed class SshTunnelTask
}
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/deployment/agentless.md` (partial) | Markdown | Agentless deployment documentation (SSH remote executor) |
---
## Acceptance Criteria
### Code
- [ ] Execute remote commands via SSH
- [ ] Support password authentication
- [ ] Support private key authentication
@@ -765,6 +773,13 @@ public sealed class SshTunnelTask
- [ ] Timeout handling for commands
- [ ] Unit test coverage >=85%
### Documentation
- [ ] SSH remote executor documentation created
- [ ] All SSH operations documented (execute, upload, download, tunnel)
- [ ] SFTP file transfer flow documented
- [ ] SSH key authentication documented
- [ ] TypeScript implementation included
---
## Dependencies
@@ -795,3 +810,4 @@ public sealed class SshTunnelTask
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverable: deployment/agentless.md (partial - SSH) |

View File

@@ -718,10 +718,19 @@ export class DashboardService {
}
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/api/websockets.md` | Markdown | WebSocket/SSE endpoint documentation for real-time updates (workflow runs, deployments, dashboard metrics, agent tasks) |
| `docs/modules/release-orchestrator/ui/dashboard.md` | Markdown | Dashboard specification with layout, metrics, TypeScript interfaces |
---
## Acceptance Criteria
### Code
- [ ] Dashboard loads within 2 seconds
- [ ] Pipeline overview shows all environments
- [ ] Environment health status displayed correctly
@@ -735,6 +744,16 @@ export class DashboardService {
- [ ] Responsive layout on tablet/desktop
- [ ] Unit test coverage >=80%
### Documentation
- [ ] WebSocket API documentation file created
- [ ] All 4 real-time streams documented (workflow, deployment, dashboard, agent)
- [ ] WebSocket authentication flow documented
- [ ] Message format schemas included
- [ ] Dashboard specification file created
- [ ] Dashboard layout diagram included
- [ ] Metrics TypeScript interfaces documented
---
## Dependencies
@@ -770,3 +789,4 @@ export class DashboardService {
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverables: api/websockets.md, ui/dashboard.md |

View File

@@ -921,10 +921,18 @@ export class EnvironmentSettingsComponent implements OnChanges {
</div>
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/ui/screens.md` (partial) | Markdown | Key UI screens reference (environment overview, release detail, "Why Blocked?" modal) |
---
## Acceptance Criteria
### Code
- [ ] Environment list displays all environments
- [ ] Environment cards show health status
- [ ] Create environment dialog works
@@ -940,6 +948,14 @@ export class EnvironmentSettingsComponent implements OnChanges {
- [ ] Form validation works
- [ ] Unit test coverage >=80%
### Documentation
- [ ] UI screens specification file created
- [ ] Environment overview screen documented with ASCII mockup
- [ ] Target management screens documented
- [ ] Freeze window editor documented
- [ ] All screen wireframes included
---
## Dependencies
@@ -974,3 +990,4 @@ export class EnvironmentSettingsComponent implements OnChanges {
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverable: ui/screens.md (partial - environment screens) |

View File

@@ -1130,10 +1130,18 @@ export class YamlEditorComponent implements AfterViewInit, OnChanges {
</div>
```
### Documentation Deliverables
| Deliverable | Type | Description |
|-------------|------|-------------|
| `docs/modules/release-orchestrator/ui/workflow-editor.md` | Markdown | Workflow editor specification (graph editor, DAG visualization, Monaco integration) |
---
## Acceptance Criteria
### Code
- [ ] Workflow list displays all workflows
- [ ] Create new workflow initializes empty canvas
- [ ] Load existing workflow displays DAG
@@ -1151,6 +1159,15 @@ export class YamlEditorComponent implements AfterViewInit, OnChanges {
- [ ] Validation errors displayed
- [ ] Unit test coverage >=80%
### Documentation
- [ ] Workflow editor specification file created
- [ ] Graph editor component interface documented
- [ ] DAG visualization documented (D3.js integration)
- [ ] Run visualization overlay documented
- [ ] WebSocket integration for real-time updates documented
- [ ] YAML editor bidirectional sync documented
---
## Dependencies
@@ -1187,3 +1204,4 @@ export class YamlEditorComponent implements AfterViewInit, OnChanges {
| Date | Entry |
|------|-------|
| 10-Jan-2026 | Sprint created |
| 11-Jan-2026 | Added documentation deliverable: ui/workflow-editor.md |