cluster-api-provider-aws
cluster-api-provider-aws copied to clipboard
Enhance cloud-init to use the data-format and add missing capabilities for parity w/CAPI
/kind feature
The EKSConfigTemplate currently uses a bash-style cloud-init user data. However, cloud-init supports several user data formats, including a YAML-based document which has exposes more capabilities than can easily be accomplished with bash. CAPI's KubeadmConfigTemplate uses the YAML data format of cloud-init, which allows it to have additional capabilities in disk, mount, and filesystem layouts, amongst other things. CAPA should adopt the same YAML-based cloud-init format and expose the same set of capabilities as the KubeadmConfigTemplate in regards to cloud-init. The feature parity makes it easier for users coming from a self-managed clusters to switch and adopt EKS clusters.
Relevant CAPI cloudinit logic: https://github.com/kubernetes-sigs/cluster-api/blob/main/bootstrap/kubeadm/internal/cloudinit/cloudinit.go
Anything else you would like to add:
Slack: https://kubernetes.slack.com/archives/CD6U2V71N/p1664301807063759
- Cluster-api-provider-aws version: 1.5.0
- Kubernetes version: (use kubectl version):
- OS (e.g. from /etc/os-release):
/triage accepted
@cnmcavoy: The label triage/accepted cannot be applied. Only GitHub organization members can add the label.
In response to this:
/triage accepted
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
/triage accepted