一键导入
add-service
Onboard a new Docker service to Yggdrasil with complete setup and validation
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Onboard a new Docker service to Yggdrasil with complete setup and validation
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Bootstrap yggdrasil from scratch with Debian 12, Docker, and Ansible
Deploy or redeploy a service to yggdrasil with validation and SOPS decryption
Encrypt, decrypt, and rotate service secrets using SOPS and age
| name | add-service |
| description | Onboard a new Docker service to Yggdrasil with complete setup and validation |
| license | MIT |
| metadata | {"audience":"operators","workflow":"service-lifecycle"} |
I guide you through adding a new Docker service to Yggdrasil, from initial setup through validation and deployment readiness:
services/<name>/compose.yaml from the service template.env.example and .env)Use this when you are onboarding a new Docker service to Yggdrasil, whether it's:
.env.example with documented variables and .env with defaults.env.example exists and matches .envdiun.enable=true label if image updates should be monitoredmake ansible-deploy-service SERVICE=<name>my-service or myservice? (Answer: lowercase with hyphens)diun.enable=true label)services/<name>/secrets/)services/service-template/ — baseline structure and compose patternsdocs/conventions.md — naming rules, labels, and structure requirementsdocs/service-lifecycle.md — complete workflow documentationdocs/runbooks/add-new-service.md — step-by-step guideservices/*/compose.yaml — examples from existing servicesAdd a simple stateless service
Ask me to add a service for example.com using nginx:latest
I'll create the directory, compose file, and validate it's ready for deployment.
Add a service with secrets
Ask me to add a service that needs API keys or database passwords
I'll create the secrets directory and help you encrypt credentials with SOPS
Add a service with persistent data
Ask me to add a service that needs volumes or databases
I'll create the compose file with proper volume mounts and backup documentation
Service fails validation
.env.example and .env match in structureSecrets not encrypting
~/.config/sops/age/keys.txt.sops.yaml in repo root has the correct recipientsops services/<name>/secrets/*.yaml to verify encryptionDeployment fails
make validate-all to check Ansible syntaxdocker_service role output in the Ansible logs.envTip: After adding the service, document any service-specific setup, monitoring requirements, or operational quirks in services/<name>/README.md.