Files
ubuntu-autoinstaller/templates/user-data.tmpl
Zsolt Alföldi 171a590af5 format
2026-03-06 20:06:08 +01:00

191 lines
5.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#cloud-config
autoinstall:
version: 1
timezone: Europe/Budapest
# Network configuration Ethernet + optional WiFi
network:
version: 2
ethernets:
all-eth:
match:
name: "en*" # matches common Ethernet interface names
dhcp4: true
optional: true # not required; if no eth interface exists, ignore
# ─── IDENTITY ──────────────────────────────────────────────────────────────
identity:
hostname: nokia-l13g4-sisu
username: alfoldi
realname: "Zsolt Alfoldi"
password: "${USER_PASSWORD_HASH}"
# ─── SSH ───────────────────────────────────────────────────────────────────
ssh:
install-server: true
allow-pw: false
authorized-keys:
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICgcJfi0dZotMWa8zQvxXduM76GmQfoPvMU5FjIFZCAa alfonzso@gmail.com"
locale: en_US.UTF-8
keyboard:
layout: us
# ─── DISK LAYOUT: LVM on LUKS ──────────────────────────────────────────────
storage:
layout:
name: lvm
# match:
# path: /dev/nvme0n1
sizing-policy: all
encrypted: true
password: "${LUKS_PASSPHRASE}"
user-data:
chpasswd:
expire: false
list:
- root:${USER_PASSWORD_HASH}
# ─── CERT FILES ────────────────────────────────────────────────────────────
write_files:
- path: /nokia/vpn/NOKIA_Root_CA.crt
permissions: "0600"
owner: ${TARGET_USER}:${TARGET_USER}
encoding: b64
content: "${NOKIA_CA_CERT_B64}"
- path: /nokia/vpn/${TARGET_USER}.ipa.nsn-net.net.crt
permissions: "0600"
owner: ${TARGET_USER}:${TARGET_USER}
encoding: b64
content: "${NOKIA_CLIENT_CERT_B64}"
- path: /nokia/vpn/${TARGET_USER}.ipa.nsn-net.net.key
permissions: "0600"
owner: ${TARGET_USER}:${TARGET_USER}
encoding: b64
content: "${NOKIA_CLIENT_KEY_B64}"
- path: /persists/sops/age/.keep
permissions: "0600"
owner: ${TARGET_USER}:${TARGET_USER}
content: ""
- path: /home/${TARGET_USER}/first_install.sh
permissions: "0755"
owner: ${TARGET_USER}:${TARGET_USER}
# | |
# envsubst hack \ /
# `
content: |
if [[ "$${Q}EUID" -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
chown ${TARGET_USER}:${TARGET_USER} -R /home/${TARGET_USER}/nocloud/
netplan generate || true
netplan apply || true
bash -x /home/${TARGET_USER}/nocloud/post-install.sh main
# - path: /etc/himmelblau/himmelblau.conf
# owner: ${TARGET_USER}:${TARGET_USER}
# content: |
# [global]
# domain = nokia.com
# home_attr = CN
# home_alias = CN
# use_etc_skel = true
# pam_allow_groups = zsolt.alfoldi@nokia.com
# # user_map_file = /etc/himmelblau/user-map
#
# - path: /etc/himmelblau/user-map
# owner: ${TARGET_USER}:${TARGET_USER}
# content: |
# ${TARGET_USER}:zsolt.${TARGET_USER}@nokia.com
- path: /etc/ssh/sshd_config.d/99-custom.conf
permissions: "0644"
owner: root:root
content: |
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no
GatewayPorts yes
- path: /etc/systemd/sleep.conf
permissions: "0644"
owner: root:root
content: |
[Sleep]
AllowSuspend=no
AllowHibernation=no
AllowSuspendThenHibernate=no
AllowHybridSleep=no
- path: /etc/systemd/logind.conf.d/no-powersave.conf
permissions: "0644"
owner: root:root
content: |
[Login]
HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore
HandleLidSwitchDocked=ignore
HandleSuspendKey=ignore
HandleHibernateKey=ignore
IdleAction=ignore
- path: /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
permissions: "0644"
owner: root:root
content: |
[connection]
wifi.powersave = 2
- path: /etc/dconf/db/local.d/99-custom-gnome
permissions: "0644"
owner: root:root
content: |
# do not remove it
- path: /etc/dconf/profile/user
owner: root:root
content: |
user-db:user
system-db:local
# ─── PACKAGES ──────────────────────────────────────────────────────────────
packages:
- git
- curl
- wget
- vim
- gettext
- build-essential
- python3
- python3-pip
- python3-venv
- apt-transport-https
- ca-certificates
- gnupg
- lsb-release
- openssh-server
- net-tools
# early-commands:
# - mkdir -p /target/nokia/vpn
# - mkdir -p /target/etc/himmelblau
late-commands:
- bash -x /cdrom/nocloud/wifi.sh
- mkdir -p /target/home/${TARGET_USER}/nocloud
- cp /cdrom/nocloud/* /target/home/${TARGET_USER}/nocloud/
- cat /cdrom/nocloud/my.dconf > /target/etc/dconf/db/local.d/99-custom-gnome
- curtin in-target -- systemctl disable systemd-networkd-wait-online.service
updates: all
shutdown: poweroff
# vim: set filetype=yaml :