Files
claude-code/skills/deploy.md
OpenCode Test a80f714fc2 feat: Implement Phase 1 K8s agent orchestrator system
Core agent system for Raspberry Pi k0s cluster management:

Agents:
- k8s-orchestrator: Central task delegation and decision making
- k8s-diagnostician: Cluster health, logs, troubleshooting
- argocd-operator: GitOps deployments and rollbacks
- prometheus-analyst: Metrics queries and alert analysis
- git-operator: Manifest management and PR workflows

Workflows:
- cluster-health-check.yaml: Scheduled health assessment
- deploy-app.md: Application deployment guide
- pod-crashloop.yaml: Automated incident response

Skills:
- /cluster-status: Quick health overview
- /deploy: Deploy or update applications
- /diagnose: Investigate cluster issues

Configuration:
- Agent definitions with model assignments (Opus/Sonnet)
- Autonomy rules (safe/confirm/forbidden actions)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 11:25:11 -08:00

1.8 KiB

Deploy Application

Deploy a new application or update an existing one on the Raspberry Pi Kubernetes cluster.

Usage

/deploy <app-name>
/deploy <app-name> --image <image:tag>
/deploy <app-name> --update

What it does

Guides you through deploying an application using the GitOps workflow with ArgoCD.

Interactive Mode

When run without full arguments, the skill will ask for:

  1. Application name - Name for the deployment
  2. Container image - Full image path with tag
  3. Namespace - Target namespace (default: default)
  4. Ports - Exposed ports (comma-separated)
  5. Resources - Memory/CPU limits (defaults provided for Pi)
  6. Pi 3 compatible? - Whether to add tolerations for Pi 3 node

Quick Deploy

/deploy myapp --image ghcr.io/user/myapp:latest --namespace apps --port 8080

Steps

  1. Check existing state - See if app exists, current status
  2. Generate manifests - Create deployment, service, kustomization
  3. Create PR - Push to GitOps repo, create PR
  4. Sync - After PR merge, trigger ArgoCD sync
  5. Verify - Confirm pods are running

Resource Defaults (Pi-optimized)

# Standard workload
requests:
  memory: "64Mi"
  cpu: "50m"
limits:
  memory: "128Mi"
  cpu: "200m"

# Lightweight (Pi 3 compatible)
requests:
  memory: "32Mi"
  cpu: "25m"
limits:
  memory: "64Mi"
  cpu: "100m"

Examples

Deploy new app

/deploy homepage --image nginx:alpine --port 80 --namespace web

Update existing app

/deploy api --update --image api:v2.0.0

Deploy to Pi 3

/deploy lightweight-app --image app:latest --pi3

Confirmation Points

  • [CONFIRM] Creating PR in GitOps repo
  • [CONFIRM] Syncing ArgoCD application
  • [CONFIRM] Rollback if deployment fails