Custom extra cloud-init userdata
- Dominant language
- Go
- Stars
- 2.1k
- Forks
- 328
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 9
Description
**What would you like to be added**:
Option to provide extra cloud-init user-data to cluster nodes.
VSphereMachineConfig, CloudStackMachineConfig, TinkerbellMachineConfig all implement [spec.users](https://anywhere.eks.amazonaws.com/docs/reference/clusterspec/vsphere/#users-optional) which eventually get merged in cloud-init user-data. Would it be possible to add a new field (e.g. `spec.extraUserData`) allowing for free form cloud-init customization?
**Why is this needed**:
There are many use-cases, but here are a couple examples:
- Custom container runtime configuration (e.g. set registry-mirror to pull images from local registry first by default)
- Trust private Certification Authority
- Custom agent installation (configuration management, auditing/security tools, etc...)
The [official documentation](https://anywhere.eks.amazonaws.com/docs/reference/vsphere/customize-ovas/) recommends those changes to be made on the template itself. It works, but requires multiple images to be maintained (and distributed to their proper location) if customization defers between node types and/or clusters.
Contributor guide
Research direction
Start by reading the VSphereMachineConfig, CloudStackMachineConfig, and TinkerbellMachineConfig handling of spec.users, then trace where those values are merged into cloud-init user-data. Compare the existing cloud-init customization guidance with the requested extraUserData behavior; done means the intended field and merge behavior are defined consistently for the affected node types.
Written by the indexing model from the issue text.
Assessment
- Domain
- infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100