Collection of cookbooks for Podman Quadlets
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

67 lines
1.8 KiB

#cloud-config
users:
- name: root
ssh_authorized_keys:
- ssh-ed25519 REDACTED user@host
chpasswd:
expire: false
users:
- name: root
password: root
type: text
packages:
- '@virtualization' # Nested virtualization is required to run the tests of the Podman Quadlet Cookbook
- butane
- coreos-installer
- curl
- git
- git-lfs
- make
- net-tools
- nodejs-npm # Required to install Claude Code
- podlet # Tooling for Podman Quadlets development
- podman
- procps-ng
- qemu-img
- systemd
- virt-install
- xterm-resize # Required to fix the terminal when using `virsh console` with UEFI firmware
- yq
- NetworkManager
- dnsmasq # Required to serve DNS records for the Peeble ACME server
runcmd: |
#!/bin/bash
set -Eeuo pipefail
# Enable the Podman socket to allow running Podman containers from the testcontainers python library,
# which is used in the tests of the Podman Quadlet Cookbook.
systemctl enable --now --no-block podman.socket
# Disable systemd-resolved
systemctl stop --no-block systemd-resolved.service
systemctl disable systemd-resolved.service
systemctl mask systemd-resolved.service
# Let NetworkManager handles the DNS name resolution.
rm -f /etc/resolv.conf
systemctl restart NetworkManager.service
write_files:
- path: /etc/ssh/sshd_config.d/00-vscode.conf
content: |
# This file is used to allow VS Code Remote SSH extension to connect to the VM as root user.
PermitRootLogin prohibit-password
permissions: '0600'
- path: /etc/NetworkManager/conf.d/quadlets.conf
content: |
# This file is used to configure NetworkManager for the Quadlets environment.
# It configures NetworkManager to use dnsmasq as the system's DNS resolver and
# generates resolv.conf accordingly.
[main]
dns=dnsmasq
rc-manager=file
permissions: '0644'