Skip to content

Convert Podman Quadlet deployment from rootful to rootless#379

Draft
pablomh wants to merge 1 commit intotheforeman:masterfrom
pablomh:rootless
Draft

Convert Podman Quadlet deployment from rootful to rootless#379
pablomh wants to merge 1 commit intotheforeman:masterfrom
pablomh:rootless

Conversation

@pablomh
Copy link
Contributor

@pablomh pablomh commented Feb 19, 2026

Converts Foreman deployment to rootless Podman containers with dedicated service user and proper namespace isolation.

Key changes:

  • Auto-allocate matching UID/GID for foreman service user
  • Map container volumes to proper UIDs (PostgreSQL:26, Redis:1001, Pulp:700)
  • Move certificates from /root to /var/lib/foreman with correct ownership
  • Add migration playbook for converting existing rootful deployments
  • Move Quadlet files to user scope (~/.config/containers/systemd)
  • Enable loginctl linger and configure unprivileged ports

New components:

  • rootless_user role: Service user creation with auto-allocation
  • migrate-to-rootless playbook: Automated rootful-to-rootless migration

@pablomh pablomh marked this pull request as draft February 19, 2026 11:37
@pablomh pablomh force-pushed the rootless branch 13 times, most recently from c8b8f97 to 667b826 Compare February 19, 2026 14:39
@ehelms
Copy link
Member

ehelms commented Feb 19, 2026

Will rootless containers work with private podman networks?

@pablomh
Copy link
Contributor Author

pablomh commented Feb 19, 2026

I need to investigate it. My current tests have involved only installing and checking that I was able to pass the login page successfully.

@ehelms
Copy link
Member

ehelms commented Feb 19, 2026

Just keeping track of things that have come up around whether rootless will work, this is the other issue I could think of #220

@pablomh
Copy link
Contributor Author

pablomh commented Feb 19, 2026

Thanks! I'll keep an eye on that (I know it's one of the main issues, but wanted to share my work in case it could speed up development).

Converts Foreman deployment to rootless Podman containers with dedicated
service user and proper namespace isolation.

Key changes:

- Auto-allocate matching UID/GID for foreman service user
- Map container volumes to proper UIDs (PostgreSQL:26, Redis:1001, Pulp:700)
- Move certificates from /root to /var/lib/foreman with correct ownership
- Add migration playbook for converting existing rootful deployments
- Move Quadlet files to user scope (~/.config/containers/systemd)
- Enable loginctl linger and configure unprivileged ports

New components:

- rootless_user role: Service user creation with auto-allocation
- migrate-to-rootless playbook: Automated rootful-to-rootless migration

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments