aws / aws/eks-anywhere

Expose KubeAdm apiserver extra-args configuration in EKS-A manifest

Open
#5,158 1 comment 2 reactions 0 assignees View on GitHub
area/api external
Dominant language
Go
Stars
2.1k
Forks
328
Avg merge
1d 4h
Merged PRs (30d)
9

Description

**What would you like to be added**:

Expose KubeAdm apiserver extra-args configuration in EKS-A manifest

**Why is this needed**:

KubeAdm cluster-api provider allows users to customize kube-apiserver arguments for configuring additional capabilities or experimental feature flags via extra-args (as seen in [kubeadm_types.go](https://github.com/kubernetes-sigs/cluster-api/blob/main/bootstrap/kubeadm/api/v1beta1/kubeadm_types.go)). This helps one to configure custom webhook based identity implementations. Given that eks-a wraps around kubeadm controlplane, it would be useful to provide a "extraArgs" at eks-a cluster manifest level that will propagate the arguments to kubeadm control plane config

Sample of the spec in kubeadmConfig in Cluster-API

```
spec:
infrastructureTemplate:
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3
kind: AWSMachineTemplate
name: capi-etcd-control-plane
kubeadmConfigSpec:
clusterConfiguration:
apiServer:
extraArgs:
cloud-provider: aws
```

Contributor guide

Open the contributing guide

Research direction

Start with the linked kubeadm_types.go definition to understand the expected apiServer.extraArgs shape, then locate the EKS-A manifest and the code that maps it into the kubeadm control-plane configuration. Done means an extraArgs setting is accepted at the EKS-A manifest level and propagated to the kubeadm API server configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
backend, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.