Configuring wifi via cloud-config

This section describe examples on how to deploy Kairos with WiFi

This example is valid with Alpine.

#cloud-config

hostname: metal-{{ trunc 4 .MachineID }}
users:
  - name: kairos
    # Change to your pass here
    passwd: kairos
    ssh_authorized_keys:
    # Replace with your github user and un-comment the line below:
    # - github:mudler

stages:
  initramfs:
    - name: Setup wireless
      files:
        # Generate manually by following https://wiki.archlinux.org/title/ConnMan and add contents below
        - path: /var/lib/connman/wifi_xxxxxxxxxxxx_zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_managed_psk/settings
          permissions: 0600
          content: |
            [wifi_xxxxxxxxxxxx_zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_managed_psk]
            Name=Your_SSID
            ...etc...
  boot:
    - name: Enable wireless
      commands:
        - connmanctl enable wifi

This example is valid with openSUSE on a Raspberry Pi.

#cloud-config

hostname: metal-{{ trunc 4 .MachineID }}
users:
  - name: kairos
    # Change to your pass here
    passwd: kairos
    ssh_authorized_keys:
    # Replace with your github user and un-comment the line below:
    # - github:mudler

stages:
  initramfs:
    - path: /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
      content: |
        # This file should be generated using wpa_passphrase
        ctrl_interface=/var/run/wpa_supplicant
        ctrl_interface_group=admin
        network={
                ssid="$SSID_GOES_HERE"
                psk=$PSK_GOES_HERE
        }
      permissions: 0600
      owner: 0
      group: 0

  boot:
    - name: "Enabling wireless"
      commands:
        - |
          systemctl enable wpa_supplicant@wlan0
          systemctl disable wpa_supplicant
          systemctl stop wpa_supplicant || :
          systemctl start wpa_supplicant@wlan0 || :
Last modified September 23, 2024: Update WiFi docs (#258) (5aa0cba)