onboard-app
Research, version-pin, GitOps-deploy, expose, and verify a new application on a homelab Kubernetes cluster (platform-gitops + Gateway/tunnel).
Skill by giovannirco
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/giovannirco-onboard-app
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops, research
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/onboard-app
What's inside
- Skill name
onboard-app- Description
- Research, version-pin, GitOps-deploy, expose, and verify a new application on a homelab Kubernetes cluster (platform-gitops + Gateway/tunnel). Triggers: /onboard-app, install app, new app, deploy app, version bump, image tag.
- License
- MIT
- Instructions
- 69 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# Onboard a new homelab app
## Hard rule — versions
Before writing charts/values, **look up the latest stable release** and pin an **explicit tag**. Never invent tags. Avoid floating `latest` / `stable` in GitOps.
```bash
gh api repos/<org>/<repo>/releases/latest --jq '.tag_name'
crane manifest <image>:<tag> >/dev/null && echo OK
```
## Checklist
1. Research upstream (storage, DB, redis, env, UID).
2. Resolve latest stable version; record in app README.
3. Choose path: `platform-gitops/apps/<name>/`.
4. Design storage + secrets + exposure.
5. Scaffold Helm (or plain manifests) + HTTPRoute/Ingress.
6. Push → Argo sync (no long-lived kubectl mutates).
7. Verify pods, DNS/tunnel, HTTP.
8. Document first-login on the issue.
9. Update dashboards if applicable.
## Layout
```text
apps/<name>/
config.yaml
README.md
helm/
Chart.yaml
values.yaml # image.repository + image.tag PINNED
templates/
```
## Storage defaults
| Data class | Choice |
|------------|--------|
| Small RWO / SQLite | local path / OpenEBS hostpath / single-replica CSI |
| Large media | NFS or object storage |
| Postgres/MySQL | operator (CNPG/MariaDB) preferred over random containers |
Match image UID/fsGroup. On NFS with root_squash: never chown as root in initContainers.
## Exposure
- LAN: internal Gateway or LB VIP
- Public: Cloudflare Tunnel → external Gateway
- Avoid mixing http/https origins (301 loops)
## Verify
```bash
kubectl get application -n argocd | grep <name>
kubectl get pods -n <ns> -o wide
kubectl logs -n <ns> deploy/<name> --tail=50
curl -skI https://<host>/ | head
```
## Footguns
1. selfHeal undoes kubectl scale/edit
2. Wrong node for strict-local PVC → Pending
3. Shell-expanded `$PASSWORD` empty in env — put full URL in Secret
4. Major jumps without reading migrations
5. Blog-post tags from 2022From giovannirco/agentic-homelab, MIT.
More from giovannirco/agentic-homelab
- 0.587score
omni-netboot
giovannirco
Self-hosted Omni with netboot enrolment: identity rules (domain, account ID, fixed IP), enrolment images, cluster templates in git, lab clusters on VMs, the…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
local-ai-gpu-node
giovannirco
Run and measure local AI on a Talos GPU worker: storage off the node disk, one GPU app at a time, thermal profile per card, power limits from a privileged…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
long-session-goal
giovannirco
Keep a multi-hour agent session on track across context loss: a goal file with a checkable end, a resume routine, a checkpoint routine, a "waiting for the…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
lab-bootstrap
giovannirco
Bootstrap an agentic homelab: Proxmox, agent VM, Talos, Cilium, Argo CD, Cloudflare Tunnel, Technitium split-DNS, external-dns, agent GH App + kube access…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
home-network-controllers
giovannirco
UniFi, MikroTik, or Omada for lab networking: VLANs, DHCP DNS, DNS redirect footguns, reserve infra IPs, free LB pool.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
observability
giovannirco
Choose observability tier by hardware: Grafana Cloud Free + Alloy (light), self-hosted Grafana+Prometheus+Loki single, or full LGTM (Mimir/Loki/Tempo RF=1+).
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
talos-upgrade
giovannirco
Sequential Talos + Kubernetes upgrades: compatibility gates, one minor at a time, CNI bootstrap caution, verify steps.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
cilium-networking
giovannirco
Cilium as cluster CNI with kube-proxy replacement, Cilium LB-IPAM + L2 Announcement for Service type LoadBalancer (not MetalLB), Gateway notes.
SkillAFreshness: A★ 1Claude Code +9 - 0.544score
hermes-agent
giovannirco
Hermes Agent on Proxmox VM (multi-profile fleet) or Kubernetes (tenant GitOps): SOUL/skills, GitHub App, MCP (including WAHA), dashboard, s6 entrypoint…
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
multus-secondary-net
giovannirco
Multus CNI for secondary pod interfaces (macvlan NADs on LAN), when to use vs ClusterIP/LB VIP, static-IP footguns.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
technitium-split-dns
giovannirco
Bootstrap and operate Technitium for LAN split-horizon DNS: primary zones, forwarders, optional catalog secondary, client DHCP/DNAT, diagnose public CF vs…
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
explain-as-you-go
giovannirco
Narrate why before how on ops channels; link issues; keep scope tight.
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 3, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/giovannirco/agentic-homelab
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from giovannirco
- 0.587score
local-ai-gpu-node
giovannirco
Run and measure local AI on a Talos GPU worker: storage off the node disk, one GPU app at a time, thermal profile per card, power limits from a privileged…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
long-session-goal
giovannirco
Keep a multi-hour agent session on track across context loss: a goal file with a checkable end, a resume routine, a checkpoint routine, a "waiting for the…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
omni-netboot
giovannirco
Self-hosted Omni with netboot enrolment: identity rules (domain, account ID, fixed IP), enrolment images, cluster templates in git, lab clusters on VMs, the…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
home-network-controllers
giovannirco
UniFi, MikroTik, or Omada for lab networking: VLANs, DHCP DNS, DNS redirect footguns, reserve infra IPs, free LB pool.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
cilium-networking
giovannirco
Cilium as cluster CNI with kube-proxy replacement, Cilium LB-IPAM + L2 Announcement for Service type LoadBalancer (not MetalLB), Gateway notes.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
talos-upgrade
giovannirco
Sequential Talos + Kubernetes upgrades: compatibility gates, one minor at a time, CNI bootstrap caution, verify steps.
SkillAFreshness: A★ 1Claude Code +9
Cite this page
onboard-app skill. Agent Mart. https://agentmart.dev/skills/giovannirco-onboard-app (last updated 2026-10-24)