Skip to content

Instantly share code, notes, and snippets.

@pythoninthegrass
Last active December 5, 2024 12:09
Show Gist options
  • Save pythoninthegrass/a68e5f6d0c0816f0b56542b2a071c90f to your computer and use it in GitHub Desktop.
Save pythoninthegrass/a68e5f6d0c0816f0b56542b2a071c90f to your computer and use it in GitHub Desktop.
Minimal cloud-config for harvester ubuntu cloud image
#cloud-config
# QCow2 UEFI/GPT Bootable disk image
# https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img
output: { all: '| tee -a /var/log/cloud-init.log' }
timezone: "America/Chicago"
hostname: ubuntu
package_update: true
package_upgrade: false
apt_get_command:
[
"apt-get",
"--option=Dpkg::Options::=--force-confold",
"--option=Dpkg::options::=--force-unsafe-io",
"--assume-yes",
"--quiet",
"--no-install-recommends"
]
apt:
sources:
deadsnakes.list:
source: deb http://ppa.launchpad.net/deadsnakes/ppa/ubuntu $RELEASE main
keyid: F23C5A6CF475977595C89F51BA6932366A755776
packages:
- ansible
- apt-transport-https
- build-essential
- ca-certificates
- curl
- gnupg-agent
- net-tools
- python3
- python3-pip
- qemu-guest-agent
- software-properties-common
- tree
- vim
- wget
users:
- name: lance
sudo: [ 'ALL=(ALL) NOPASSWD:ALL' ]
groups: [ adm, sudo ]
shell: /bin/bash
ssh_authorized_keys:
- >
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDFnt3zU50NcdNvO37qPwqsXtD1lZ9Ka0bb8io5HO+8lE24ZnQ7GEWbf3VU3sKQqj6O0Itupz3n1NZoq0YOxW4TNwiAiYi4MBwBjoQ5ALkzoj/DthrsfoiQtd7MXsfIfDp4tp6ktxC3DtgON461L0r55KQVXdARc92R4iEsoCXnZtT2s7cDIZcbRIW13yiB3gBoazOsTH7vLHiPS61YkKd0Ih5zpc+xgHmLUe/iR7Qazy3nZ/OwTOlEh2nxzACHhFDKz38WiwfJtnoIlsmJaow3Cq56onRJeuOqbSGS9fETkumGXAVuJkkyCcjBbthvWGlfMsa1gAI9fmMphYAzfYq5ZrTur+Npy+ycunkkOJeFhkKqPA/GC9L3ogS4/k8JZTpVdLhqQmAoANiIXiKWMn1rleT5q+EgX/S4Q7n1szM8jLZRFH8tr0sKxVC+qUxTbylaJk7j4b3juS3iZQAERAwGGP3sG5wrFtvZjFABEINuGC/ijisGupca0p+7cEFb0ECLFZ5dMqguGuHnnF1YIBj/O0iTT18+uiJl3RrZ6v2EkKQIlKMy4A7fpeMnrbuHS9TcdtRPwBhRacyCUX2mhVz6hxqy9WZ2sU6uXzuXI8PHwWptk89/avWwLFzk0l1TrzFEdJNRzo5qE/ZisobQaZt67R74zS+ngsmWE+/Vcm3Oyw== lance@pythoninthegrass
- name: root
ssh_authorized_keys:
- >
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDFnt3zU50NcdNvO37qPwqsXtD1lZ9Ka0bb8io5HO+8lE24ZnQ7GEWbf3VU3sKQqj6O0Itupz3n1NZoq0YOxW4TNwiAiYi4MBwBjoQ5ALkzoj/DthrsfoiQtd7MXsfIfDp4tp6ktxC3DtgON461L0r55KQVXdARc92R4iEsoCXnZtT2s7cDIZcbRIW13yiB3gBoazOsTH7vLHiPS61YkKd0Ih5zpc+xgHmLUe/iR7Qazy3nZ/OwTOlEh2nxzACHhFDKz38WiwfJtnoIlsmJaow3Cq56onRJeuOqbSGS9fETkumGXAVuJkkyCcjBbthvWGlfMsa1gAI9fmMphYAzfYq5ZrTur+Npy+ycunkkOJeFhkKqPA/GC9L3ogS4/k8JZTpVdLhqQmAoANiIXiKWMn1rleT5q+EgX/S4Q7n1szM8jLZRFH8tr0sKxVC+qUxTbylaJk7j4b3juS3iZQAERAwGGP3sG5wrFtvZjFABEINuGC/ijisGupca0p+7cEFb0ECLFZ5dMqguGuHnnF1YIBj/O0iTT18+uiJl3RrZ6v2EkKQIlKMy4A7fpeMnrbuHS9TcdtRPwBhRacyCUX2mhVz6hxqy9WZ2sU6uXzuXI8PHwWptk89/avWwLFzk0l1TrzFEdJNRzo5qE/ZisobQaZt67R74zS+ngsmWE+/Vcm3Oyw== lance@pythoninthegrass
ssh_pwauth: false
write_files:
- path: /etc/ssh/sshd_config.d/restrict_root.conf
content: |
PermitRootLogin prohibit-password
Match Address 192.168.0.0/24,192.168.8.0/24
PermitRootLogin yes
runcmd:
- - systemctl
- enable
- --now
- qemu-guest-agent.service
final_message: "The system is finally up, after $UPTIME seconds"
network:
version: 2
ethernets:
enp1s0:
match:
macaddress: "46:dc:b1:1a:d7:b7"
addresses:
- 192.168.8.75/24
gateway4: 192.168.8.1
nameservers:
addresses:
- 192.168.8.152
- 1.1.1.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment