Orchestrating and monitoring OS auto-updates
summary
Fedora CoreOS uses a JSON Cincinnati update graph to encode allowed OS transitions, plus phased rollouts, explicit barriers and dead ends to prevent unsafe paths. Each node runs Zincati (Rust) which fetches the graph, applies rpm-ostree commits and Zincati exposes Prometheus metrics over a local UNIX socket. Airlock is a remote reboot manager implementing a counting semaphore to limit concurrent reboots. A local exporter bridges the socket to HTTP so Prometheus and Grafana show per-node state, rollouts and alerts.
AI-written summary · about
chapters (23)
- 0:00Introduction
- 0:45About me
- 1:53Agenda
- 2:56Fedora Chorus
- 10:33Monitoring observability
- 13:02Technology overview
- 13:48What is a graph
- 15:14The protocol
- 16:54Update variance
- 19:22Dead ends
- 20:44Phased rollout
- 22:01Container release process
- 24:22Release engineering
- 25:34Clientside logic
- 34:03Group Visualization
- 34:49Parameters
- 35:55Local Export
- 38:18Demo
- 40:22Demo over HTTP
- 41:22Demo over graphs
- 45:12Question
- 47:37Containers
- 49:06Configurations
related talks
24mCoreOS Demystified – The Specialized OS Powering OpenShift and Containers
52mDay 1 with Fedora Silverblue
45mRed Hat CoreOS and OpenShift v4
48mFedora CoreOS: architectural walkthrough
13mCoreOS is Dead, Long Live CoreOS
28mFedora CoreOS - best host for your containers
26mLinux distributions, lifecycles, and containers
52mGetting Started with Fedora CoreOS
