Skip to content

feat(elastic-beanstalk): add Beanstalk Cluster mode - #275

Open
karancode wants to merge 1 commit into
awslabs:mainfrom
karancode:feat/elastic-beanstalk-cluster-mode
Open

karancode wants to merge 1 commit into
awslabs:mainfrom
karancode:feat/elastic-beanstalk-cluster-mode

Conversation

@karancode

Copy link
Copy Markdown

Adds Beanstalk Cluster mode to the existing elastic-beanstalk skill. Cluster mode runs a containerised application on a managed Amazon EKS Auto Mode cluster. The skill previously covered Standard mode on EC2 only and did not say so, so an agent asked for a Cluster deployment produced Standard mode configuration.

This extends the existing skill rather than adding a new one, so mode selection sits with the rest of the Elastic Beanstalk routing.

Related

Changes

New file:

  • skills/elastic-beanstalk/references/cluster-mode.md — the twelve eks namespaces, required IAM roles, environment creation, defaults worth setting deliberately, subnets, HTTPS, multi-service discovery and ingress groups, autoscaling, verification, troubleshooting order, immutable settings, cost

Modified:

  • skills/elastic-beanstalk/SKILL.md — mode routing table, Cluster mode description triggers, existing content scoped as Standard, reference link
  • skills/elastic-beanstalk/references/platforms.md — scope note: Cluster mode has no platform
  • skills/elastic-beanstalk/references/configuration.md — scope note: none of those namespaces apply to Cluster mode

The mode boundary is stated firmly because a Cluster environment accepts twelve aws:elasticbeanstalk:eks* namespaces and rejects a classic namespace with InvalidParameterValueException rather than ignoring it, so Standard mode configuration fails at create.

Two notes for reviewers. SKILL.md goes from 172 lines ("ideal") to 215 ("good"); holding "ideal" would mean moving existing Standard content into configuration.md, which I left alone — happy to do it if you would prefer. And the parent deploy skill still routes generic containerised workloads to Fargate, so an implicit request that never names Elastic Beanstalk may not reach this mode table; that is a service-selection change and belongs in its own PR.

Validation: dprint check, markdownlint-cli2, validate-references.py, validate-cross-refs.cjs, validate-size.py and validate-urls.py all clean. Also exercised the skill via --plugin-dir against three prompts — explicit Cluster request, ambiguous single container, and multi-service — to confirm mode routing and that no Standard-mode namespaces appear in Cluster output.

Acknowledgment

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.

Adds Cluster mode to the existing elastic-beanstalk skill: mode routing in
SKILL.md, a new references/cluster-mode.md, and scope notes on the two
existing references, neither of which applies to Cluster mode.
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