Files
computer-playbook/meta/categories.yml
kevinveenbirkenbach eccb502197 Merge branch 'feature/swarm-nfs' into feature/ai-agent-employees
One conflict, in the category catalogue: this branch added a virt category for
the sandboxed container runtimes, the other did not.

Keeping our side alone would have closed the conflict and broken the build. The
same merge introduces a test requiring every category to declare a hanzi label,
unique among its siblings, and virt predates that rule and carries none. It now
declares 沙箱, checked against its ten siblings for a collision.
2026-08-06 21:49:56 +02:00

308 lines
10 KiB
YAML

---
# Hanzi labels are compact hierarchical category fragments.
# Every label uses exactly two Chinese characters.
#
# The labels prioritize short, consistent, left-to-right navigation over
# complete or grammatically natural Chinese terminology.
#
# Display paths:
# parent · child · grandchild
#
# Examples:
# sys-ctl-cln -> 系统·控制·清理
# web-app -> 网络·应用
# svc-ai -> 服务·智能
#
# Deploy stages in call order (tasks/stages/0*.yml): the constructor pass
# runs first, then the per-host-type passes (workstation, then server), and
# the destructor pass last. Each top-level category declares the `stage` it
# is invoked in; `cli.meta.roles.order.run` and the stage/role lookups read
# this as the single source of truth.
stages:
- constructor
- workstation
- server
- destructor
roles:
dev:
title: "Software Development Utilties"
hanzi: "开发" # Means "development".
stage: workstation
invokable: false
sys:
title: "System"
hanzi: "系统" # Means "system".
description: "System near components. Will be automaticly called if necessary from other roles."
stage: server
invokable: false
ctl:
title: "Control"
hanzi: "控制" # Means "control" or "steering".
description: "Control layer for system lifecycle management—handling cleanup, monitoring, backups, alerting, maintenance, and repair tasks."
icon: "fas fa-cogs"
invokable: false
cln:
title: "Cleanup"
hanzi: "清理" # Means "cleanup" or "clearing".
description: "Roles for cleaning up various system resources—old backups, unused certificates, temporary files, Docker volumes, disk caches, deprecated domains,
and more."
icon: "fas fa-trash-alt"
invokable: false
hlth:
title: "Monitoring"
hanzi: "监控" # Means "monitoring" or "surveillance".
description: "Roles for system monitoring and health checks—encompassing bot-style automated checks and core low-level monitors for logs, containers, disk
usage, and more."
icon: "fas fa-chart-area"
invokable: false
bkp:
title: "Backup & Restore"
hanzi: "备份" # Means "backup" or "copy".
description: "Backup strategies & restore procedures"
icon: "fas fa-hdd"
invokable: false
alm:
title: "Alerting"
hanzi: "告警" # Means "warning" or "alarm".
description: "Notification handlers for system events"
icon: "fas fa-bell"
invokable: false
mtn:
title: "Maintenance"
hanzi: "维护" # Means "maintenance" or "upkeep".
description: "Maintenance roles for certificates, system upkeep, and recurring operational tasks."
icon: "fas fa-tools"
invokable: false
rpr:
title: "Repair"
hanzi: "修复" # Means "repair", "fix", or "restoration".
description: "Repair and recovery roles—handling hard/soft recovery of Docker, Btrfs balancers, and other low-level system fixes."
icon: "fas fa-wrench"
invokable: false
dns:
title: "DNS Automation"
hanzi: "域名" # Means "domain name".
description: "DNS providers, records, and rDNS management (Cloudflare, Hetzner, etc.)."
icon: "fas fa-network-wired"
invokable: false
stk:
title: "Stack"
hanzi: "堆栈" # Means "stack".
description: "Stack levels to setup the server"
icon: "fas fa-bars-staggered"
invokable: false
front:
title: "System Frontend Helpers"
hanzi: "前端" # Means "frontend" or literally "front end".
description: "Frontend helpers for reverse-proxied apps (injection, shared assets, CDN plumbing)."
icon: "fas fa-wand-magic-sparkles"
invokable: false
inj:
title: "Injection"
hanzi: "注入" # Means "injection" or "insertion".
description: "Composable HTML injection roles (CSS, JS, logout interceptor, analytics, dashboard iframe) for Nginx/OpenResty via sub_filter/Lua with CDN-backed
assets."
icon: "fas fa-filter"
invokable: false
update:
title: "Updates & Package Management"
hanzi: "更新" # Means "update" or "renewal".
description: "OS & package updates"
icon: "fas fa-sync"
stage: constructor
modes:
compose: false
swarm: false
invokable: true
drv:
title: "Drivers"
hanzi: "驱动" # Means "driver", "drive", or "actuation".
description: "Roles for installing and configuring hardware drivers—covering printers, graphics, input devices, and other peripheral support."
icon: "fas fa-microchip"
stage: constructor
run_after: [update]
modes:
compose: false
swarm: false
invokable: true
gen:
title: "Generic"
hanzi: "通用" # Means "general-purpose" or "universal".
description: "Helper roles & installers (git, locales, timer, etc.)"
icon: "fas fa-wrench"
stage: constructor
run_after: [drv]
invokable: true
desk:
title: "Desktop"
hanzi: "桌面" # Means "desktop" or literally "desk surface".
description: "Desktop environment roles & apps (GNOME, browser, LibreOffice, etc.)"
icon: "fas fa-desktop"
stage: workstation
invokable: true
web:
title: "Web Infrastructure"
hanzi: "网络" # Means "network" or "web".
description: "Roles for managing web infrastructure—covering static content services and deployable web applications."
icon: "fas fa-globe"
stage: server
svc:
title: "Services"
hanzi: "服务" # Means "service".
description: "Static content servers (assets, HTML, legal, files)"
icon: "fas fa-file"
invokable: true
app:
title: "Applications"
hanzi: "应用" # Means "application" or "use".
description: "Deployable web applications (GitLab, Nextcloud, Mastodon, etc.)"
icon: "fas fa-docker"
run_after: [web-svc]
invokable: true
opt:
title: "Webserver Optimation"
hanzi: "优化" # Means "optimization".
description: "Tools which help to optimize webservers"
run_after: [web-app]
invokable: true
svc:
title: "Services"
hanzi: "服务" # Means "service".
description: "Infrastructure services like databases"
stage: constructor
invokable: false
db:
title: "Databases"
hanzi: "数据" # Means "data".
description: "Database applications (DBMS, LDAP, Redis, etc.)"
icon: "fas fa-database"
run_after: [svc-net]
invokable: true
dns:
title: "DNS Resolvers"
hanzi: "解析" # Means "resolution", "parsing", or "analysis".
description: "Central recursive/forwarding DNS resolver engines (Unbound, etc.)"
icon: "fas fa-globe"
run_after: [svc-db]
invokable: true
opt:
title: "Service Optimation"
hanzi: "优化" # Means "optimization".
description: "Optimation Services to improve your system"
icon: "fas fa-database"
stage: destructor
invokable: true
prx:
title: "Proxy Servers"
hanzi: "代理" # Means "proxy", "agent", or "representation".
description: "Reverse-proxy roles for routing and load-balancing traffic to backend services"
icon: "fas fa-project-diagram"
run_after: [svc-dns]
invokable: true
net:
title: "Network"
hanzi: "网络" # Means "network" or "web".
description: "Network setup (DNS, Let's Encrypt HTTP, WireGuard, etc.)"
icon: "fas fa-globe"
run_after: [gen]
modes:
compose: false
swarm: false
invokable: true
ai:
title: "AI Services"
hanzi: "智能" # Means "intelligence" or "smart capability".
description: "Core AI building blocks—model serving, OpenAI-compatible gateways, vector databases, orchestration, and chat UIs."
icon: "fas fa-brain"
run_after: [svc-prx]
invokable: true
bkp:
title: "Backup Services"
hanzi: "备份" # Means "backup" or "copy".
description: "Service-level backup and recovery components—handling automated data snapshots, remote backups, synchronization services, and backup orchestration
across databases, files, and containers."
icon: "fas fa-database"
run_after: [svc-ai]
invokable: true
registry:
title: "Container Registries"
hanzi: "仓库" # Means "warehouse" or "repository".
description: "Container-registry services - local registry and pull-through cache."
icon: "fas fa-box-archive"
bootstrap: true
modes:
compose: true
swarm: false
invokable: true
storage:
title: "Shared Storage"
hanzi: "存储" # Means "storage" or "to store".
description: "Shared persistent-storage backends used by multi-node deployments — NFSv4 server and client roles."
icon: "fas fa-hdd"
bootstrap: true
invokable: true
swarm:
title: "Container Orchestration"
hanzi: "编排" # Means "orchestration", "arrangement", or "coordination".
description: "Docker Swarm cluster bootstrap and node-membership roles for multi-host service deployment."
icon: "fas fa-network-wired"
bootstrap: true
invokable: true
virt:
title: "Sandboxed Runtimes"
hanzi: "沙箱" # Means "sandbox".
description: "Kernel-isolating container runtimes on the container host: Kata Containers microVMs and the gVisor userspace fallback."
icon: "fas fa-shield-halved"
bootstrap: true
modes:
compose: false
swarm: false
invokable: true
runner:
title: "CI Runner"
hanzi: "运行" # Means "running", "operation", or "execution".
description: "Self-hosted GitHub Actions runner deployment and configuration"
icon: "fas fa-play"
run_after: [svc-bkp]
invokable: true
user:
title: "Users & Access"
hanzi: "用户" # Means "user".
description: "User accounts & access control"
icon: "fas fa-users"
invokable: false