variant: flatcar
version: 1.0.0
systemd:
  units:
    - name: installer.service
      enabled: true
      contents: |
        [Unit]
        Requires=network-online.target
        After=network-online.target
        [Service]
        Type=simple
        ExecStart=/opt/installer
        [Install]
        WantedBy=multi-user.target
    # Avoid using the standard SSH port so terraform apply cannot SSH until
    # post-install. But admins may SSH to debug disk install problems.
    # After install, sshd will use port 22 and users/terraform can connect.
    - name: sshd.socket
      dropins:
        - name: 10-sshd-port.conf
          contents: |
            [Socket]
            ListenStream=
            ListenStream=2222
storage:
  files:
    - path: /opt/installer
      mode: 0500
      contents:
        inline: |
          #!/bin/bash -ex
          curl --retry 10 "${ignition_endpoint}?mac=${mac}&os=installed" -o ignition.json
          flatcar-install \
            -d ${install_disk} \
            -C ${os_channel} \
            -V ${os_version} \
            ${oem_flag} \
            ${baseurl_flag} \
            -i ignition.json
          udevadm settle
          systemctl reboot
passwd:
  users:
    - name: core
      ssh_authorized_keys:
        - "${ssh_authorized_key}"
