Chapter 4. Rootless and privileged workloads


Red Hat Edge Manager supports both rootless and privileged application execution for the container and quadlet application types. Run workloads as rootless (non-root) where possible to reduce the attack surface and follow the principle of least privilege.

  • Rootless workloads: Run with a non-root user and group. The agent validates that the specified user exists on the device before starting the workload. Use rootless for applications that do not require elevated privileges.
  • Privileged workloads: Run with elevated capabilities when explicitly required. Set runAs: root in the application specification only when the workload needs root or elevated access (for example, certain device drivers or system operations).

For container and quadlet application types, you have two options for user configuration:

  • Option 1 (Recommended): Run as a dedicated non-root user - Specify runAs: flightctl (or another non-root user) in the application YAML so the workload runs under that user’s rootless Podman and systemd instance. You must create this user in the operating system image during the bootc build process. See Build a bootc operating system image for how to add user creation to your Containerfile.
  • Option 2: Run as root - If runAs is not specified for container or quadlet applications, they run under the root Podman and systemd instance. Use this only when the application requires elevated privileges.

For compose application types, runAs is not supported in the device specification. The Compose runtime on the device does not support runAs, and there is no downstream path that applies it from the specification, so any runAs value is ignored. The agent invokes Podman Compose under the root user.

Existing deployments that do not specify runAs remain compatible with earlier versions and continue to run with their current privileged behavior.

Note

Migration from root-based deployments: To move to rootless where possible, set runAs: flightctl for applications that do not need elevated access. Ensure the user and group specified for the workload exist on the device. Existing privileged workloads continue to work without changes.

Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat Documentation

Legal Notice

Theme

© 2026 Red Hat
Back to top