mirror of
https://github.com/kairos-io/packages.git
synced 2025-07-15 16:02:20 +00:00
Fixes https://github.com/kairos-io/kairos/issues/3035 Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me> Co-authored-by: Itxaka <itxaka.garcia@spectrocloud.com>
32 lines
1.1 KiB
YAML
32 lines
1.1 KiB
YAML
name: "Datasource handling"
|
|
stages:
|
|
rootfs.before:
|
|
- &datasource
|
|
if: '[ ! -f /oem/userdata ] && [ ! -f /run/cos/uki_boot_mode ]'
|
|
name: "Pull data from provider"
|
|
datasource:
|
|
providers: ["cdrom", "gcp", "openstack", "aws", "azure", "hetzner", "packet", "vultr", "digitalocean", "metaldata", "vmware", "config-drive"]
|
|
path: "/oem"
|
|
- if: '[ ! -f /oem/userdata ]'
|
|
name: "Sentinel file for userdata"
|
|
files:
|
|
- path: /run/.userdata_load
|
|
initramfs.before:
|
|
- <<: *datasource
|
|
- if: '[ ! -f /oem/userdata ]'
|
|
files:
|
|
- path: /run/.userdata_load
|
|
# After network, if no datasource could be pulled, we stop trying
|
|
network:
|
|
- <<: *datasource
|
|
- if: '[ -f /oem/userdata ] && [ -f /run/.userdata_load ]'
|
|
name: "Run stages if userdata is found"
|
|
commands:
|
|
- kairos-agent run-stage initramfs
|
|
- kairos-agent run-stage boot
|
|
- rm -rf /run/.userdata_load
|
|
- if: '[ ! -f /oem/userdata ] && [ -f /run/.userdata_load ]'
|
|
name: "Remove userdata sentinel"
|
|
commands:
|
|
- rm -rf /run/.userdata_load
|