Maintaining custom FCOS on limited bandwidth?

I would like to extend the discussion on custom rpms for FCOS (How to add custom RPMs? - #4 by fifofonix) to solicit current best practice for maintaining a (small) fleet of FCOS servers with a goal to reduce or eliminate duplicate downloads. This can important for those of us with limited or costly internet connectivity, for example.

With Fedora (server, workstation, cloud) I can use the DNF Local plugin to share rpms with multiple machines, only needing to pull a specific rpm across the internet once, and install as needed on multiple machines. With a simple file system overlay “trick” I can extend that type of process to also include repository metadata - download the XML to once machine and share as needed. Fedora 35, VMs, etc largely use the local repo or local XML share for updates which not only reduces internet bandwidth consumption but considerably accelerates the elapsed time for a dnf update.

What would be current best practices or alternatives to consider for FCOS?



The basic solution will involve ostree to create and manage a local archive repository that the local FCOS nodes can use for updates. Please see Support updating from local mirrors · Issue #240 · coreos/fedora-coreos-tracker · GitHub for the tracker issue that covers the documentation need.

Useful additional references include:

  1. Repository Management - OSTree, and

  2. Never Worry about Updates Again with OSTree and Zincati - Kelvin's Blog.

Thanks to jlebon for the pointers!