Skip to content

refactor(compute): gate ECS construct on compute_type context instead of comment toggle #164

@scottschreckengaust

Description

@scottschreckengaust

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:

Solution

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions