Use Downloaded authorized_keys and Make URL Configurable #4

Merged
max merged 2 commits from use_downloaded_authorized_keys into main 2025-02-23 18:39:50 +01:00
2 changed files with 11 additions and 11 deletions

View file

@ -13,19 +13,18 @@ Verify that the configured settings are suitable for the cluster you want to cre
If left unset, the respective default value will be used.
| Variable | Default | Description |
| --------- | --------------------------------------- | ---------------------------------------------------------------------- |
| --------------------- | ----------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `VMID` | 9023 | ID the template should have in Proxmox |
| `STORAGE` | `local-zfs` | Pool the disks should be created in |
| `OS` | `debian-12` | `virt-builder` name of the OS to install |
| `NAME` | `chaos-${OS}-tmpl-$(date -u +%Y-%m-%d)` | name of the template |
| `BRIDGE` | `vmbr0,tag=208` | name of the bridge to use and any parameters needed, like the VLAN tag |
| `AUTHORIZED_KEYS_URL` | `https://git.hamburg.ccc.de/CCCHH/infrastructure-authorized-keys/raw/branch/trunk/authorized_keys` | URL to download the authorized_keys file to use from |
### User Account, sshd, and `authorized_keys`
`cloud-init` will create a user `chaos`, by default with a locked password, and authorized keys initialized. Password-less `sudo` is configured, so you can run commands as root.
The script expects `authorized_keys` to be in the current directory. Copy the correct contents from the [appropriate repository](https://gitlab.hamburg.ccc.de/ccchh/infrastructure-authorized-keys).
`sshd` has been configured to listen on port 42666 instead of 22.
### Run the Script

View file

@ -10,6 +10,7 @@
: "${OS:=debian-12}"
: "${NAME:=chaos-${OS}-tmpl-$(date -u +%Y-%m-%d)}"
: "${BRIDGE:=vmbr0,tag=208}"
: "${AUTHORIZED_KEYS_URL:=https://git.hamburg.ccc.de/CCCHH/infrastructure-authorized-keys/raw/branch/trunk/authorized_keys}"
set -eE
@ -27,7 +28,7 @@ cleanup() {
}
wget -4 https://git.hamburg.ccc.de/CCCHH/infrastructure-authorized-keys/raw/branch/trunk/authorized_keys -O authorized_keys
wget -4 "$AUTHORIZED_KEYS_URL" -O authorized_keys
wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.tar.xz -O debian-12-generic-amd64.tar.xz
wget https://cloud.debian.org/images/cloud/bookworm/latest/SHA512SUMS -O SHA512SUMS
sha512sum --ignore-missing -c SHA512SUMS
@ -46,7 +47,6 @@ qm destroy ${VMID} || true
qm create ${VMID} --name "creating-vm" --memory 2048 --net0 virtio,bridge=${BRIDGE}
qm importdisk ${VMID} disk.raw ${STORAGE}
rm disk.raw
popd
qm set ${VMID} --scsihw virtio-scsi-pci --scsi0 ${STORAGE}:vm-${VMID}-disk-0,ssd=1,discard=on
qm set ${VMID} --ide2 ${STORAGE}:cloudinit
@ -64,3 +64,4 @@ qm set ${VMID} --ipconfig0 ip=dhcp
qm set ${VMID} --name ${NAME} --tags debian12
qm cloudinit update ${VMID}
qm template ${VMID}
popd