Kubic:MicroOS/Ignition

Jump to: navigation, search

Configuration of openSUSE MicroOS and openSUSE Kubic with Ignition

Ignition is supposed to create a lightweight alternative to cloud-init. For a short comparison of those two provisioning tools see Ignition vs cloud-init.

This Wiki page will contain SUSE specific information; for general Ignition documentation please refer to the current development snapshot on https://github.com/coreos/ignition/tree/master/doc.

Warning: Ignition support is currently in development and still experimental, both regarding the implementation in openSUSE and the adaption for Fedora's new CoreOS.

Installation

Ignition is not part of Factory yet, but developed in https://build.opensuse.org/project/show/devel:kubic:ignition.

Use the following commands to install the current stack:

zypper addrepo --refresh https://download.opensuse.org/repositories/devel:kubic:ignition/openSUSE_Tumbleweed/devel:kubic:ignition.repo
transactional-update pkg in ignition-dracut

Usage

Ignition configuration files

See the current Ignition documentation for creating Ignition files.

Ignition is currently packaged in a way that all mounts containing the mount option x-initrd.mount will be mounted during the files stage of Ignition. On a openSUSE MicroOS based systems this means that /var and /etc will be available by default, but /home or /root won't be. Make sure to add the flag to all mount points in /etc/fstab where you need access to.

Triggering Ignition

Premade images

TBD

Package installation

Install the package ignition-dracut. On first boot after installation Ignition will be triggered.

The packages' post script will try to detect the current platform and set ignition.platform.id in /etc/default/grub accordingly. If the platform could not be detected metal is used as the default value.

Manual invocation

Ignition will be triggered if the ignition.firstboot kernel parameter is set. This can be achieved by using one of the following methods:

  1. Manually add the parameter ignition.firstboot to the kernel command line.
  2. Create the file /boot/writable/ignition.firstboot (which may contain further kernel parameters).

Note that Ignition also need the ignition.platform.id parameter to be set.

USB flash drive

Similarily to cloud-init's LocalDisk source it is possible to use a local media for loading the Ignition configuration.

To use this feature create a disk with the label ignition and copy the Ignition configuration to a file called ignition/config.ign.