ContainerCraft / kmi

KubeVirt Virtual Machine Disk Image Library
Apache License 2.0
10 stars 1 forks source link

Implementation #3

Closed usrbinkat closed 2 years ago

usrbinkat commented 2 years ago

Problem:

Many moving parts and possible implementations currently obscure the best path to designing a multi-distribution, multi-version, and multi-arch kubevirt machine image publishing pipeline.

Known variables:

Known stages:

  1. download
    • either on host or in build container
  2. customization
    • sysprep install packages depends on matching host architecture
  3. containerization
    • best if all architectures per flavor/version are containerized by buildx on single amd64 host
  4. testing
    • depends on k8s node matching architecture
  5. publishing

Dependencies:

If qcow2 images are built in series, circleci artifact caching allows for jobs to be chained together across multiple architectures as required while passing along the built artifacts of previous jobs.

TODO:

The final remaining difficulty is assigning and propagating correct variables per each job. An optimal scenario would allow maintaining all outcomes from a single json or yaml config run on a common core pipeline.