# Ubuntu Autoinstall — Iron Legion Fleet Standard (MINIMAL) # Targets: GMKtec G9 N150, 1TB NVMe (/dev/nvme0n1) # Date: May 23, 2026 # Role: Bare-metal bootable fleet node — manual post-install via first-boot.sh version: 1 reporting: builtin: type: print autoinstall: identity: hostname: fleet-node username: jarvis password: "$6$0DL8vh2WMWRpPiOt$xP1XyKFbX8J0hGSwd9GD6RsPAM5Ajdkrd8PYW2KJAv64YBJC3NAHgGr4BNYORodCVf1hkv3D2KhbezFoIlVsL1" ssh: install-server: true authorized-keys: - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPSBrRCROUHOiZX9IB3teEK89VFfghbdu7OF5NoJ1Y6g Generated By Termius allow-pw: true network: version: 2 ethernets: enp4s0: dhcp4: true optional: true enp5s0: dhcp4: true optional: true enp6s0: dhcp4: true optional: true storage: config: - type: disk id: nvme0n1 path: /dev/nvme0n1 ptable: gpt wipe: superblock-recursive - type: partition id: boot-part device: nvme0n1 size: 1GiB flag: boot - type: partition id: root-part device: nvme0n1 size: -1 - type: format id: boot-format volume: boot-part fstype: ext4 - type: format id: root-format volume: root-part fstype: ext4 - type: mount id: boot-mount device: boot-format path: /boot - type: mount id: root-mount device: root-format path: / swap: size: 0 packages: - openssh-server - curl - nfs-common - cifs-utils - net-tools - ca-certificates - gnupg - ansible - git late-commands: # Prevent cloud-init from stomping hostname on first boot - echo 'preserve_hostname: true' > /target/etc/cloud/cloud.cfg.d/99_preserve_hostname.cfg # Add jarvis to sudoers with NOPASSWD - echo 'jarvis ALL=(ALL) NOPASSWD: ALL' > /target/etc/sudoers.d/jarvis - chmod 440 /target/etc/sudoers.d/jarvis # Ensure SSH key has correct permissions - chmod 600 /target/home/jarvis/.ssh/authorized_keys - chown -R 1000:1000 /target/home/jarvis/.ssh # Auto-reboot after install completes shutdown: reboot