Closed displague closed 2 years ago
Hey @displague, wanted to just check that this is still outstanding, yes?
@jacobweinstock yes - still interested in this as it would permit tinkerbell users to set their userdata values while providing a space for their users to set their own userdata.
Having discussed what Hegel's API is in the community meeting and with the development of the Hegel metadata API I'm closing this in favor of waiting for the Hegel metadata with #112
Also see #77
Expected Behaviour
Users providing metadata may wish to include vendor-data in the metadata. Vendor data is like userdata, but it is only run on first boot and can be overridden by userdata. https://cloudinit.readthedocs.io/en/latest/topics/vendordata.html
This vendor data is currently not exposed through the EC2 compatibility paths.
https://github.com/tinkerbell/hegel/blob/9f5da0a80af990031230b0698d56606787b16eec/http-server/http_handlers.go#L26-L49
Tools like cloud-init know to look for vendor-data. https://github.com/canonical/cloud-init/blob/35aa9db6f8e2ba05d366776c0e8d97f52217e930/cloudinit/util.py
See also, https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html
Current Behaviour
vendor-data is not exposed through the EC2 metadata.
Possible Solution
Implement vendor-data, treating it as a URL that acts like userdata, supplied by a vendordata metadata key.
Steps to Reproduce (for bugs)
1. 2. 3. 4.
Context
Your Environment
Operating System and version (e.g. Linux, Windows, MacOS):
How are you running Tinkerbell? Using Vagrant & VirtualBox, Vagrant & Libvirt, on Packet using Terraform, or give details:
Link to your project or a code example to reproduce issue: