# Vastai Prod Checklist

> Vastai Prod Checklist is an Agent Skill for devops & security published in the Dicklesworthstone/pi_agent_rust repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Execute Vast.ai production deployment checklist and rollback procedures. Use when deploying Vast.ai integrations to production, preparing for launch, or implementing go-live procedures. Trigger with phrases like "vastai production", "deploy vastai", "vastai go-live", "vastai launch checklist".

- Skill name: `vastai-prod-checklist`
- Category: [DevOps & Security](https://www.openparable.com/skill/devops-security/1)
- Source: https://github.com/Dicklesworthstone/pi_agent_rust/blob/HEAD/tests/ext_conformance/artifacts/plugins-community/plugins/saas-packs/vastai-pack/skills/vastai-prod-checklist/SKILL.md
- Repository: Dicklesworthstone/pi_agent_rust (1,323 GitHub stars when collected)

## SKILL.md

# Vast.ai Production Checklist

## Overview
Complete checklist for deploying Vast.ai integrations to production.

## Prerequisites
- Staging environment tested and verified
- Production API keys available
- Deployment pipeline configured
- Monitoring and alerting ready

## Instructions

### Step 1: Pre-Deployment Configuration
- [ ] Production API keys in secure vault
- [ ] Environment variables set in deployment platform
- [ ] API key scopes are minimal (least privilege)
- [ ] Webhook endpoints configured with HTTPS
- [ ] Webhook secrets stored securely

### Step 2: Code Quality Verification
- [ ] All tests passing (`npm test`)
- [ ] No hardcoded credentials
- [ ] Error handling covers all Vast.ai error types
- [ ] Rate limiting/backoff implemented
- [ ] Logging is production-appropriate

### Step 3: Infrastructure Setup
- [ ] Health check endpoint includes Vast.ai connectivity
- [ ] Monitoring/alerting configured
- [ ] Circuit breaker pattern implemented
- [ ] Graceful degradation configured

### Step 4: Documentation Requirements
- [ ] Incident runbook created
- [ ] Key rotation procedure documented
- [ ] Rollback procedure documented
- [ ] On-call escalation path defined

### Step 5: Deploy with Gradual Rollout
```bash
# Pre-flight checks
curl -f https://staging.example.com/health
curl -s https://status.vastai.com

# Gradual rollout - start with canary (10%)
kubectl apply -f k8s/production.yaml
kubectl set image deployment/vastai-integration app=image:new --record
kubectl rollout pause deployment/vastai-integration

# Monitor canary traffic for 10 minutes
sleep 600
# Check error rates and latency before continuing

# If healthy, continue rollout to 50%
kubectl rollout resume deployment/vastai-integration
kubectl rollout pause deployment/vastai-integration
sleep 300

# Complete rollout to 100%
kubectl rollout resume deployment/vastai-integration
kubectl rollout status deployment/vastai-integration
```

## Output
- Deployed Vast.ai integration
- Health checks passing
- Monitoring active
- Rollback procedure documented

## Error Handling
| Alert | Condition | Severity |
|-------|-----------|----------|
| API Down | 5xx errors > 10/min | P1 |
| High Latency | p99 > 5000ms | P2 |
| Rate Limited | 429 errors > 5/min | P2 |
| Auth Failures | 401/403 errors > 0 | P1 |

## Examples

### Health Check Implementation
```typescript
async function healthCheck(): Promise<{ status: string; vastai: any }> {
  const start = Date.now();
  try {
    await vastaiClient.ping();
    return { status: 'healthy', vastai: { connected: true, latencyMs: Date.now() - start } };
  } catch (error) {
    return { status: 'degraded', vastai: { connected: false, latencyMs: Date.now() - start } };
  }
}
```

### Immediate Rollback
```bash
kubectl rollout undo deployment/vastai-integration
kubectl rollout status deployment/vastai-integration
```

## Resources
- [Vast.ai Status](https://status.vastai.com)
- [Vast.ai Support](https://docs.vastai.com/support)

## Next Steps
For version upgrades, see `vastai-upgrade-migration`.

---

Source: https://www.openparable.com/skill/devops-security/vastai-prod-checklist (OpenParable). Cite the canonical URL above.
