Skip to content

Conversation

@frankdavid
Copy link
Contributor

@frankdavid frankdavid commented Jan 6, 2026

Config files are passed from the HostOS into the GuestOS using a config media (aka virtual USB stick) which the GuestOS sees as a block device (usually under /dev/sda) containing a vfat filesystem. Previously config files were not directly stored in the filesystem, but they were tarred into a single ic-bootstrap.tar file which was then written to the config media.

The tarring step is unnecessary and makes accessing the config files more difficult since the files have to be untarred first. Furthermore, tars can contain unwanted entries, such as symlinks, devices etc. which can be misused by a malicious host (these are not supported by vfat).

The migration consists of 3 steps:

  1. (this PR) Prepare GuestOS to read files directly from the config media and fall back to ic-bootstrap.tar when it exists for backwards compatibility.

  2. Once 1) has been rolled out to all nodes, stop tarring in HostOS (chore: Consume config directly without untarring (Host) #8235)

  3. Once 2) has been rolled out to all nodes, remove fallback from GuestOS.

Config files are passed from the HostOS into the GuestOS using a config media (aka virtual USB stick) which the GuestOS sees as a block device (usually under `/dev/sda`) containing a vfat filesystem. Previously config files were not directly stored in the filesystem, but they were tarred into a single ic-bootstrap.tar file which was then written to the config media.

The tarring step is unnecessary and makes accessing the config files more difficult since the files have to be untarred first. Furthermore, tars can contain unwanted entries, such as symlinks, devices etc. which can be misused by a malicious host (these are not supported by vfat).

The migration consists of 3 steps:
1) (this PR) Prepare GuestOS to read files directly from the config media and fall back to `ic-bootstrap.tar` when it exists for backwards compatibility.
2) Once 1) has been rolled out to all nodes, stop tarring in HostOS.
3) Once 2) has been rolled out to all nodes, remove fallback from GuestOS.
@frankdavid frankdavid requested a review from a team as a code owner January 6, 2026 14:04
@github-actions github-actions bot added the chore label Jan 6, 2026
frankdavid added a commit that referenced this pull request Jan 6, 2026
Config files are passed from the HostOS into the GuestOS using a config media (aka virtual USB stick) which the GuestOS sees as a block device (usually under `/dev/sda`) containing a vfat filesystem. Previously config files were not directly stored in the filesystem, but they were tarred into a single ic-bootstrap.tar file which was then written to the config media.

The tarring step is unnecessary and makes accessing the config files more difficult since the files have to be untarred first. Furthermore, tars can contain unwanted entries, such as symlinks, devices etc. which can be misused by a malicious host (these are not supported by vfat).

The migration consists of 3 steps:
1) Prepare GuestOS to read files directly from the config media and fall back to `ic-bootstrap.tar` when it exists for backwards compatibility. (#8234)
2) (this PR) Once 1) has been rolled out to all nodes, stop tarring in HostOS.
3) Once 2) has been rolled out to all nodes, remove fallback from GuestOS.
@frankdavid frankdavid enabled auto-merge January 7, 2026 12:09
@frankdavid frankdavid added this pull request to the merge queue Jan 7, 2026
Merged via the queue into master with commit fa973f8 Jan 7, 2026
38 checks passed
@frankdavid frankdavid deleted the frankdavid/config-no-tar-guest branch January 7, 2026 13:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants