{
  "slug": "eksctl-supports-control-plane-component-configuration-f0a3c7a19ca9",
  "title": "eksctl supports control plane component configuration",
  "tools": [
    "eksctl"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-08-14T18:42:38.000Z",
  "announced_at": "2026-08-14T18:42:38.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When creating an EKS cluster with selected control plane settings, set the corresponding optional component fields in the ClusterConfig file; omitted fields use EKS defaults. To update an existing cluster, set at least one component field and run the update command; only components present in the file are updated.",
    "examples": [
      "eksctl create cluster -f control-plane-component-config.yaml",
      "eksctl utils update-control-plane-component-config -f control-plane-component-config.yaml"
    ],
    "gotchas": [
      "Version: v0.230.0",
      "-f control-plane-component-config.yaml (required): Path to the ClusterConfig file. Required for the update command.",
      "kubeAPIServerConfig: Optional kube-apiserver configuration. Documented sub-keys: eventTTL (event retention duration) and serviceNodePortRange, with required minPort and maxPort port numbers. These component fields are independently optional, not documented as mutually exclusive.",
      "kubeSchedulerConfig: Optional kube-scheduler configuration. Documented sub-key nodeResourcesFit.scoringStrategy: type accepts LeastAllocated or MostAllocated; resources is a list of resources considered, each with a relative weight. These component fields are independently optional, not documented as mutually exclusive.",
      "kubeControllerManagerConfig: Optional kube-controller-manager configuration. Documented sub-key horizontalPodAutoscalerControllerConfig.horizontalPodAutoscalerSyncPeriod (duration string; configurable only on provisioned control plane scaling tiers, fixed at default on Standard tier), and podGCControllerConfig.terminatedPodGCThreshold (threshold; configurable only on provisioned control plane scaling tiers, fixed at default on Standard tier). These component fields are independently optional, not documented as mutually exclusive.",
      "Each component field is optional; EKS applies its default for omitted fields when creating a cluster.",
      "Updating an existing cluster requires a config file with at least one of `kubeAPIServerConfig`, `kubeSchedulerConfig`, or `kubeControllerManagerConfig`.",
      "Only components present in the update file are updated; omitted components are left unchanged.",
      "Docs conflict: The current official documentation includes podGCControllerConfig.terminatedPodGCThreshold, absent from the supplied v0.230.0 release-note evidence; it also says Standard tier fixes this setting at the default. Do not treat this as evidence that the v0.230.0 feature supported that key."
    ]
  },
  "why_it_matters": "Create or update an EKS cluster with selected kube-apiserver, kube-scheduler, or kube-controller-manager settings.",
  "sources": [
    "https://github.com/eksctl-io/eksctl/releases/tag/v0.230.0",
    "https://github.com/eksctl-io/eksctl/pull/8821",
    "https://eksctl.io/usage/control-plane-component-config/"
  ],
  "rank": 0.98053,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v2+judge-v2x3+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "wave2a-20261017",
    "verdict_id": "wave2a-20261017:wave2a-20261017-94882f3148d707c0-0:gate",
    "evidence_hash": "9478531e5bbd71f1e252d518a25fa30c3246bffe828677abc29e057df8bb03a2"
  },
  "review": {
    "draft_hash": "f2a2d0041ec2477d6bd42ac49445acba5814a61f87b30d3436a967efb734086c",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "wave2a-20261017:gate",
    "reason": "3 of 3 judge runs approved with p_yes >= 0.9 (mean 0.98 >= 0.9; 2 needed) and Jev gave 0.77 (>= 0.6 needed)."
  }
}
