Skip to content

Relativ-IT/Update-CoreOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Update-CoreOS

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 ...

Update.sh

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)

  • -s or --stream usually: stable, testing or next -> défault : stable
  • -a or --arch usually: aarch64, ppc64le, s390x, x86_64 -> default: x86_64
  • -t or --artifact ouch ! 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
  • -f or --format Arrgh ! Really depending of previous choices -> default : pxe
  • -v or --verbose If ever you want to see well formatted json output -> default : false
  • -h or --history default file path to coreos.json that 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

Jenkinsfile

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 matrix Update.sh options in order to use it and ...
  • Will get downloads from Update.sh and upload them to PXE/TFTP server via ssh
  • And save --history file to keep in memory the latest downloaded artefacts versions

coreos.json

The f**g empty template of all things ! that's all we need to know ☺️

TODO

send reboot cmd to servers that depend on PXE artefacts ... or make them look for an updated version on artefact server ^^

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages