charts
charts copied to clipboard
tinkerbell/charts: introduce `showcase` chart
tinkerbell/charts: introduce showcase chart
-
showcaseis a chart that, based on values.yaml dictionaries:- generates Tinkerbell CRs (Hardware/Template/Workflow) for both standard (UEFI) & exotic (supported by Armbian) devices
- generates download/process jobs for multiple Hook flavors (see https://github.com/tinkerbell/hook/pull/205)
- generates download/process jobs for a few OS images (Ubuntu Cloud Images, Armbian, etc)
- should be independent of how one deployed Tinkerbell itself (stack chart, individual components, etc)
- A few features:
- validates values.yaml for common mistakes; arch must match, etc.
- validates & handles rootDisk differences (re-invents "formatPartition()" a bit)
- avoids re-downloading Hooks and Images that are already on disk, even if Job re-runs
- allows easy way to use
- custom Hooks
- custom Kernel cmdline parameters at both the Hook & device level
- for example
acpi=offat Hook level andconsole=ttyS0at board level
- for example
- custom OS images for deployment
- reboot or kexec to finish deployment
- different partition numbers for OS image's rootfs (some images have ESP, some have a separate
/boot, etc) - control if growpart and/or ssh/user setup is done during provisioning or not
- conversion of OS images (
qemu-to-raw-gzipandxz-to-gz)
- has a "merge" mechanism with a common way to set parameters like net gateway, UEFI, etc (also easy to override per-device)
- default values have everything
enabled: falsethus showcase should produce nothing by default.- Hooks & Images can be forced
enabled: truein values.yaml, or-
enabled: trueDevices automatically enable their Hook & Image
-
- Hooks & Images can be forced
- Probably missing:
- More validations
- Currently pointing to my Tinkerbell Actions, which I haven't PR'ed yet
- How to use:
- Clone it, edit the values.yaml to your liking, and deploy.
Signed-off-by: Ricardo Pardini [email protected]