Commit 69c4660
Convert Podman Quadlet deployment from rootful to rootless
Enables Foreman deployment using rootless Podman containers, improving
security by eliminating root privileges for container operations while
maintaining full functionality of the Foreman/Katello stack.
What this achieves:
- Rootless deployment: All containers run without root privileges
- Single service user: Entire stack (foreman, candlepin, postgresql, redis,
pulp) runs under dedicated foremanctl user
- Migration support: Automated playbook converts existing rootful deployments
- Namespace isolation: Container volumes properly mapped to user namespaces
- Port access: Unprivileged ports configured for HTTP/HTTPS access
New capabilities:
- Fresh deployments use rootless mode by default
- Existing rootful deployments can migrate with automated playbook
- All certificates, data, and configuration preserved during migration
- User lingering enabled for service persistence across reboots
This change modernizes the deployment model to follow container security
best practices while maintaining backward compatibility through the migration
playbook.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>1 parent 60b55aa commit 69c4660
File tree
34 files changed
+1747
-899
lines changed- development/playbooks
- deploy-dev
- remote-database
- docs
- src
- playbooks
- deploy
- migrate-to-rootless
- roles
- candlepin
- handlers
- tasks
- certificates
- defaults
- tasks
- check_subuid_subgid/tasks
- checks/tasks
- foreman_proxy
- handlers
- tasks
- foreman
- handlers
- tasks
- postgresql
- defaults
- handlers
- tasks
- pulp
- defaults
- handlers
- tasks
- redis
- defaults
- tasks
- rootless_user
- defaults
- tasks
- systemd_target/tasks
- vars
34 files changed
+1747
-899
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
2 | 12 | | |
3 | 13 | | |
4 | 14 | | |
| |||
Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
2 | 13 | | |
3 | 14 | | |
4 | 15 | | |
5 | 16 | | |
6 | 17 | | |
7 | 18 | | |
| 19 | + | |
8 | 20 | | |
9 | 21 | | |
10 | 22 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
46 | | - | |
47 | | - | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
54 | 58 | | |
55 | 59 | | |
56 | 60 | | |
| |||
99 | 103 | | |
100 | 104 | | |
101 | 105 | | |
| 106 | + | |
102 | 107 | | |
103 | 108 | | |
104 | 109 | | |
105 | 110 | | |
106 | 111 | | |
107 | 112 | | |
108 | 113 | | |
109 | | - | |
110 | | - | |
111 | | - | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
112 | 118 | | |
113 | 119 | | |
114 | 120 | | |
| |||
138 | 144 | | |
139 | 145 | | |
140 | 146 | | |
141 | | - | |
| 147 | + | |
142 | 148 | | |
143 | 149 | | |
144 | 150 | | |
145 | 151 | | |
146 | 152 | | |
| 153 | + | |
| 154 | + | |
147 | 155 | | |
148 | 156 | | |
149 | 157 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
3 | 14 | | |
4 | 15 | | |
5 | 16 | | |
| |||
0 commit comments