38 lines
1.4 KiB
Plaintext
38 lines
1.4 KiB
Plaintext
#cloud-config
|
|
# Template for both lab guests. scripts/rebuild-seed.sh substitutes __NODE__
|
|
# and bakes this into a CIDATA seed image.
|
|
#
|
|
# Copy to kc-lab.yaml and fill the two placeholders. The real file is ignored by
|
|
# git because plain_text_passwd is a credential, however disposable.
|
|
#
|
|
# Indentation is spaces only. YAML forbids tabs, and cloud-init fails silently
|
|
# on a parse error: the guest boots as "localhost" with no user and no way in.
|
|
hostname: kc-lab-__NODE__
|
|
fqdn: kc-lab-__NODE__
|
|
manage_etc_hosts: true
|
|
|
|
users:
|
|
- name: donghyeon
|
|
groups: [sudo]
|
|
shell: /bin/bash
|
|
# NOPASSWD is required: the k3s installer and the fault-injection scripts
|
|
# run non-interactively and would block on a password prompt.
|
|
sudo: ['ALL=(ALL) NOPASSWD:ALL']
|
|
# Console-only escape hatch. Without it, a cloud-init failure leaves a guest
|
|
# that cannot be logged into at all, so its own failure log is unreadable.
|
|
# ssh_pwauth stays false, so this never widens SSH exposure.
|
|
lock_passwd: false
|
|
plain_text_passwd: CHANGE_ME
|
|
ssh_authorized_keys:
|
|
# Lab host key: needed because automation runs from the lab host, where
|
|
# agent forwarding is not available.
|
|
- CHANGE_ME_LAB_HOST_PUBLIC_KEY
|
|
# Workstation key: lets ProxyJump reach the guest directly.
|
|
- CHANGE_ME_WORKSTATION_PUBLIC_KEY
|
|
|
|
ssh_pwauth: false
|
|
package_update: true
|
|
packages:
|
|
- curl
|
|
- nftables
|