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>
84 lines
1.8 KiB
Markdown
84 lines
1.8 KiB
Markdown
# 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)
|
|
|
|
```yaml
|
|
# 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
|