Skip to content

Conversation

@insatomcat
Copy link
Member

@insatomcat insatomcat commented Jan 30, 2026

This pull request aims to simplify the image provisioning process by moving image loading from a firstboot system service to the installation phase itself. This is a draft, because it requires dropping docker support for build_debian_iso.

Historically, Docker has required a system service running as root. When installing a system from an NFSROOT, this prevents us from running docker load on the target system, as the Docker daemon is not available at that stage. To work around this limitation, we introduced a dedicated firstboot service responsible for loading container images during the first boot of the machine.

While functional, this approach adds significant complexity to the installation process.

Podman does not require a system service, which is already beneficial from a security standpoint. More importantly in our case, it allows container images to be loaded directly using podman load from the NFSROOT during the installation phase.

By relying only on Podman, we can therefore load images at install time and completely remove the need for a custom firstboot service. This greatly simplifies the overall workflow and makes the system initialization more straightforward and robust.

Dropping Docker support for build_debian_iso is a prerequisite to enable this change, but the primary objective of this pull request is to move image loading to the installation phase and eliminate the firstboot mechanism.

@insatomcat insatomcat force-pushed the dev2 branch 2 times, most recently from f2a1352 to 4ebc89f Compare January 30, 2026 07:45
Podman will be useful on non cluster hosts.

Signed-off-by: Florent CARLI <florent.carli@rte-france.com>
dupremathieu
dupremathieu previously approved these changes Jan 30, 2026
Container image loading was previously handled by a custom firstboot system service due to Docker’s requirement for a running daemon. This was necessary during NFS-root-based installations, where docker load could not be executed at install time.

By standardizing on Podman, which does not rely on a system service, images can now be loaded directly during the installation phase using podman load. This allows us to remove the firstboot service entirely and significantly simplify the installation and initialization process.

Dropping Docker support for build_debian_iso is a prerequisite for this change, but the main goal of this commit is to streamline image provisioning by performing it during installation rather than at first boot.

Signed-off-by: Florent CARLI <florent.carli@rte-france.com>
This it to explain the aardvark-dns dependency

Signed-off-by: Florent CARLI <florent.carli@rte-france.com>
This is to not have to repeat "sudo" everytime

Signed-off-by: Florent CARLI <florent.carli@rte-france.com>
Signed-off-by: Florent CARLI <florent.carli@rte-france.com>
This has nothing to do in the SEAPATH_HOST class which is also for standalone machines

Signed-off-by: Florent CARLI <florent.carli@rte-france.com>
the fai-cd binary changed so we need to adapt our patch

Signed-off-by: Florent CARLI <florent.carli@rte-france.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants