support a secondary mechanism for choosing where user-data comes from
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 974
- Forks
- 296
- Avg merge
- 6d 14h
- Merged PRs (30d)
- 9
Description
Disclaimer: this may be a bad idea 😄
I wonder if we should add a mode to Ignition where one can specify the mechanism/medium by which to obtain user-data.
Right now ignition.platform.id specifies the platform, which implies the medium, but at times I've encountered where people aren't necessarily on supported platforms and they want to use Ignition and they have to specify the platform to get what they want OR they are on a supported platform but it's inconvenient to use the medium that is hardcoded for that platform.
Using/specifying one platform when you are on another can be not great too. It won't be a 100% fit. An example of this is often people use the openstack image because it can do configdrive.
Should we have some secondary mechanism by which to specify the medium to obtain Ignition? Something like ignition.medium=configdrive. Then they could leave the platform as metal.
Note there are at least two ways to get an Ignition file into an instance that isn't the platform supported way:
ignition.config.url- somehow cracking open the filesystem and writing a file to
/boot/ignition/config.ign- This seems to be a Fedora CoreOS thing only, though: https://github.com/coreos/fedora-coreos-config/blob/testing-devel/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-ignition/coreos-ignition-setup-user.sh#L35-L38 but I guess ignition upstream supports it being in
/usr/lib/ignition/user.ign?
- This seems to be a Fedora CoreOS thing only, though: https://github.com/coreos/fedora-coreos-config/blob/testing-devel/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-ignition/coreos-ignition-setup-user.sh#L35-L38 but I guess ignition upstream supports it being in
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how ignition.platform.id currently selects the user-data medium, then inspect the existing ignition.config.url path and the documented filesystem locations /boot/ignition/config.ign and /usr/lib/ignition/user.ign. Done would require an agreed design for a secondary medium selector, its interaction with platform selection, and corresponding implementation and tests; the issue names no specific source files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100