forked from pool/ignition
406cbf31e8
* news: add notes for 2.12.0 * stages/files: add previousReport to result report * tests: fix linter warning * workflows: limit permissions to reading repo contents * workflows: bump linter version * go.mod: revendor * Drop EOL Go versions * internal/distro: drop DiskByIDDir * providers/azure: add support for azure gen2 VMs * stages/mount: correctly relabel the root of a fresh ext4 filesystem * exec: fix permissions for mountpoints in home dirs * tests: drop os.ModeDir requirement in mode of output directories * examples: reboot with --force * exec/util: add blkid API to query block devices based on FSTYPE * stages/files: use IntToPtr() in createCrypttabEntries() * stages/files: write result report to /var/lib/ignition * engine: persist fetched config summaries in State * stages/disks: use State to persist keyfiles for files stage * *: add general mechanism for persisting state between stages * main: drop -clear-cache flag * engine: don't hardcode neednet path * fetch-offline: return ErrNeedNet if we need net * engine: switch Engine.logReport() to pointer receiver * engine: fix incorrect error in log message * dracut: drop ignition-setup-user.service * dracut: drop reference to ignition-setup-base.service * providers/gcp: access GCP metadata service by IP address * Remove ignition-firstboot-complete.service * OWNERS: remove * internal/exec/util: drop device argument from cResultToErr() * docs/config*: document storage.luks.clevis.threshold default * ci: disable spec bump external test workaround * docs: Add Ignition release / Spec version table * templates: update example releng signing ticket * templates: don't update %gotest lines * Provide ignition-firstboot-complete.service (removed by upstream due to correctly being considered distro spcific), based on the old upstream version; removed all non-SUSE specific stuff and integrated our own changes * Removed change-ignition-firstboot-path.conf (changes are integrated into ignition-firstboot-complete.service now). * Provide ignition-setup-user.service (removed by upstream due to correctly being considered distro spcific), based on the old upstream version. * Renamed ignition-setup-user-suse.sh to ignition-setup-user.sh * Adapted ignition-generator-suse and module-setup.sh to use the custom ignition-setup-user.service (no overriding of parts of the service file necessary any more). * Synced ignition-kargs-helper script with upstream example * Raising minimum Go version to 1.15 as required by upstream OBS-URL: https://build.opensuse.org/package/show/devel:kubic:ignition/ignition?expand=0&rev=79
33 lines
1.0 KiB
Bash
33 lines
1.0 KiB
Bash
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
copy_file_if_exists() {
|
|
src="${1}"; dst="${2}"
|
|
if [ -f "${src}" ]; then
|
|
echo "Copying ${src} to ${dst}"
|
|
cp "${src}" "${dst}"
|
|
else
|
|
echo "File ${src} does not exist.. Skipping copy"
|
|
fi
|
|
}
|
|
|
|
destination=/usr/lib/ignition
|
|
mkdir -p $destination
|
|
|
|
if command -v is-live-image >/dev/null && is-live-image; then
|
|
# Live image. If the user has supplied a config.ign via an appended
|
|
# initrd, put it in the right place.
|
|
copy_file_if_exists "/config.ign" "${destination}/user.ign"
|
|
else
|
|
# We will support a user embedded config in the boot partition
|
|
# under $bootmnt/ignition/config.ign. Note that we mount /boot
|
|
# but we don't unmount boot because we are run in a systemd unit
|
|
# with MountFlags=slave so it is unmounted for us.
|
|
bootmnt=/mnt/boot_partition
|
|
mkdir -p $bootmnt
|
|
if [ -e /dev/disk/by-label/ignition ]; then
|
|
mount /dev/disk/by-label/ignition $bootmnt
|
|
fi
|
|
copy_file_if_exists "${bootmnt}/ignition/config.ign" "${destination}/user.ign"
|
|
fi
|