Configure the image builder worker for subscription-managed RPM content

Configure the image builder worker to install the Red Hat Edge Manager agent RPM from your Red Hat Enterprise Linux subscription instead of the default public repository.

  • Red Hat Edge Manager is deployed with the image builder worker enabled.
  • A valid Red Hat Enterprise Linux subscription with the Red Hat Edge Manager RPM repository enabled for your architecture. Use the repository identifier that matches your product version and system architecture.
  • Root or sudo-capable access on the Red Hat Enterprise Linux host where Red Hat Edge Manager runs with Podman Quadlets.

Configuring on Red Hat Enterprise Linux with Podman Quadlets

When Red Hat Edge Manager runs on Red Hat Enterprise Linux by using Podman Quadlets, mount subscription data from the host into the image builder worker container and disable the default repository URL step.

  • Red Hat Edge Manager services are installed from the flightctl-services package and run under Podman.
  • The host has an active Red Hat Enterprise Linux subscription with the Red Hat Edge Manager repository enabled.
    1. Create a Quadlet drop-in file to mount subscription data from the host into the worker container. Use a drop-in instead of editing the package-shipped unit under /usr/share/containers/systemd/ so your configuration persists across package upgrades:
      $ sudo mkdir -p /etc/containers/systemd/flightctl-imagebuilder-worker.container.d
      $ sudo tee /etc/containers/systemd/flightctl-imagebuilder-worker.container.d/subscription.conf <<'EOF'
      [Container]
      Volume=/etc/pki/entitlement:/etc/pki/entitlement:ro,z
      Volume=/etc/yum.repos.d:/etc/yum.repos.d:ro,z
      Volume=/etc/rhsm/:/etc/rhsm/:ro,z
      EOF
    2. Edit /etc/flightctl/service-config.yaml and set the following under imagebuilderWorker (adjust the path if your installation differs):
      imagebuilderWorker:
        rpmRepoAdd: false
        rpmRepoEnable: "edge-manager-1.3-for-rhel-9-x86_64-rpms"
    3. Reload systemd and restart the worker:
      $ sudo systemctl daemon-reload
      $ sudo systemctl restart flightctl-imagebuilder-worker.service

Troubleshooting

If image builds fail with a package or subscription error, use the following checks:

  • Package not found: Confirm network access to Red Hat CDN or your mirrors. Verify that rpmRepoEnable matches a repository that is enabled for your entitlement.
  • Subscription or entitlement errors: Run sudo subscription-manager status on the host.
  • Worker logs: Run sudo journalctl -u flightctl-imagebuilder-worker.service.
  • Build fails with an RLIMIT_NOFILE error: The host’s open-file-descriptor limit is lower than the build container requires. See Troubleshooting image builds that fail with an RLIMIT_NOFILE error in the Additional resources section.
  • Unauthorized registry errors for builder service images: Builds can fail when pulling podman, bootc-image-builder, or syft from an authenticated mirror. Mount auth.json at /root/.config/containers/auth.json in the worker container. global.imagePullSecretName authenticates only the worker pod image. See Configure registry authentication for builder service images in the Additional resources section.