--- name: deploy description: Deploy application to K8s cluster aliases: [d] invokes: workflow:deploy/deploy-app --- # /deploy Command Deploy a new application or update an existing one on the Raspberry Pi Kubernetes cluster. ## Usage ``` /deploy /deploy --image /deploy --update ``` ## Quick Deploy ``` /deploy myapp --image ghcr.io/user/myapp:latest --namespace apps --port 8080 ``` ## What It Does Invokes the `deploy-app` workflow to guide you through deploying via GitOps with ArgoCD: 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 ## Interactive Mode When run without full arguments, prompts for: - Application name - Container image - Namespace (default: default) - Ports - Resources (Pi-optimized defaults) - Pi 3 compatibility ## Resource Defaults (Pi-optimized) ```yaml requests: memory: "64Mi" cpu: "50m" limits: memory: "128Mi" cpu: "200m" ``` ## Confirmation Points - **[CONFIRM]** Creating PR in GitOps repo - **[CONFIRM]** Syncing ArgoCD application - **[CONFIRM]** Rollback if deployment fails