aws / aws/eks-anywhere

Custom extra cloud-init userdata

Open
#4,223 3 comments 12 reactions 0 assignees View on GitHub
external kind/enhancement priority/p1 triage/accepted
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.