coreos / coreos/ignition

support a secondary mechanism for choosing where user-data comes from

Open
#2,150 8 comments 1 reaction 0 assignees View on GitHub

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:

  1. ignition.config.url
  2. somehow cracking open the filesystem and writing a file to /boot/ignition/config.ign

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.