--- # 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