Skip to content

feat: AWS ECS integration + 3 components#3118

Open
forestileao wants to merge 7 commits intomainfrom
feat/aws-ecs-integration
Open

feat: AWS ECS integration + 3 components#3118
forestileao wants to merge 7 commits intomainfrom
feat/aws-ecs-integration

Conversation

@forestileao
Copy link
Collaborator

@forestileao forestileao commented Feb 14, 2026

Issue: #2757

Summary

This PR adds AWS ECS support to SuperPlane, including ECS actions, resource discovery, workflow mapper wiring, and docs.

ECS Scope

Backend (Go)

  • Added ECS actions under pkg/integrations/aws/ecs/:
    • DescribeService
    • RunTask
    • StopTask
  • Added ECS AWS client and request/response handling.
  • Added ECS resource listing support:
    • ecs.cluster
    • ecs.service
    • ecs.taskDefinition
    • ecs.task
  • Registered ECS components in AWS integration wiring (pkg/integrations/aws/aws.go) and resource switch (pkg/integrations/aws/resources.go).

Frontend

  • Added ECS mappers in web_src/src/pages/workflowv2/mappers/aws/ecs/:
    • describe_service.ts
    • run_task.ts
    • stop_task.ts
  • Wired ECS mappers and event state registry in web_src/src/pages/workflowv2/mappers/aws/index.ts.
  • Updated sidebar/icon handling so ECS components render correctly in workflow builder UI.

Documentation

  • Added/updated ECS component docs in docs/components/AWS.mdx.

Testing

output.mp4

Signed-off-by: Pedro F. Leao <pedroforestileao@gmail.com>
Signed-off-by: Pedro F. Leao <pedroforestileao@gmail.com>
Signed-off-by: Pedro F. Leao <pedroforestileao@gmail.com>
Signed-off-by: Pedro F. Leao <pedroforestileao@gmail.com>
Signed-off-by: Pedro F. Leao <pedroforestileao@gmail.com>
Signed-off-by: Pedro F. Leao <pedroforestileao@gmail.com>
Signed-off-by: Pedro F. Leao <pedroforestileao@gmail.com>
@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Feb 14, 2026

Deploying superplane with  Cloudflare Pages  Cloudflare Pages

Latest commit: 2726d4d
Status: ✅  Deploy successful!
Preview URL: https://fabfbfbb.superplane.pages.dev
Branch Preview URL: https://feat-aws-ecs-integration.superplane.pages.dev

View logs

@forestileao forestileao marked this pull request as ready for review February 14, 2026 17:43
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

This is the final PR Bugbot will review for you during this billing cycle

Your free Bugbot reviews will reset on March 12

Details

Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

}
taskResourceNames[task.TaskArn] = formatTaskResourceName(task)
}
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DescribeTasks exceeds 100-task API limit silently

Medium Severity

ListTasks paginates through all running tasks (potentially hundreds) then passes the entire taskArns slice to client.DescribeTasks in a single call. The AWS ECS DescribeTasks API has a hard limit of 100 tasks per request. For clusters with >100 running tasks, this call fails and the error is silently swallowed (if err == nil), causing all tasks to lose their friendly display names and fall back to raw task IDs.

Fix in Cursor Fix in Web

}
if config.Count < 0 {
return fmt.Errorf("count cannot be negative")
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RunTask count validation missing upper bound check

Medium Severity

The Setup validation only checks config.Count < 0, but the AWS ECS RunTask API enforces a maximum of 10 tasks per request. Any count above 10 passes validation but fails at runtime with an AWS API error. The NumberTypeOptions Max field is available but unused, and the backend validation is also missing the upper bound check. Additionally, count of 0 passes validation here but is silently changed to 1 in the client.

Additional Locations (1)

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant