First of all, I'm used to consider containers as disposable ! What about OSes ? They are disposable to ! That's why I'm using Fedora CoreOS, an immutable OS absolutly disposable : Only datas are important !
So, I'm used to boot CoreOS from a PXE/TFTP server, and to use containerized apps to deal with datas without installing anything !
Let me describe this WIP repo ...
dependencies :
jq- gpg and fedora signing keys (
curl --no-progress-meter https://fedoraproject.org/fedora.gpg | gpg --import)
A simple bash script, that Relatively fit the need, that allow to download CoreOS artefacts.
This script was firstly intended to manually download x86_64/metal/pxe artefacts for my home lab (defaults option values)
I ended to make it more "agnostic" and "automation fitted" to allow downloading needed artefacts (with options)
Options are, space delimited : (e.g.: ./Update.sh -v true)
-sor--streamusually: stable, testing or next -> défault :stable-aor--archusually: aarch64, ppc64le, s390x, x86_64 -> default:x86_64-tor--artifactouch ! aliyun, aws, azure, azurestack, digitalocean, exoscale, gcp, hyperv, ibmcloud, kubevirt, metal, nutanix, openstack, qemu, irtualbox, vmware, vultr... and so on depending previous choices -> default :metal-for--formatArrgh ! Really depending of previous choices -> default :pxe-vor--verboseIf ever you want to see well formatted json output -> default :false-hor--historydefault file path tocoreos.jsonthat must at least contains{}data
There's no error check for these options ! You must know what you want ^^
It will ouput artefacts, GPG and SHASUM checked, and a file named as $format.$artifact.$arch.$stream that contains the list of downloaded files for later use ... or not
coreos.json/--history file will be updated with version number from released/downloaded artefacts to remember last updates
The "end user" of Update.sh :
- Will get gpg keys from fedora project as other things.
- Will get latest history file from artefact server (the PXE/TFTP server)
- Will
matrixUpdate.shoptions in order to use it and ... - Will get downloads from
Update.shand upload them to PXE/TFTP server via ssh - And save
--historyfile to keep in memory the latest downloaded artefacts versions
The f**g empty template of all things ! that's all we need to know
send reboot cmd to servers that depend on PXE artefacts ... or make them look for an updated version on artefact server ^^