44>
55> Review periodically and pick what sounds interesting.
66
7- ** Last Updated:** 2026-03-16
7+ ** Last Updated:** 2026-04-12
88
99---
1010
1111## Active Consideration
1212* Currently thinking about these*
1313
14- ### Workload Library - Practical Services
15- ** Why:** Validate workload system with real services, build useful infrastructure
16- ** Effort:** Medium (incremental, ~ 1 day per service)
17- ** Value:** High (validates system, immediately useful)
18- ** Interest:** High
19-
20- ** Services to implement:**
21- - [x] Pi-hole (DNS/ad blocking)
22- - [x] Local container registry (private image storage)
23- - [x] Squid proxy (caching HTTP/rpm proxy)
24- - [x] VPN web proxy (route traffic through VPN tunnel)
25- - [x] Fileserver (Samba)
26- - [x] Gitea or other self-hosted git
27- - [x] Monitoring stack (Prometheus + Grafana)
28-
29- ---
30-
31- ### Gaming/Desktop Streaming
32- Stream games from beefy computer to thin client in another room
33- - ** Effort:** Unknown (depends on headless display solution)
34- - ** Value:** High (primary use case)
35- - ** Interest:** High
36-
37- ** Unknowns:**
38- - Does headless Steam work in container?
39- - What display server is needed? (Xvfb, Wayland headless, virtual DRM?)
40- - Does Sunshine capture containerized apps properly?
41- - Resource limits work
42-
43- ** Already validated:**
44- - [ Cosy] ( https://github.com/BenSmith/cosy ) proves GPU-accelerated apps in containers work
45- - Device passthrough (GPU, audio, input) works
46-
47- ** Notes:**
48- ** Next action:** Test headless Steam (with Cosy?) to validate feasibility
49- ** Status:** Blocked on validation test
50-
51-
5214---
5315### Full Desktop Environments in Containers
5416** Why:** lots of flexibility in desktop environments, easy to add/remove, and little hypervisor pollution
@@ -138,24 +100,6 @@ Stream games from beefy computer to thin client in another room
138100
139101---
140102
141- ### Standalone Workload System RPM
142- ** Why:** Make workload system usable on any Fedora/RHEL, not just bootc
143- - ** Effort:** Medium (RPM spec, testing on non-bootc systems)
144- - ** Value:** Medium-High (enables broader adoption)
145- - ** Interest:** Medium
146-
147- ** What gets packaged:**
148- - workloadctl
149- - workload-generator
150- - workload-ensure-user
151- - systemd integration files
152- - Documentation
153-
154- ** When:** After workload library proves value (have examples to show)
155- ** Status:** Not started
156-
157- ---
158-
159103### Advanced Networking Features
160104** Current state:** Basic networking works (pasta, host, none, custom networks)
161105
@@ -193,51 +137,11 @@ Stream games from beefy computer to thin client in another room
193137
194138## Research/Validation Needed
195139
196- ### Headless Gaming Validation
197- ** Question:** Can Steam run in container without physical display?
198- ** Method:** Test with Cosy first (already validates GPU apps in containers)
199- ** Display options:**
200- - Xvfb (virtual X11)
201- - Wayland headless backend (wlroots)
202- - Virtual GPU (DRM render node only)
203-
204- ** Blocks:** Gaming workload implementation
205- ** Status:** Not tested yet
206-
207- ---
208-
209- ### Sunshine Streaming Integration
210- ** Question:** Does Sunshine capture containerized apps properly?
211- ** Test:** Run Sunshine alongside containerized Steam, verify capture works
212- ** Considerations:**
213- - Same container vs separate containers (multi-container question)
214- - Does Sunshine need special access?
215- - Performance overhead?
216-
217- ** Blocks:** Gaming streaming setup
218- ** Status:** Not tested yet
219-
220- ---
221-
222140## Easy, High Value
223141
224142Start here when unsure what to work on:
225143
226- - [x] ** Pi-hole workload** (1 day, immediately useful)
227- - [x] ** Local container registry** (1 day, useful for dev)
228144- [ ] ** Simple dev container** (1 day, one language stack)
229- - [x] ** Prometheus node exporter** (1 day, easy containerization example)
230-
231- ---
232-
233- ## Investigate / Validate
234-
235- ### SELinux fcontext for workload directories
236- ** Question:** Do we actually need the ` semanage fcontext -a -t container_file_t ` rule for ` /var/lib/workloads ` ?
237- - ` workload-ensure-user ` currently calls ` setup_selinux_policy() ` + ` restore_selinux_labels() ` on every service start
238- - If the default context works fine in practice (podman may handle this itself), this is dead code
239- - ** Test:** Disable the SELinux functions, run a workload, check ` ls -Z /var/lib/workloads/ `
240- - ** Status:** Not tested yet
241145
242146---
243147
@@ -247,11 +151,8 @@ Start here when unsure what to work on:
247151
248152- Web UI for workload management
249153- Workload health monitoring with alerts (email/webhook on failures)
250- - Container image builder workload (dedicated build environment)
251154- CI/CD runner workload (GitLab/GitHub/Gitea runner)
252155- Game server workloads (Valheim, Factorio, etc.)
253- - Home automation appliance bootc variant (minimal + HA)
254- - Gaming-optimized image variant (tuned, low latency kernel)
255156- Workload templates/scaffolding (generate from template)
256157- Import docker-compose files to workload TOML (migration tool)
257158- Ansible integration for provisioning (manage workloads as code)
@@ -264,3 +165,4 @@ Start here when unsure what to work on:
264165 Pulls newer images for updatable workloads (skip pull=never), restarts only if image changed.
265166 Could add configurable schedule, notification on updates, and update log.
266167- Workloads get LVM provisioned to cap or flex storage
168+ - consider python3-tomlkit for toml edits that preserve comments
0 commit comments