We need the ability to specify annotations in the spec of a VSphereMachineConfig to be propagated to VSphereMachineTemplates
- Dominant language
- Go
- Stars
- 2.1k
- Forks
- 328
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 9
Description
**What would you like to be added**:
We need the ability to specify annotations in the spec of a VSphereMachineConfig to be propagated to the spec.template.metadata.annotations of the resultant VSphereMachineTemplate.
**Why is this needed**:
We cannot use DHCP in our environment and instead use Infoblox IPAM in conjunction with a controller in our management clusters. This IPAM controller acts upon annotations set in the metadata of VSphereMachine resources.
```
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: VSphereMachineTemplate
spec:
template:
metadata:
annotations:
ipam.schiff.telekom.de/NetworkName: #@ "{}".format(data.values.VSPHERE_NETWORK_DMZ)
ipam.schiff.telekom.de/Subnet: #@ "{}".format(data.values.INFOBLOX_SUBNET_DMZ)
ipam.schiff.telekom.de/InfobloxNetworkView: default
ipam.schiff.telekom.de/DNSZone: #@ "{}".format(data.values.INFOBLOX_DNS_ZONE)
```
Contributor guide
Research direction
Locate the VSphereMachineConfig and VSphereMachineTemplate API definitions and the reconciliation path that creates the template. Trace how metadata is currently transferred, then add coverage showing that annotations from the config reach spec.template.metadata.annotations on the resultant template. Done means the requested annotations are preserved and the relevant tests pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- infrastructure
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100