feat(gcp-to-aws): add EKS Auto Mode guidance for GKE migrations - #247
Conversation
- Detect GKE Autopilot in discovery (IaC enable_autopilot + live autopilot.enabled) and normalize config.autopilot_enabled into the inventory schema - Rework Q8: EKS Auto Mode (default) vs standard EKS vs ECS Fargate; standard node groups only on explicit opt-in; surface Autopilot flag as context - Multi-cloud (Q5) routes to standard EKS for portability (Auto Mode excluded) - Update compute rubric, fast-path, index, Terraform generation, pricing formulas, preferences schema, billing path, and workshop sheet
…ugin Keep the advisor/plugins/aws-startup-advisor copy of the gcp-to-aws skill byte-identical to migration-to-aws so the cross-plugin drift check passes.
…visor plugin" This reverts commit 2ad6e14.
…ugin Keep the advisor/plugins/aws-startup-advisor copy of the gcp-to-aws skill byte-identical to migration-to-aws so the cross-plugin drift check passes.
…ance EKS Auto Mode has no AMI/launch template; arm64 is selected on the NodePool/aws_eks_node_class rather than a node-group AMI. Mirrored to advisor.
herosjourney
left a comment
There was a problem hiding this comment.
Summary
Good direction overall — defaulting GKE migrations to EKS Auto Mode is the right call technically (it's the correct GKE Autopilot analog, and it's AWS's own recommended low-ops path), and the change is threaded consistently through Clarify, Design, Estimate, Generate, pricing, and schema. The advisor/ mirror is verified byte-identical to the migrate/ source apart from path prefixes, so the drift-check claim in the PR body holds up.
One real bug should block merge. Two other items are worth addressing but not blocking.
Blocking
graviton.md / generate-artifacts-infra.md — arm64 guidance for EKS Auto Mode is incomplete and would silently fail
Both files say to select arm64 for Auto Mode by setting kubernetes.io/arch: arm64 on "the NodePool / aws_eks_node_class." I checked this against AWS's docs: the built-in general-purpose NodePool — the one that actually schedules application workloads — is amd64-only. Only the built-in system NodePool (tainted CriticalAddonsOnly, for cluster components) supports both architectures. (Enable or Disable Built-in NodePools)
Getting arm64 app workloads on Auto Mode requires a custom NodePool + NodeClass (Karpenter CRDs applied via kubectl/Helm) — it's not a flag you can flip on the default pool, and it's not something the aws_eks_cluster Terraform resource can express. As written, an agent following this instruction will either fail or silently produce an amd64 cluster while reporting Graviton was applied.
Suggested fix: either (a) note that Auto Mode + Graviton requires generating an additional custom NodePool/NodeClass manifest (not just Terraform) and do that, or (b) flag to the user that Graviton isn't cleanly supported for Auto Mode via this skill's generated output yet, rather than asserting it works.
Non-blocking
compute.md — no regional-availability check for Auto Mode
Elsewhere in this codebase (design-ai.md, Bedrock model selection), newer AWS capabilities go through the awsknowledge MCP regional-availability check before being recommended. This PR recommends Auto Mode unconditionally on GKE detection with no equivalent gate. Auto Mode is broadly available today, but it's inconsistent with the caution pattern this repo already established for exactly this kind of rollout. Suggest adding the same MCP check, or explicitly noting why it's not needed here.
clarify-compute.md Q8 — question wording states the recommendation before presenting the choice
The new Q8 opens with "You're on GKE today, so by default we keep you on Kubernetes with EKS Auto Mode... How would you like to proceed?" before listing options A/B/C. That's a change from the old Q8, which explicitly instructed framing the question neutrally ("frame it practically so the user gives an honest answer rather than aspirational"). Leading with the recommended answer nudges "I don't know" responses toward passive confirmation rather than an actual decision.
To be clear, I think the default itself is a good change — Q8 only fires when GKE is already in inventory, meaning the customer already chose Kubernetes deliberately; defaulting undecided users to stay on that abstraction (via the lowest-ops AWS variant) respects an existing investment better than the old Fargate default, which silently dropped it. I'd just ask to restructure the prompt so options are presented before the recommendation is stated, keeping the same default.
Confirmed not an issue: I traced Q8's answer through Design and Generate independently, and all three answers (Auto Mode / standard EKS / Fargate) produce distinct, correct Terraform output — this isn't a case of the preference being captured but not honored downstream. The eliminator logic also correctly overrides preference when a technical blocker exists (node-level customization needs, or the Q5 multi-cloud portability override), which is the right precedence — user preference should win among viable options, not over hard constraints.
What's correctly implemented (verified against AWS docs)
- IMDSv2 enforcement claim for Auto Mode nodes (hop limit 1, non-configurable) — accurate, no launch template needed.
- Two distinct IAM roles (cluster role vs. node role, separate managed-policy sets) — matches AWS's documented setup exactly.
- Terraform block shape (
compute_config { enabled, node_pools, node_role_arn },kubernetes_network_config { elastic_load_balancing { enabled } },storage_config { block_storage { enabled } }) — matches real working Auto Mode Terraform. - Excluding Auto Mode from the Q5 multi-cloud path — correct; Auto Mode's node management genuinely is AWS-specific and would undercut the portability goal.
- Savings Plan caveat (applies to underlying EC2 instances, not the Auto Mode management fee or control-plane fee) — directionally correct per AWS's cost docs.
…neral-purpose is amd64-only) Auto Mode's built-in general-purpose NodePool is amd64-only and immutable, and aws_eks_cluster cannot express node architecture — so arm64 cannot be selected via a flag. Getting arm64 workloads on Auto Mode requires a custom Karpenter NodePool + EC2NodeClass applied as a Kubernetes manifest (kubectl/Helm), not Terraform. Update graviton.md, generate-artifacts-infra.md, and the estimate pricing note to emit that manifest + apply step when arm64 is targeted, and to fall back to amd64 (flagging Graviton as not applied) rather than silently reporting arm64. Mirrored to advisor. Addresses blocking PR review comment.
…option Address non-blocking PR review: present Q8 options A/B/C before stating the default (recommendation noted last) so unsure users make an actual choice instead of passively confirming a lead-in. Remove the contradictory 'D) N/A - We don't use Kubernetes' option (Q8 only fires when a GKE cluster is present) and renumber 'I don't know' to D. Also correct a stale Q8 default (Fargate -> EKS Auto Mode) in clarify.md's documented-defaults table. Default is unchanged (eks-auto). Mirrored to advisor.
Address non-blocking PR review: before finalizing eks-auto, validate EKS Auto Mode in the target region via get_regional_availability (awsknowledge MCP) — the same source-of-truth check the repo uses for AgentCore/Bedrock. If Auto Mode is unavailable (e.g. GovCloud/opt-in partitions from a fedramp target), fall back to eks-standard in the same region with a warning, rather than silently emitting an undeployable cluster. Mirrored to advisor.
Yes - This is correct. We need separate manifests for graviton in EKS Auto mode as of now. I have added detailed guidance in newer commit. dec4d29
Nice, did not know about that, added this suggestion as well. 4aac819
Restructured that in new commit. 8c4f94d I will expand on ECS guidance in a different PR |
herosjourney
left a comment
There was a problem hiding this comment.
All three findings addressed — approving
Re-verified each fix directly against the diff, not just the commit message.
Blocking - arm64/NodePool bug (dec4d29): fixed correctly. graviton.md and generate-artifacts-infra.md now correctly state Graviton on Auto Mode is not a Terraform flag - the built-in general-purpose NodePool is amd64-only and immutable, and getting arm64 workloads running requires a custom Karpenter NodePool + EC2NodeClass applied as a Kubernetes manifest post-provision. The fix also adds the right safety net: if the run can't emit/apply that manifest, it falls back to amd64 and explicitly flags Graviton as not applied, rather than claiming arm64 succeeded. This closes the exact failure mode I flagged.
Non-blocking - Q8 wording (8c4f94d): fixed, and improved beyond what I asked. Options A/B/C are now presented before the recommendation, with the default noted last as "if you're unsure, we default to A" rather than opening the question. The default itself is correctly unchanged (still eks-auto), which was the right call to preserve. Also caught and removed a dead option ("D) N/A - we don't use Kubernetes") that couldn't fire since Q8 only triggers when GKE is already present - good catch I'd missed.
Non-blocking - regional availability gate (4aac819): fixed correctly. Adds an awsknowledge MCP get_regional_availability check before finalizing eks-auto, reusing the same pattern this repo already applies to Bedrock/AgentCore. Falls back to eks-standard in the same region (not a different region) on unavailability, with both a rationale note and a warnings[] entry, plus a sane degraded path if the MCP call itself fails.
Verified independently:
- All touched files remain byte-identical between advisor/ and migrate/ mirrors.
- mise run build exits 0, drift:check reports 259 identical / 25 allowlisted (baseline, no new suppressions).
No remaining concerns. Approving.
There was a problem hiding this comment.
[🤖 AI review 🤖]
Update (September 14, 2026): the CLEAN conclusion below is superseded by my follow-up review at head ed268632, which requests changes. The original App Engine billing nit is fixed. The current review identifies two P1 issues (final target enforcement and the Auto Mode NodeClass API) and one P2 issue (the fallback architecture value). I incorrectly accepted the EC2NodeClass guidance in this earlier review. The original review below is retained as historical context.
[🤖 AI review 🤖]
Reviewed head 17c7e804 — 32 files, +422/−256 (all prose/Markdown, no code).
This PR adds EKS Auto Mode as the default GKE migration target, displacing the previous Fargate default. The change is well-designed: GKE usage signals Kubernetes adoption, so staying on managed Kubernetes (Auto Mode as the GKE Autopilot equivalent) is the right default; users who want node control or want off K8s opt in explicitly via Q8. The three-way enum (eks-auto / eks-standard / ecs-fargate) threads cleanly through Clarify → Design → Estimate → Generate → Workshop, with correct multi-cloud exclusion (Auto Mode is AWS-specific, Q5 routes to standard EKS). herosjourney's blocking finding (arm64/NodePool) and both non-blocking items are all verified fixed at the current head.
1 Nit (non-blocking): design-billing.md table row for google_app_engine_application says "EKS Auto Mode under compute: \"eks\"" while the override paragraph in the same file — and every other location — correctly says "EKS standard node groups" for multi-cloud. An agent parsing the table first would pick the wrong target. Inline comment posted.
What's correctly implemented (verified in the diff):
- Autopilot detection normalized into
config.autopilot_enabledon both IaC and live paths, with canonical schema keys documented inschema-discover-iac.md. - Q8 restructured: options presented before recommendation, dead option D removed (Q8 only fires when GKE present), default changed from Fargate to Auto Mode with clear rationale.
- Auto Mode eliminator (node-level customization) falls back to
eks-standard, not Fargate — preserves Kubernetes. - Regional availability gate via
awsknowledgeMCPget_regional_availabilitybefore finalizingeks-auto, matching the existing Bedrock/AgentCore pattern. - Graviton/arm64 on Auto Mode correctly documented as requiring custom Karpenter NodePool+EC2NodeClass manifest (not a Terraform flag), with amd64 fallback if manifest cannot be emitted.
- EKS Auto Mode pricing formula correctly separates control plane fee, EC2 instance rate, and Auto Mode management surcharge, with amd64-by-default note.
- Savings Plan guidance updated to clarify management fee and control plane are not SP-eligible.
- Q5 multi-cloud consistently routes to
eks-standardacross all 16 files (compute, clarify-global, fast-path, index, billing, estimate, generate, workshop, schema-preferences). - Cross-plugin parity: all 16 advisor/migrate pairs verified byte-identical after path normalization. No new drift allowlist entries.
CI: No checks reported on this branch.
Merge status: MERGEABLE, 1 approval (herosjourney at current head), review requested from startups-advisor + startups-migrate teams.
Verdict: CLEAN. The Nit is a copy/paste remnant that does not block — the authoritative override paragraph in the same file has the correct text, and an agent that reads past the table will get the right answer. But fixing it removes the ambiguity.
…de-recommendation
…ing table The App Engine row's alternatives cell in design-billing.md said 'EKS Auto Mode under compute: eks', contradicting the multi-cloud override paragraph below it and the rest of the PR (compute.md, clarify-global.md, fast-path.md, index.md). Multi-cloud (Q5) routes to standard EKS node groups, not Auto Mode. Mirrored to advisor. Addresses PR review comment.
updated this in e27ef1c |
|
@leon1418, @herosjourney; All changes have been pushed and branch is updated with main. |
…dard node groups The Preferred AWS Target Services table (enforcement authority) routed GKE to EKS Auto Mode unconditionally. Under Q5=multi-cloud, Q8 is skipped and no kubernetes key is written, so enforcement could re-substitute Auto Mode over the rubric's standard-node-groups decision. Condition the GKE clause on compute: eks (multi-cloud) and explicit Q8 opt-in, defaulting to Auto Mode otherwise — mirroring the PaaS row's inline guard. Mirrored to advisor. Addresses ayn-builds blocking review comment.
…roups for multi-cloud compute.md criterion 2 said the compute: eks override 'already selected EKS Auto Mode', contradicting criterion 1 and criterion 3 which route multi-cloud to standard node groups. Correct the parenthetical to 'EKS with standard node groups'. Mirrored to advisor. Addresses ayn-builds review comment.
…ng pipeline The Auto Mode fee bypassed the file's 4-tier price-lookup ladder (MCP-only, 'do not hardcode'), so with MCP unavailable it silently dropped and understated the default GKE estimate. Give it a documented home in pricing-cache.md (### EKS) describing AWS's actual model — a per-EC2-instance-type surcharge, additive, per-second, independent of purchase option — with no hardcoded rate, since AWS publishes no flat number/percentage (verified on aws.amazon.com/eks/pricing). estimate-infra.md now routes the fee via awspricing MCP with a real tier-4 fallback (services_with_missing_fallback + warn) instead of silently dropping. Mirrored to advisor. Addresses ayn-builds review comment.
…recommendations Consolidate nine phrasings for the non-Auto-Mode EKS target into canonical forms: "Standard EKS Cluster" for the cluster type (multi-cloud override and generic references) and "Standard EKS Cluster with managed node groups" for the explicit eks-standard opt-in path. Matches the single-term discipline already used on the Auto Mode side. Left unchanged on purpose: eks-standard/eks-auto enum values, the aws_eks_node_group Terraform wiring in Generate, and the pricing-cache line describing node-group EC2 billing. Both mirrors, byte-identical.
The arm64 Graviton manifest for EKS Auto Mode told Generate to emit a custom EC2NodeClass. That is the self-managed Karpenter API (karpenter.k8s.aws); Auto Mode does not reconcile it, so the arm64 pool would never be configured. Auto Mode node classes are apiVersion eks.amazonaws.com/v1, kind NodeClass, and a NodePool must reference them via group: eks.amazonaws.com. A custom class is also unnecessary just to select arm64: the cluster enables the built-in pools, so the default NodeClass exists and already carries the node role, subnets, and security groups. Emit an arm64 NodePool (karpenter.sh/v1) whose nodeClassRef points at default; fall back to an eks.amazonaws.com/v1 NodeClass with an access entry only when default cannot express the required settings. Also drops the incorrect claim that default is tied to the built-in pools. Updated in the EKS branch, the repeated CPU-architecture rule, and graviton.md. Workload nodeSelector/affinity note and the runbook kubectl apply step retained. The Standard EKS Cluster path is unaffected (it sets arm64 via aws_eks_node_group, never this manifest). Addresses PR awslabs#247 P1 review (generate-artifacts-infra.md:354). Both mirrors, byte-identical.
…tifact The Terraform-only Auto Mode fallback set target_architecture: amd64, but schema-graviton.md defines the field as an enum of arm64 | x86_64, and Generate's x86 branch keys off x86_64. The fallback therefore wrote a value outside the artifact schema that matched neither generator branch. Write x86_64 in the internal artifact. The two other amd64 mentions on the same line are kept: they describe the Kubernetes architecture label of the built-in general-purpose NodePool, where amd64 is the correct term. Addresses PR awslabs#247 P2 review (graviton.md:98). Both mirrors, byte-identical.
…de-recommendation
leon1418
left a comment
There was a problem hiding this comment.
[🤖 AI review 🤖]
Reviewed exact head bbbe52eb576753a5d53dfef5d6fe1285d42bb8e9. All three findings from my previous Request changes review are resolved, and I found no remaining substantive concerns in the reviewed change. Approving this revision.
- Final enforcement and Generate preserve each resource's resolved Kubernetes target, including the explicit Fargate opt-out and the technical fallback from Auto Mode to a Standard EKS Cluster.
- The arm64 NodePool uses the Auto Mode
defaultNodeClass with the correct API reference, while retaining workload scheduling and runbook instructions. - The fallback artifact uses the canonical
x86_64value.
I followed up in the original discussions. Validation on this head: all 18 changed mirror pairs are byte-identical; cross-plugin drift passes (275 identical, 25 allowlisted); all 149 existing tests pass; formatting, Markdown lint, and git diff --check pass. Static contract checks for all three fixes pass in both copies and detect the previous defects at ed268632. I also rechecked the current official AWS NodePool/NodeClass documentation.
These are local checks and a review of the prompt contracts. No end-to-end LLM migration replay or EKS deployment was run. GitHub currently reports no checks/status results for this head, although build is required; the branch is behind main and other review discussions remain unresolved. Those merge gates still need to be satisfied.
leon1418
left a comment
There was a problem hiding this comment.
[🤖 AI review 🤖]
Re-reviewed exact head ea2d67e952da27dfd84aff22368d5509b30b1dc6 against base b30cb39be02d2eae78cb8c482f4018435d4dc988, including the changes since my actually inspected head bbbe52eb. No remaining substantive findings; approving this revision.
The new commits merge upstream changes. The PR's added/deleted content is unchanged relative to its updated base. I checked the affected integration rather than relying on the previous approval's commit metadata: the resolved Fargate/Standard EKS targets still survive final enforcement and generation, the arm64 pool still uses the Auto Mode NodeClass API, and the fallback artifact remains x86_64. I also checked the merged Terraform policy consumer and the allowlisted advisor-only closing instructions. The EKS pricing section is preserved.
Local validation on this head:
- All 18 changed mirror pairs are byte-identical; drift passes (281 identical, 27 allowlisted).
- All 151 Node tests and 57 policy tests in each plugin copy pass.
- An EKS-shaped static policy probe passes, a wildcard-policy negative case fails, and fixing that policy replaces the canonical failed verdict with a passing one while preserving Terraform and intermediate phase state.
- The three original source-contract regression checks pass in both copies and detect the previous defects. Formatting, Markdown lint, and
git diff --checkpass.
These are local/static checks, not an LLM migration replay or EKS deployment. All ten review threads are resolved. GitHub still reports no check/status result for this head, so the required build gate remains outstanding.
ayn-builds
left a comment
There was a problem hiding this comment.
Three blocking items. The first one is the substantive one; the other two are stale references left behind by the Q8 rewrite.
All three apply to both copies of the skill (migrate/plugins/migration-to-aws/... and advisor/plugins/aws-startup-advisor/...) at the same line numbers, since the 18 files this PR touches are identical pairs. The inline comments are anchored on the migrate/ copy only; each fix needs to land in the advisor/ mirror too.
3. references/phases/clarify/clarify.md:548 - trigger keys on an answer this PR deleted
(Posting this one here rather than inline because the line is outside the diff hunks.)
The Answer Combination Triggers table still has:
| Kubernetes-averse | Q5 = No + Q8 = Frustrated | ECS Fargate strongly recommended |
Frustrated was removed from Q8 in this PR, so this row can never fire. The equivalent is now Q8 = 3 (kubernetes: "ecs-fargate").
While in this table: line 546 ("Must stay portable ... EKS only, no ECS Fargate; App Engine also routes to EKS") should say Standard EKS Cluster. You updated exactly this wording in clarify-global.md but this copy was missed, and leaving it ambiguous here is what the rest of the PR works hard to disambiguate.
leon1418
left a comment
There was a problem hiding this comment.
[🤖 AI review 🤖]
Reassessed exact head ea2d67e952da27dfd84aff22368d5509b30b1dc6 after review 5250617626. Request changes for the China-region Auto Mode selection defect. My previous no-findings recommendation missed this restriction.
[P1] Regional selection: the current EKS FAQ explicitly excludes China Regions, whereas compute.md:53 asserts support there and removes the gate. The live availability catalog still reports support, but that conflicting response is insufficient to override the FAQ. A China-region override flows through the GKE default into Auto Mode generation; the billing-only mapping has the same unsupported default. I added evidence and the required fallback scope in the existing regional discussion, without opening a duplicate finding.
Non-blocking consistency corrections: I also verified the stale Q8 letter references at compute.md:48,177,185, the removed Q8 = Frustrated trigger at clarify.md:548, and the ambiguous portable-target wording at line 547. Use the current constraint values (eks-standard / ecs-fargate) or options 2/3, and name Standard EKS Cluster explicitly. The current interpretation/rubric still maps option 3 to Fargate and multi-cloud to standard EKS, so I did not reproduce an additional target-selection failure from these stale labels.
The prior per-resource enforcement, NodeClass API, and x86_64 fixes remain intact. Both plugin copies have the same new issues. Validation for this reassessment was a direct primary-documentation check and source/consumer trace, with 18 matching mirror pairs, a passing drift check, and a passing git diff --check. No implementation changes, deployment, new test infrastructure, or end-to-end model replay were performed.
|
Looked back through the full review history here (27 reviews, 12 threads, 31 commits) to understand why this keeps finding new things each round. Sharing what I found in case it's useful for closing this out. This isn't a resolution loop. 10 of 12 review threads closed cleanly on the first fix — author fixes, reviewer verifies, done. The two open threads from today are genuinely new findings, not regressions of anything already fixed. The recurring pattern is consistency drift, not contradictory review demands. This PR threads a new enum value (
One real structural issue did cause a fix to ripple (thread on Today's regional-availability finding is a fact-check reversal, not new code breaking something: the China-exclusion claim was live-verified via the Suggestion to close this out in one more round instead of another partial one: rather than patching only the exact lines each review flags, do one deliberate sweep across both |
…de-recommendation
…trigger The Q8 redesign and numeric-label conversion left a few references to the old option letters (B/C) and one to the removed "Frustrated" sentiment option. Update them to the current option numbers and constraint values (options 2/3, eks-standard / ecs-fargate), and name the Standard EKS Cluster explicitly in the multi-cloud portability scenario row where "EKS only" was ambiguous. Addresses the non-blocking consistency notes in the PR awslabs#247 review. Both mirrors, byte-identical.
There was a problem hiding this comment.
[🤖 AI review 🤖]
Update (September 23, 2026): the bootstrap-setting item is now a non-blocking suggestion, not a condition for merging this PR. This PR changes generation guidance, and we have not reproduced a failing generated Terraform artifact or deployment for that omission. Explicitly documenting the provider setting remains a useful improvement.
This edit changes only that item's disposition. The September 22 review text below is retained as historical context.
[🤖 AI review 🤖]
Reviewed exact head 25c60e9cf694f02dc4c4e0e82359da04fa67cac6 against base ec681ba5d49b039dbf1ef9d87d3304205b824f3d using OCR delegation, one fresh independent general reviewer, a parent repository review, and candidate verification. Request changes: one remaining P1 and two verified P2 findings.
- P1 — regional selection remains unresolved: Auto Mode still defaults into China Regions despite the current EKS FAQ exclusion. Follow-up is in the existing regional thread.
- P2 — Auto Mode creation: the generation instructions omit
bootstrap_self_managed_addons = false, exposing the allowed provider's incompatible default. - P2 — ARM64 estimate/generation alignment: pricing requires the custom NodePool to be applied before the Generate phase that emits it, while later output retains and claims alignment with the earlier Balanced estimate.
The latest Q8 option references, removed-sentiment trigger, and Standard EKS wording are verified fixed in both copies; I replied in the original discussion. The earlier resolved-target, NodeClass API and x86_64 fixes remain intact. The two new findings are inline and apply to both mirrors.
Validation: all 36 authored Markdown files were covered even though OCR excluded their extension; all 18 mirror pairs match. The parent ran 151 registered Node tests, formatting, Markdown lint, drift and git diff --check successfully. Provider defaults and phase contracts were checked against original source, with the new provider evidence independently refetched after candidate review. The required hybrid evidence gate passed.
These are source/provider-contract and local-check results. No end-to-end model migration or EKS deployment was run. GitHub CI and merge readiness remain separate requirements.
Adopt the Clarify fragment and assembler structure from main. Preserve the Auto Mode Q8 default in returned rows, assembled preferences, and defaults, and keep the Standard EKS multi-cloud override in both plugin copies.
… line Replace the lone "K8s" abbreviation with "Kubernetes" to match the rest of the sentence. Both mirrors.
Problem
For GCP → AWS migrations, the
gcp-to-awsskill defaulted GKE workloads to ECS Fargate whenever the user didn't explicitly express a Kubernetes preference, and it did not offer EKS Auto Mode as a target at all. This is out of step with current AWS guidance, which positions EKS Auto Mode as the recommended low-operational-overhead way to run Kubernetes (the closest equivalent to GKE Autopilot). GKE Autopilot clusters in particular had no matching AWS landing zone, and the Autopilot signal — although captured in live discovery — never reached the Clarify/Design phases.Solution
enable_autopilot, liveautopilot.enabled) and normalize a canonicalconfig.autopilot_enabledkey into the inventory schema so Clarify/Design can read it.eks-auto/eks-standard/ecs-fargateenum flows through the compute rubric (compute.md), fast-path, index, Terraform generation (Auto Mode cluster vs managed node groups), pricing formulas (Auto Mode management fee + control-plane fee), preferences schema, billing path, and workshop sheet.advisor/copy ofgcp-to-awsso the cross-plugin drift check stays green.Type of Change
Team Folder
advisor/migrate/solution-architecture/Checklist
mise run buildlocally and it passesBy submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.