Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

config,storage: support populating directories from archives #1498

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Commits on Nov 13, 2022

  1. config,validate: allow config types to conflict based on key prefix

    This allows some schema types to specify a key prefix for which keys
    matching said prefix should conflict. This is used by a subsequent
    commit where a directory is populated from an archive, and any file,
    directory, or link whose path is under the original directory should
    conflict.
    Snaipe committed Nov 13, 2022
    Configuration menu
    Copy the full SHA
    5061abd View commit details
    Browse the repository at this point in the history
  2. config,storage: support populating directories from archives

    Tarballs are ubiquitous as a binary release format, and without any
    builtin ability to fetch, validate, and extract them, we are left
    with half-baked hacks to do all of this from the confines of a oneshot
    systemd service, or worse, extracting and providing the entirety of the
    archive contents as files and directory entries in the ignition config,
    resulting in very large json documents.
    
    Let's not do this. Instead, this commit formalizes the use of archives
    via adding a new (optional) "contents" key under a directory entry.
    
    This new contents key is identical in function as its eponymous version
    in the "files" entries, except that it incorporates a new "archive"
    subkey to specify the archive format rather than guessing with
    heuristics. Today, only "archive": "tar" is supported, though this
    commit is structured to allow the addition of other archive types if
    needed.
    Snaipe committed Nov 13, 2022
    Configuration menu
    Copy the full SHA
    4fdf6de View commit details
    Browse the repository at this point in the history