mirror of
https://github.com/kairos-io/kairos-agent.git
synced 2025-07-09 22:23:07 +00:00
sparkles: custom user bind and ephemeral mounts (#692)
* ✨ custom user bind and ephemeral mounts Users can now specify custom and ephemeral mounts in cloud-init under the `install` section, e.g.: ``` users: - name: kairos ... install: auto: true device: "auto" bind_mounts: - /mnt/bind1 - /mnt/bind2 ephemeral_mounts: - /mnt/ephemeral - /mnt/ephemeral2 ... ``` Ephemeral mounts are mounted as RW - but changes are discarded when the machine is restart. Bind mounts will persist changes after restarted. This is a fix for #210 Signed-off-by: Oz Tiram <oz@spectrocloud.com> * Add the custom user mount to /cos/run/cos-layout.env Signed-off-by: Oz Tiram <oz@spectrocloud.com> * Add docs for custom user mounts in configuration example Signed-off-by: Oz Tiram <oz@spectrocloud.com> * Reuse test_install function DRY the code, change how we call the function install_test Signed-off-by: Oz Tiram <oz@spectrocloud.com> * Enable custom mount tests and install tests Signed-off-by: Oz Tiram <oz@spectrocloud.com> * Enable tests in CI Signed-off-by: Oz Tiram <oz@spectrocloud.com> * Remove duplicate if check Signed-off-by: Oz Tiram <oz@spectrocloud.com> * Remove uneeded fmt.Println ... Signed-off-by: Oz Tiram <oz@spectrocloud.com> * Use separate label for custom mounts Signed-off-by: Oz Tiram <oz@spectrocloud.com> * 🔧 Earthfile - DRY ginkgo We repeat this a more than twice so just extract to own target... Signed-off-by: Oz Tiram <oz@spectrocloud.com> * Correct return type for ContainElements Signed-off-by: Oz Tiram <oz@spectrocloud.com> * Remove CLOUD_INIT from custom mounts test This is not needed here. Signed-off-by: Oz Tiram <oz@spectrocloud.com> * Fix qemu-test-* earthly targets Signed-off-by: Oz Tiram <oz@spectrocloud.com> * 🔧 Fix CPU passing to VM Signed-off-by: Oz Tiram <oz@spectrocloud.com> * 🔧 remove apt cache after install qemu Helps deal with space running out in the CI. Signed-off-by: Oz Tiram <oz@spectrocloud.com> * 📖 Document custom mounts Signed-off-by: Oz Tiram <oz@spectrocloud.com> --------- Signed-off-by: Oz Tiram <oz@spectrocloud.com> Co-authored-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
This commit is contained in:
parent
da44dbb47f
commit
b37a34beae
@ -23,15 +23,18 @@ import (
|
|||||||
const DefaultWebUIListenAddress = ":8080"
|
const DefaultWebUIListenAddress = ":8080"
|
||||||
|
|
||||||
type Install struct {
|
type Install struct {
|
||||||
Auto bool `yaml:"auto,omitempty"`
|
Auto bool `yaml:"auto,omitempty"`
|
||||||
Reboot bool `yaml:"reboot,omitempty"`
|
Reboot bool `yaml:"reboot,omitempty"`
|
||||||
Device string `yaml:"device,omitempty"`
|
Device string `yaml:"device,omitempty"`
|
||||||
Poweroff bool `yaml:"poweroff,omitempty"`
|
Poweroff bool `yaml:"poweroff,omitempty"`
|
||||||
GrubOptions map[string]string `yaml:"grub_options,omitempty"`
|
GrubOptions map[string]string `yaml:"grub_options,omitempty"`
|
||||||
Bundles Bundles `yaml:"bundles,omitempty"`
|
Bundles Bundles `yaml:"bundles,omitempty"`
|
||||||
Encrypt []string `yaml:"encrypted_partitions,omitempty"`
|
Encrypt []string `yaml:"encrypted_partitions,omitempty"`
|
||||||
Env []string `yaml:"env,omitempty"`
|
SkipEncryptCopyPlugins bool `yaml:"skip_copy_kcrypt_plugin,omitempty"`
|
||||||
Image string `yaml:"image,omitempty"`
|
Env []string `yaml:"env,omitempty"`
|
||||||
|
Image string `yaml:"image,omitempty"`
|
||||||
|
EphemeralMounts []string `yaml:"ephemeral_mounts,omitempty"`
|
||||||
|
BindMounts []string `yaml:"bind_mounts,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
|
Loading…
Reference in New Issue
Block a user