os-images-server: introduce OS image selectors

Related issue: #2014 (closed)

This MR is an iso-functional minor refactoring as preparation for MRs that will implement #2014 (closed)

It introduces a version of os-image-server unit that can be given a list of "OS image selectors" that will be used to serve OS images matching OS image selectors.

In this first step only a single OS image selector is used, which it a "match all" selector. This ensures that the current behavior remains unchanged for now: all the images in os-images-info will be served by os-image-server.

In future MRs:

  • os_image_selectors will be changed to include the OS image selectors for the mgmt cluster itself plus OS images selectors for images that we want to make available for workload clusters (!3693 (merged))
  • then at some point the os-images-info unit will evolve to fetch metadata for all images under sylva_diskimagebuilder_images and os_images without requiring those to be explicitly set with enabled: true

This MR depends on sylva-projects/sylva-elements/helm-charts/os-image-server!107 (merged)

CI configuration

Below you can choose test deployment variants to run in this MR's CI.

Click to open to CI configuration

Legend:

Icon Meaning Available values
☁️ Infra Provider capd, capo, capm3
🚀 Bootstrap Provider kubeadm (alias kadm), rke2
🐧 Node OS ubuntu, suse
🛠️ Deployment Options light-deploy, oci, ha, misc
🎬 Pipeline Scenarios rolling-update, mgmt-rolling-update, k8s-upgrade, sylva-upgrade, sylva-upgrade-from-x.x.X, simple-update, preview, nightly
  • 🎬preview ☁️capd 🚀kadm 🐧ubuntu 🛠️oci

  • 🎬preview ☁️capo 🚀rke2 🐧suse

  • 🎬preview ☁️capm3 🚀rke2 🐧ubuntu

  • ☁️capd 🚀kubeadm 🛠️ light-deploy 🐧ubuntu

  • ☁️capd 🚀rke2 🛠️ light-deploy 🐧suse

  • ☁️capo 🚀rke2 🛠️oci 🐧suse

  • ☁️capo 🚀kadm 🛠️oci 🐧ubuntu

  • ☁️capo 🚀rke2 🎬rolling-update 🛠️ha 🐧ubuntu

  • ☁️capo 🚀kadm 🎬k8s-upgrade 🐧ubuntu

  • ☁️capo 🚀rke2 🎬mgmt-rolling-update 🛠️ha,misc 🐧suse

  • ☁️capo 🚀rke2 🎬sylva-upgrade 🛠️misc 🐧ubuntu

  • ☁️capm3 🚀rke2 🐧suse

  • ☁️capm3 🚀kadm 🐧ubuntu

  • ☁️capm3 🚀kadm 🎬mgmt-rolling-update 🛠️ha,misc 🐧ubuntu

  • ☁️capm3 🚀rke2 🎬k8s-upgrade 🐧suse

  • ☁️capm3 🚀kadm 🎬rolling-update 🛠️ha 🐧ubuntu

  • ☁️capm3 🚀rke2 🎬sylva-upgrade 🛠️misc,ha 🐧suse

  • ☁️capm3 🚀kadm 🎬rolling-update 🛠️ha 🐧suse

Global config for deployment pipelines

  • autorun pipelines
  • allow failure on pipelines
Edited by Thomas Morin

Merge request reports

Loading