Results of the Zero Downtime Linux Updates Project (Video and Report, AMOS Summer 26)
This project is one of the Scrum projects with industry partners that were part of theAMOS Summer 2026 Projects. Below please find the video (you may also like the other videos) and the project summary which details the final result of the project. We run these projects every semester, so please be in touch if you would like to motivate one of your own!
Demo Video
Project Summary
Project name
Zero Downtime Linux Updates
Project mission
To design and develop a secure, Rust-based edge orchestrator for Weber’s Edge IPC that enables near zero-downtime updates for both the operating system and application layers. Our mission is to implement a management agent that leverages Fedora IoT, bootc, and Podman to ensure system updates and reliability. We create a cloud containing a database, which manages edge device information, and the running and desired OS and application versions. Users should be able to create, read, update, and delete devices, device groups, OS, and application information.
Industry partner
Weber Food Technology SE & Co. KG
Team logo
Project summary
An update system for fleets of Linux edge devices (industrial IPCs) where the entire operating system ships as a bootable container image. Devices are provisioned once, then updated forever by pulling a new image — each OS update is atomic and staged, and the OS rolls back automatically if a new version fails to boot or fails its health checks.
How it works
● The OS is a container image. We build a bootable OS image with bootc and publish it to GHCR, the same way you’d build and push an application container. ● An on-device agent drives updates. amos-orchestrator runs on each device, polls the cloud API for the OS and application versions it should be running, and invokes bootc and podman to converge onto that state. ● The cloud holds the desired state. A user manages the fleet through the cloud API; the cloud persists per-device state in PostgreSQL and hands each device its target state on request.