Hello,
Before I go into details, I will explain the background.
I started to familiarise myself with Flatcar Provisioning by setting up a simple instance on bare metal using the installer script, as described in Installing Flatcar Container Linux to disk | Flatcar Container Linux.
My configuration file is quite simple:
variant: flatcar
version: 1.1.0
passwd:
users:
- name: admin
password_hash: "$6$rounds=4096$1s..."
ssh_authorized_keys:
- "ssh-ed25519 AAAA..."
groups: ["sudo"]
As I read in the documentation about Customizing Flatcar | Flatcar Container Linux, I thought I could easily adapt the configuration by adapting the Ignition file and rebooting. This way, I wouldn't need to consider what I might need for future use cases.
(In addition, I thought Docker Compose was preinstalled.)
Going deeper with flatcar I noted it is not that simple:
From that, I gathered that there is an option to add Docker Compose, but it is quite a long script. At first glance, I understood that I could extend a running instance. This is particularly due to the 'How do I use sysexts?' section of the Overview | sysext-bakery, which explains how to add scripts to a running instance. However, I cannot find any information about 'systemd-sysupdate' in the Flatcar Container Linux | Flatcar Container Linux. Therefore, I concluded that the only option to avoid losing my Docker Volumes when Installing Flatcar Container Linux to disk | Flatcar Container Linux again is to reprovision.
This leads me to the following questions:
- is the only option to extend a running instance to reprovision?
- if 1. is wrong, how to extend a life system?
- in addtion to 2.: using System Extensions for Flatcar?
- Where is the ignition file used for reprovisioning?
I could only find indirect information on that: that there might be something in /usr/share/oem/. I came across this information in the Notes for distributors | Flatcar Container Linux and simply browsed /usr/share/oem/` to find the file /usr/share/oem/config.ign by coincidence.
Finding the same full path of this file in Booting Flatcar Container Linux via PXE | Flatcar Container Linux and flatcar-install script gives me confidence that this is the file I'm looking for.
Further conformation is given by
- iPXE - open source boot firmware [howto:flatcar]
- Installing Flatcar Container Linux on Linode | Scott's Blog
- and somehow Immutable_Infrastructure_with_Flatcar_Container_Linux.pdf
- can I modify it?
It is located in /usr what is read-only according to Adding disk space to your Flatcar Container Linux machine | Flatcar Container Linux
- are the side-effects as described in Technical Details for Manual Ignition Re-runs prevented if I do e.g.
sudo flatcar-reset --keep-machine-id --keep-paths '/etc/ssh/ssh_host_.*' /var/log
sudo systemctl reboot
I'm willing to contribute to the documention by doing a PR as happening in flatcar/flatcar-website#489 (review)
Hello,
Before I go into details, I will explain the background.
I started to familiarise myself with Flatcar Provisioning by setting up a simple instance on bare metal using the installer script, as described in Installing Flatcar Container Linux to disk | Flatcar Container Linux.
My configuration file is quite simple:
As I read in the documentation about Customizing Flatcar | Flatcar Container Linux, I thought I could easily adapt the configuration by adapting the Ignition file and rebooting. This way, I wouldn't need to consider what I might need for future use cases.
(In addition, I thought Docker Compose was preinstalled.)
Going deeper with flatcar I noted it is not that simple:
From that, I gathered that there is an option to add Docker Compose, but it is quite a long script. At first glance, I understood that I could extend a running instance. This is particularly due to the 'How do I use sysexts?' section of the Overview | sysext-bakery, which explains how to add scripts to a running instance. However, I cannot find any information about 'systemd-sysupdate' in the Flatcar Container Linux | Flatcar Container Linux. Therefore, I concluded that the only option to avoid losing my Docker Volumes when Installing Flatcar Container Linux to disk | Flatcar Container Linux again is to reprovision.
This leads me to the following questions:
I could only find indirect information on that: that there might be something in
/usr/share/oem/. I came across this information in the Notes for distributors | Flatcar Container Linux and simply browsed /usr/share/oem/` to find the file /usr/share/oem/config.ign by coincidence.Finding the same full path of this file in Booting Flatcar Container Linux via PXE | Flatcar Container Linux and flatcar-install script gives me confidence that this is the file I'm looking for.
Further conformation is given by
It is located in
/usrwhat is read-only according to Adding disk space to your Flatcar Container Linux machine | Flatcar Container LinuxI'm willing to contribute to the documention by doing a PR as happening in flatcar/flatcar-website#489 (review)