Add a new service to the homelab. Creates the K8s manifest, gateway HTTPRoute, homepage entry, and Cloudflare tunnel DNS rule. Use when the user wants to deploy a new application or self-hosted service.
This homelab uses ArgoCD GitOps: once changes are pushed to main, ArgoCD auto-deploys within 3 minutes. No manual kubectl apply needed for service manifests.
Ask the user (or infer from context) the following:
| Field | Example |
|---|---|
| Service name (lowercase, hyphenated) | my-app |
| Subdomain | myapp → myapp.meirong.dev |
| Docker image | ghcr.io/author/my-app:latest |
| Container port | 8080 |
| Service port (usually 80) | 80 |
| Namespace | personal-services (default) |
| Homepage section (个人服务 / 监控 / 基础设施) |
个人服务| Homepage description (Chinese preferred) | 我的应用 |
| Homepage icon (from walkxcode/dashboard-icons) | my-app.png |
| Needs persistent storage? | yes/no |
| Needs external secrets? | yes/no |
manifests/<service-name>.yamlUse this template (adjust ports and add storage/env as needed):
apiVersion: apps/v1