feat: add server, workstation, and cloud edition manifests
Define the three flagship editions as plain-text manifests: - server (bastion): production server - observability stack, containers. - workstation (forge): curated KDE Plasma + dev toolchains. - cloud (nimbus): cloud kernel, cloud-init, guest agents. Each manifest carries metadata (services to enable/mask), a package list, a hardened kernel cmdline, and a btrfs fstab template.
This commit is contained in:
9
editions/cloud/fstab
Normal file
9
editions/cloud/fstab
Normal file
@@ -0,0 +1,9 @@
|
||||
# Arcline Cloud — /etc/fstab template
|
||||
# Same layout as the other editions; btrfs-init.sh resolves the root UUID.
|
||||
|
||||
UUID=__ROOT_UUID__ / btrfs rw,noatime,compress=zstd:3,subvol=@ 0 0
|
||||
UUID=__ROOT_UUID__ /home btrfs rw,noatime,compress=zstd:3,subvol=@home 0 0
|
||||
UUID=__ROOT_UUID__ /var/log btrfs rw,noatime,compress=zstd:3,subvol=@log 0 0
|
||||
UUID=__ROOT_UUID__ /.snapshots btrfs rw,noatime,compress=zstd:3,subvol=@snapshots 0 0
|
||||
|
||||
/swap/swapfile none swap sw 0 0
|
||||
28
editions/cloud/kernel.cmdline
Normal file
28
editions/cloud/kernel.cmdline
Normal file
@@ -0,0 +1,28 @@
|
||||
# Arcline Cloud — kernel command line
|
||||
# Same hardening baseline, serial console for cloud serial ports, no graphics.
|
||||
|
||||
console=tty0
|
||||
console=ttyS0,115200n8
|
||||
quiet
|
||||
loglevel=3
|
||||
systemd.show_status=auto
|
||||
|
||||
# hardening
|
||||
init_on_alloc=1
|
||||
init_on_free=1
|
||||
slab_nomerge
|
||||
page_poison=1
|
||||
pti=on
|
||||
spectre_v2=on
|
||||
spec_store_bypass=on
|
||||
tsx=off
|
||||
lockdown=integrity
|
||||
oops=panic
|
||||
panic=-1
|
||||
|
||||
# cloud / disk
|
||||
net.ifnames=0
|
||||
biosdevname=0
|
||||
|
||||
# btrfs / storage
|
||||
rootflags=subvol=@
|
||||
36
editions/cloud/metadata.yaml
Normal file
36
editions/cloud/metadata.yaml
Normal file
@@ -0,0 +1,36 @@
|
||||
# Edition manifest: Arcline Cloud
|
||||
# Codename: nimbus
|
||||
edition: cloud
|
||||
codename: nimbus
|
||||
summary: Minimal base images optimized for cloud infrastructures.
|
||||
description: >
|
||||
Designed for AWS, GCP, Azure, or your own private cloud. Uses the cloud
|
||||
kernel, cloud-init for first-boot provisioning, and a networkd-first
|
||||
network stack. Same hardening baseline as server.
|
||||
|
||||
image:
|
||||
type: iso
|
||||
boot: bios+efi
|
||||
filesystem: btrfs
|
||||
compression: zstd:3
|
||||
|
||||
packages:
|
||||
extra_repos: []
|
||||
|
||||
users:
|
||||
- arcline
|
||||
|
||||
services:
|
||||
enabled:
|
||||
- systemd-networkd
|
||||
- systemd-resolved
|
||||
- cloud-init
|
||||
- cloud-init-local
|
||||
- ssh
|
||||
- nftables
|
||||
- apparmor
|
||||
- qemu-guest-agent
|
||||
- arcline-snapshot.timer
|
||||
masked:
|
||||
- apt-daily.timer
|
||||
- apt-daily-upgrade.timer
|
||||
60
editions/cloud/packages.list
Normal file
60
editions/cloud/packages.list
Normal file
@@ -0,0 +1,60 @@
|
||||
# Arcline Cloud — package set
|
||||
# Minimal footprint: cloud kernel, cloud-init, guest agents, storage tooling.
|
||||
|
||||
# ── base system ─────────────────────────────────────────────────────────────
|
||||
systemd
|
||||
systemd-sysv
|
||||
dbus
|
||||
libpam-systemd
|
||||
ca-certificates
|
||||
locales
|
||||
tzdata
|
||||
|
||||
# ── boot ────────────────────────────────────────────────────────────────────
|
||||
grub-pc
|
||||
grub-efi-amd64
|
||||
shim-signed
|
||||
|
||||
# ── kernel (cloud variant) ──────────────────────────────────────────────────
|
||||
linux-image-cloud-amd64
|
||||
|
||||
# ── filesystem ──────────────────────────────────────────────────────────────
|
||||
btrfs-progs
|
||||
zstd
|
||||
xz-utils
|
||||
|
||||
# ── cloud provisioning ──────────────────────────────────────────────────────
|
||||
cloud-init
|
||||
cloud-guest-utils
|
||||
cloud-image-utils
|
||||
open-vm-tools
|
||||
qemu-guest-agent
|
||||
|
||||
# ── storage / block devices ─────────────────────────────────────────────────
|
||||
nvme-cli
|
||||
open-iscsi
|
||||
multipath-tools
|
||||
lvm2
|
||||
mdadm
|
||||
|
||||
# ── security / hardening ────────────────────────────────────────────────────
|
||||
openssh-server
|
||||
nftables
|
||||
apparmor
|
||||
apparmor-utils
|
||||
|
||||
# ── observability (Debian-main components) ─────────────────────────────────
|
||||
prometheus-node-exporter
|
||||
|
||||
# ── minimal admin tooling ───────────────────────────────────────────────────
|
||||
curl
|
||||
jq
|
||||
git
|
||||
rsync
|
||||
htop
|
||||
vim-tiny
|
||||
|
||||
# ── Arcline toolchain (built from toolchain/) ───────────────────────────────
|
||||
# arcline-uptime arcline-check arcline-audit arcline-dns
|
||||
# arcline-vault arcline-email arcline-migrate arcline-billing
|
||||
# arcline-portal arcline-website arcline-status
|
||||
Reference in New Issue
Block a user