lima icon indicating copy to clipboard operation
lima copied to clipboard

Inherit system images and share them between examples

Open afbjorklund opened this issue 2 years ago • 3 comments

Description

For instance Vagrant had this concept of boxes, where you would hide complexity under a name.

https://www.vagrantup.com/docs/boxes

It has the same problems of central control and what not as the yaml files themselves do, though.

https://app.vagrantup.com/ubuntu/boxes/focal64

Side note: it was only for VirtualBox, the others were https://app.vagrantup.com/generic/boxes/ubuntu2004 But it doesn't matter for this discussion, it was supposed to just reference the official Ubuntu cloud image...


But the idea of reducing the OS definition to a single line, would still be a useful concept ?

Instead of:

images:
# Try to use release-yyyyMMdd image if available. Note that release-yyyyMMdd will be removed after several months.
- location: "https://cloud-images.ubuntu.com/releases/22.04/release-20220420/ubuntu-22.04-server-cloudimg-amd64.img"
  arch: "x86_64"
  digest: "sha256:de5e632e17b8965f2baf4ea6d2b824788e154d9a65df4fd419ec4019898e15cd"
- location: "https://cloud-images.ubuntu.com/releases/22.04/release-20220420/ubuntu-22.04-server-cloudimg-arm64.img"
  arch: "aarch64"
  digest: "sha256:66224c7fed99ff5a5539eda406c87bbfefe8af6ff6b47d92df3187832b5b5d4f"

One would just say "ubuntu-22.04-20220420" (or something).

images:
- location: "https://download.fedoraproject.org/pub/fedora/linux/releases/35/Cloud/x86_64/images/Fedora-Cloud-Base-35-1.2.x86_64.qcow2"
  arch: "x86_64"
  digest: "sha256:fe84502779b3477284a8d4c86731f642ca10dd3984d2b5eccdf82630a9ca2de6"
- location: "https://download.fedoraproject.org/pub/fedora/linux/releases/35/Cloud/aarch64/images/Fedora-Cloud-Base-35-1.2.aarch64.qcow2"
  arch: "aarch64"
  digest: "sha256:c71f2e6ce75b516d565e2c297ea9994c69b946cb3eaa0a4bbea400dbd6f59ae6"

This would be "fedora-35-1.2", and similar lookups for the rest.

Currently it is all copy/paste, between the different examples.

afbjorklund avatar Apr 27 '22 06:04 afbjorklund

You can already use limactl start template://ubuntu, limactl start template://fedora, ...

Does this satisfy your requirement?

AkihiroSuda avatar Apr 27 '22 10:04 AkihiroSuda

It is not a requirement, it was more of a feature that could be used in docker or k8s or similar.

Like how the nerdctl archives are predefined, and you only need to say "true" or "false"

afbjorklund avatar Apr 27 '22 12:04 afbjorklund

Not sure what the best yaml engineering would be, just that it looks a bit redundant at the moment.

examples/buildkit.yaml: digest: "sha256:de5e632e17b8965f2baf4ea6d2b824788e154d9a65df4fd419ec4019898e15cd" examples/default.yaml: digest: "sha256:de5e632e17b8965f2baf4ea6d2b824788e154d9a65df4fd419ec4019898e15cd" examples/docker.yaml: digest: "sha256:de5e632e17b8965f2baf4ea6d2b824788e154d9a65df4fd419ec4019898e15cd" examples/faasd.yaml: digest: "sha256:de5e632e17b8965f2baf4ea6d2b824788e154d9a65df4fd419ec4019898e15cd" examples/k3s.yaml: digest: "sha256:de5e632e17b8965f2baf4ea6d2b824788e154d9a65df4fd419ec4019898e15cd" examples/k8s.yaml: digest: "sha256:de5e632e17b8965f2baf4ea6d2b824788e154d9a65df4fd419ec4019898e15cd" examples/podman.yaml: digest: "sha256:de5e632e17b8965f2baf4ea6d2b824788e154d9a65df4fd419ec4019898e15cd" examples/ubuntu-lts.yaml: digest: "sha256:de5e632e17b8965f2baf4ea6d2b824788e154d9a65df4fd419ec4019898e15cd" examples/ubuntu.yaml: digest: "sha256:de5e632e17b8965f2baf4ea6d2b824788e154d9a65df4fd419ec4019898e15cd" examples/vmnet.yaml: digest: "sha256:de5e632e17b8965f2baf4ea6d2b824788e154d9a65df4fd419ec4019898e15cd"

afbjorklund avatar Apr 30 '22 12:04 afbjorklund