Cloudinit basics

Cloudinit is een manier om virtuele machines (in bijvoorbeeld Proxmox) op te zetten met enkele standaardwaarden zoals gebruikers, ssh-keys, standaardpakketten of bepaalde commando’s dat moeten uitgevoerd worden. In deze post zal ik de basis toelichten.

Gebruikers toevoegen.

Het handigste van Cloudinit is het toevoegen van gebruikers & login credentials.

#cloud-config
users:
  - name: vincent
    groups: vincent
	sudo: ALL=(ALL) NOPASSWD:ALL
	shell: /bin/bash
	ssh_authorized_keys:
	- 
	-

Pakketten updaten

Een andere usecase is het updaten van packages, of het installeren van standaardpakketten.

#cloud-config
packages:
  - apache2
  - ufw
package_update: true
package_upgrade: true

Commando’s uitvoeren

Je kan ook commando’s uitvoeren met cloudinit, om bijvoorbeeld de firewall te configureren.

#cloud-config
runcmd:
  - ufw allow ssh
  - ufw enable
  - reboot

Alles samen

#cloud-config
users:
  - name: vincent
    groups: vincent
    sudo: ALL=(ALL) NOPASSWD:ALL
    shell: /bin/bash
    ssh_authorized_keys:
    - 
    -
  packages:
  - apache2
  - ufw
  package_update: true
  package_upgrade: true
  runcmd:
  - ufw allow ssh
  - ufw enable
  - reboot