Skip to main content

Cloud-config Reference

All custom configuration applied on top of a fresh deployment should come from the cloud-config section in a MachineRegistration.

This will get run by elemental-cli run-stage during the boot stage, and it will be stored in the node under the /oem dir.

Elemental uses yip to run these cloud-config files, so we support the yip subset cloud-config implementation.

Below is an example of the supported configuration on a MachineRegistration resource.

apiVersion: MachineRegistrationmetadata:  name: my-nodes  namespace: fleet-defaultspec:  config:    cloud-config:      users:        - name: "bar"        passwd: "foo"        groups: "users"        homedir: "/home/foo"        shell: "/bin/bash"        ssh_authorized_keys:          - faaapploo      # Assigns these keys to the first user in users or root if there      # is none      ssh_authorized_keys:        - asdd      # Run these commands once the system has fully booted      runcmd:        - foo      # Write arbitrary files      write_files:        - encoding: b64          content: CiMgVGhpcyBmaWxlIGNvbnRyb2xzIHRoZSBzdGF0ZSBvZiBTRUxpbnV4          path: /foo/bar          permissions: "0644"          owner: "bar"    elemental:      install:        reboot: true        device: /dev/sda        debug: true  machineName: my-machine  machineInventoryLabels:    location: "europe"