coreos / coreos/ignition

RFE: Allow every field to reference a remote resource

Open
#1,097 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

I noticed at
https://github.com/coreos/fcct/blob/master/docs/configuration-v1_1.md
that systemd -> contents does not have variant for including the contents from a local file. For me it would have been convenient to have that feature.

Why not generalize the data input, so that strings and bytearrays always can be included from URLs, local files or inline?
Something like two new "datatypes":
general_text_data and general_binary_data

Just a sketch:

  • general_text_data (object): the config that will replace the current.
    • source (string): the URL of the config. Supported schemes are http, https, s3, tftp, and [data][rfc2397]. Note: When using http, it is advisable to use the verification option to ensure the contents haven't been modified. Mutually exclusive with inline and local.
    • inline (string): the contents of the config. Mutually exclusive with source and local.
    • local (string): a local path to the contents of the config, relative to the directory specified by the --files-dir command-line argument. Mutually exclusive with source and inline.
    • http_headers (list of objects): a list of HTTP headers to be added to the request. Available for http and https source schemes only.
      • name (string): the header name.
      • value (string): the header contents.
    • verification (object): options related to the verification of the config.
      • hash (string): the hash of the config, in the form <type>-<value> where type is either sha512 or sha256.

If it would be possible to reference the string contents of one of

passwd -> users -> ssh_authorized_keys

with a general_text_data, you could start referencing your public ssh key from Github, as they are downloadable like this

wget https://github.com/eriksjolund.keys

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

Review docs/configuration-v1_1.md and the current definitions of systemd.contents and passwd.users.ssh_authorized_keys. Compare the proposed general_text_data and general_binary_data structures, including sources, local files, headers, and verification. Done means the generalized reference behavior and compatibility requirements are specified and accepted.

Written by the indexing model from the issue text.

Assessment

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