aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
refactor(compute): gate ECS construct on compute_type context instead of comment toggle
- Lingua principale
- TypeScript
- Stelle
- 143
- Fork
- 46
- Merge medio
- 3g 10h
- PR unite (30g)
- 24
Descrizione
## Summary
Replace the commented-out ECS construct in `cdk/src/stacks/agent.ts` with a proper `compute_type` context gate.
## Problem
Currently, enabling ECS requires manually uncommenting code in `agent.ts` (lines ~46, ~524-533). This:
- Requires source code changes to change deployment topology
- Is invisible to the bootstrap/preflight system (commented code doesn't synthesize)
- Defeats the compute-variant architecture established in #123
## Solution
```typescript
const computeType = app.node.tryGetContext('compute_type') ?? 'agentcore';
// In the stack:
if (computeType === 'ecs') {
new EcsAgentCluster(this, 'EcsAgentCluster', { vpc, ... });
}
```
The construct is always in source, always compilable, always tested. The context variable governs synthesis:
- `mise //cdk:synth` → agentcore only (default)
- `mise //cdk:synth -- -c compute_type=ecs` → agentcore + ECS resources
## Acceptance criteria
- [ ] ECS construct uncommented and gated behind `if (computeType === 'ecs')`
- [ ] `mise //cdk:synth` (default) produces same template as today (no ECS resources)
- [ ] `mise //cdk:synth -- -c compute_type=ecs` produces template with ECS resources
- [ ] `mise //cdk:test` passes for both configurations
- [ ] No "uncomment to enable" prose remains in the file
## Relationship to #120 stack
Prerequisite for #124 (resource-action-map) — the synth-coverage test needs to run with `compute_type=ecs` to verify ECS resource types are mapped. Without this issue, ECS resources never appear in the synthesized template.
Blocked by: #123 (compute-ecs policy must exist)
Blocks: #124 (ECS coverage in resource-action-map)
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia da cdk/src/stacks/agent.ts e rivedi la configurazione della variante di calcolo stabilita da #123. Esegui mise //cdk:synth con e senza -c compute_type=ecs, quindi esegui mise //cdk:test per entrambe le configurazioni. Il lavoro è completato quando il template predefinito rimane privo di ECS, il contesto ECS produce risorse ECS e non rimane alcun testo che indichi di rimuovere i commenti per abilitarlo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- aws, typescript
- Ambito
- cloud, infrastructure
- Tipo di issue
- Refactoring
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 52/100