Optional: Include first-boot onboarding (flightctl-onboarding)

Add the flightctl-onboarding package to an existing operating system image so that devices without a standard enrollment path can use the first-boot onboarding wizard.

The flightctl-onboarding package is listed in the Containerfile example in Building the operating system image with bootc. Omit it from the dnf install line when devices already receive network and agent configuration at deploy time and can enroll without the wizard. For when to use first-boot onboarding, see Device onboarding at first boot in the Additional resources section.

To add onboarding to an image you already built and published, create a new Containerfile that layers on your existing image, install flightctl-onboarding, and rebuild, sign, and publish the result:

FROM <your_registry>/<your_org>/<your_existing_image>:<tag>

RUN dnf config-manager --set-enabled edge-manager-<version>-for-rhel-<version>-$(uname -m)-rpms && \
    dnf -y install flightctl-onboarding hostapd dnsmasq \
    firewalld policycoreutils flightctl-cli && \
    dnf -y clean all
Note

Not all onboarding packages are required for every access method. hostapd, dnsmasq, and firewalld are required only when devices use the WiFi access point for wizard access. dnsmasq is optional for ethernet access (provides DHCP so technicians do not need to assign a static IP manually; ethernet falls back to manual static IP without it). flightctl-cli is required when the wizard performs late binding. policycoreutils provides restorecon for SELinux labeling. Omit packages you do not need.

Note

You cannot reliably add flightctl-onboarding to an image-mode or bootc device after provisioning by using dnf install. Include the RPM when you build or rebuild the operating system image.