coreos / coreos/ignition

Consider adding spec fields describing the config source and generator

Open
#696 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/usability kind/enhancement
Dominant language
Go
Stars
974
Forks
296
Avg merge
6d 14h
Merged PRs (30d)
9

Description

Feature Request

Environment

Any

Desired Feature

Consider adding spec fields describing where a config came from: the corresponding human-readable source file and the tool used to convert it into an Ignition config.

The purpose of these fields is to assist users in determining the source of an Ignition config and what bugs may have existed in the tool used to generate it. They are explicitly not to be used by Ignition to work around bugs in generator tools.

Example spec fragment

The data model below is intentionally simplistic, e.g. it does not handle multiple source files or multiple generator tools. We could expand the model if that seems useful, but I didn't want to overdo it.

  • ignition (object): metadata about the configuration itself.
    • config (object): options related to the configuration.
      • origin (object): information about the human-readable source file for the configuration.
        • identifier (string): a URI referring to the source file. This is not resolved by Ignition.
        • hash (string): the hash of the source file, in the form <type>-<value> where type is sha512.
      • generator (object): information about the software that generated the configuration.
        • software (string): a URL referring to the software, such as a website or source code repository.
        • version (string): the version of the software. This does not need to be a semantic version number and has no semantics.

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 reviewing the configuration specification and the example metadata model in this issue. Determine where Ignition defines and validates spec fields, then clarify the model for source identifiers, hashes, generator software, and versions. Done means the agreed fields are represented consistently in the spec and their behavior is covered by the relevant validation or specification tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
tooling
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.