@intentsolutionsio/vercel-pack 1.0.0 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +67 -44
- package/package.json +4 -4
- package/skills/vercel-advanced-troubleshooting/SKILL.md +185 -195
- package/skills/vercel-advanced-troubleshooting/references/errors.md +11 -0
- package/skills/vercel-advanced-troubleshooting/references/evidence-collection-framework.md +34 -0
- package/skills/vercel-advanced-troubleshooting/references/examples.md +11 -0
- package/skills/vercel-advanced-troubleshooting/references/systematic-isolation.md +56 -0
- package/skills/vercel-advanced-troubleshooting/references/timing-analysis.md +35 -0
- package/skills/vercel-architecture-variants/SKILL.md +227 -216
- package/skills/vercel-architecture-variants/references/errors.md +11 -0
- package/skills/vercel-architecture-variants/references/examples.md +12 -0
- package/skills/vercel-architecture-variants/references/variant-a-monolith-(simple).md +44 -0
- package/skills/vercel-architecture-variants/references/variant-b-service-layer-(moderate).md +72 -0
- package/skills/vercel-architecture-variants/references/variant-c-microservice-(complex).md +81 -0
- package/skills/vercel-ci-integration/SKILL.md +183 -73
- package/skills/vercel-ci-integration/references/errors.md +10 -0
- package/skills/vercel-ci-integration/references/examples.md +36 -0
- package/skills/vercel-ci-integration/references/implementation.md +54 -0
- package/skills/vercel-common-errors/SKILL.md +164 -60
- package/skills/vercel-common-errors/references/errors.md +53 -0
- package/skills/vercel-common-errors/references/examples.md +23 -0
- package/skills/vercel-cost-tuning/SKILL.md +158 -145
- package/skills/vercel-cost-tuning/references/cost-estimation.md +34 -0
- package/skills/vercel-cost-tuning/references/cost-reduction-strategies.md +40 -0
- package/skills/vercel-cost-tuning/references/errors.md +11 -0
- package/skills/vercel-cost-tuning/references/examples.md +15 -0
- package/skills/vercel-data-handling/SKILL.md +202 -155
- package/skills/vercel-data-handling/references/errors.md +11 -0
- package/skills/vercel-data-handling/references/examples.md +27 -0
- package/skills/vercel-data-handling/references/implementation.md +223 -0
- package/skills/vercel-debug-bundle/SKILL.md +163 -67
- package/skills/vercel-debug-bundle/references/errors.md +12 -0
- package/skills/vercel-debug-bundle/references/examples.md +24 -0
- package/skills/vercel-debug-bundle/references/implementation.md +54 -0
- package/skills/vercel-deploy-integration/SKILL.md +163 -156
- package/skills/vercel-deploy-integration/references/errors.md +11 -0
- package/skills/vercel-deploy-integration/references/examples.md +21 -0
- package/skills/vercel-deploy-integration/references/google-cloud-run.md +36 -0
- package/skills/vercel-deploy-integration/references/vercel-deployment.md +35 -0
- package/skills/vercel-deploy-preview/SKILL.md +164 -39
- package/skills/vercel-edge-functions/SKILL.md +185 -37
- package/skills/vercel-enterprise-rbac/SKILL.md +185 -170
- package/skills/vercel-enterprise-rbac/references/errors.md +11 -0
- package/skills/vercel-enterprise-rbac/references/examples.md +12 -0
- package/skills/vercel-enterprise-rbac/references/role-implementation.md +33 -0
- package/skills/vercel-enterprise-rbac/references/sso-integration.md +35 -0
- package/skills/vercel-hello-world/SKILL.md +141 -55
- package/skills/vercel-incident-runbook/SKILL.md +186 -138
- package/skills/vercel-incident-runbook/references/errors.md +11 -0
- package/skills/vercel-incident-runbook/references/examples.md +10 -0
- package/skills/vercel-incident-runbook/references/immediate-actions-by-error-type.md +41 -0
- package/skills/vercel-install-auth/SKILL.md +130 -53
- package/skills/vercel-known-pitfalls/SKILL.md +235 -233
- package/skills/vercel-known-pitfalls/references/errors.md +11 -0
- package/skills/vercel-known-pitfalls/references/examples.md +12 -0
- package/skills/vercel-load-scale/SKILL.md +197 -204
- package/skills/vercel-load-scale/references/capacity-planning.md +47 -0
- package/skills/vercel-load-scale/references/errors.md +11 -0
- package/skills/vercel-load-scale/references/examples.md +26 -0
- package/skills/vercel-load-scale/references/load-testing-with-k6.md +59 -0
- package/skills/vercel-load-scale/references/scaling-patterns.md +65 -0
- package/skills/vercel-local-dev-loop/SKILL.md +159 -71
- package/skills/vercel-local-dev-loop/references/errors.md +11 -0
- package/skills/vercel-local-dev-loop/references/examples.md +21 -0
- package/skills/vercel-local-dev-loop/references/implementation.md +60 -0
- package/skills/vercel-migration-deep-dive/SKILL.md +202 -187
- package/skills/vercel-migration-deep-dive/references/errors.md +11 -0
- package/skills/vercel-migration-deep-dive/references/examples.md +12 -0
- package/skills/vercel-migration-deep-dive/references/implementation-plan.md +80 -0
- package/skills/vercel-migration-deep-dive/references/pre-migration-assessment.md +39 -0
- package/skills/vercel-multi-env-setup/SKILL.md +167 -164
- package/skills/vercel-multi-env-setup/references/configuration-structure.md +59 -0
- package/skills/vercel-multi-env-setup/references/errors.md +11 -0
- package/skills/vercel-multi-env-setup/references/examples.md +11 -0
- package/skills/vercel-observability/SKILL.md +205 -195
- package/skills/vercel-observability/references/alert-configuration.md +40 -0
- package/skills/vercel-observability/references/errors.md +11 -0
- package/skills/vercel-observability/references/examples.md +13 -0
- package/skills/vercel-observability/references/metrics-collection.md +65 -0
- package/skills/vercel-performance-tuning/SKILL.md +212 -156
- package/skills/vercel-performance-tuning/references/caching-strategy.md +49 -0
- package/skills/vercel-performance-tuning/references/errors.md +11 -0
- package/skills/vercel-performance-tuning/references/examples.md +13 -0
- package/skills/vercel-policy-guardrails/SKILL.md +276 -193
- package/skills/vercel-policy-guardrails/references/errors.md +11 -0
- package/skills/vercel-policy-guardrails/references/eslint-rules.md +46 -0
- package/skills/vercel-policy-guardrails/references/examples.md +10 -0
- package/skills/vercel-prod-checklist/SKILL.md +219 -94
- package/skills/vercel-prod-checklist/references/errors.md +11 -0
- package/skills/vercel-prod-checklist/references/examples.md +25 -0
- package/skills/vercel-prod-checklist/references/implementation.md +60 -0
- package/skills/vercel-rate-limits/SKILL.md +187 -100
- package/skills/vercel-rate-limits/references/errors.md +11 -0
- package/skills/vercel-rate-limits/references/examples.md +46 -0
- package/skills/vercel-rate-limits/references/implementation.md +66 -0
- package/skills/vercel-reference-architecture/SKILL.md +226 -180
- package/skills/vercel-reference-architecture/references/errors.md +11 -0
- package/skills/vercel-reference-architecture/references/examples.md +13 -0
- package/skills/vercel-reference-architecture/references/key-components.md +65 -0
- package/skills/vercel-reference-architecture/references/project-structure.md +40 -0
- package/skills/vercel-reliability-patterns/SKILL.md +272 -211
- package/skills/vercel-reliability-patterns/references/circuit-breaker.md +36 -0
- package/skills/vercel-reliability-patterns/references/dead-letter-queue.md +48 -0
- package/skills/vercel-reliability-patterns/references/errors.md +11 -0
- package/skills/vercel-reliability-patterns/references/examples.md +11 -0
- package/skills/vercel-reliability-patterns/references/idempotency-keys.md +36 -0
- package/skills/vercel-sdk-patterns/SKILL.md +264 -92
- package/skills/vercel-sdk-patterns/references/errors.md +11 -0
- package/skills/vercel-sdk-patterns/references/examples.md +45 -0
- package/skills/vercel-sdk-patterns/references/implementation.md +67 -0
- package/skills/vercel-security-basics/SKILL.md +186 -96
- package/skills/vercel-security-basics/references/errors.md +10 -0
- package/skills/vercel-security-basics/references/examples.md +70 -0
- package/skills/vercel-security-basics/references/implementation.md +39 -0
- package/skills/vercel-upgrade-migration/SKILL.md +167 -67
- package/skills/vercel-upgrade-migration/references/errors.md +10 -0
- package/skills/vercel-upgrade-migration/references/examples.md +51 -0
- package/skills/vercel-upgrade-migration/references/implementation.md +29 -0
- package/skills/vercel-webhooks-events/SKILL.md +208 -132
- package/skills/vercel-webhooks-events/references/errors.md +11 -0
- package/skills/vercel-webhooks-events/references/event-handler-pattern.md +37 -0
- package/skills/vercel-webhooks-events/references/examples.md +16 -0
- package/skills/vercel-webhooks-events/references/signature-verification.md +33 -0
|
@@ -1,119 +1,244 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vercel-prod-checklist
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
Use when deploying
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
description: 'Vercel production deployment checklist with rollback and promotion procedures.
|
|
4
|
+
|
|
5
|
+
Use when deploying to production, preparing for launch,
|
|
6
|
+
|
|
7
|
+
or implementing go-live and instant rollback procedures.
|
|
8
|
+
|
|
9
|
+
Trigger with phrases like "vercel production", "deploy vercel prod",
|
|
10
|
+
|
|
11
|
+
"vercel go-live", "vercel launch checklist", "vercel promote".
|
|
12
|
+
|
|
13
|
+
'
|
|
14
|
+
allowed-tools: Read, Bash(vercel:*), Bash(curl:*), Grep
|
|
10
15
|
version: 1.0.0
|
|
11
16
|
license: MIT
|
|
12
17
|
author: Jeremy Longshore <jeremy@intentsolutions.io>
|
|
18
|
+
tags:
|
|
19
|
+
- saas
|
|
20
|
+
- vercel
|
|
21
|
+
- deployment
|
|
22
|
+
- production
|
|
23
|
+
- checklist
|
|
24
|
+
compatibility: Designed for Claude Code, also compatible with Codex and OpenClaw
|
|
13
25
|
---
|
|
14
|
-
|
|
15
|
-
# Vercel Production Checklist
|
|
26
|
+
# Vercel Prod Checklist
|
|
16
27
|
|
|
17
28
|
## Overview
|
|
18
|
-
|
|
29
|
+
|
|
30
|
+
Complete pre-production checklist for Vercel deployments covering environment variables, domain configuration, performance, security, monitoring, and instant rollback procedures.
|
|
19
31
|
|
|
20
32
|
## Prerequisites
|
|
21
|
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
33
|
+
|
|
34
|
+
- Staging deployment tested and verified
|
|
35
|
+
- Production domain DNS configured
|
|
36
|
+
- Production environment variables set
|
|
37
|
+
- Monitoring and alerting configured
|
|
25
38
|
|
|
26
39
|
## Instructions
|
|
27
40
|
|
|
28
|
-
### Step 1: Pre-
|
|
29
|
-
|
|
30
|
-
- [ ] Environment variables set in deployment platform
|
|
31
|
-
- [ ] API key scopes are minimal (least privilege)
|
|
32
|
-
- [ ] Webhook endpoints configured with HTTPS
|
|
33
|
-
- [ ] Webhook secrets stored securely
|
|
34
|
-
|
|
35
|
-
### Step 2: Code Quality Verification
|
|
36
|
-
- [ ] All tests passing (`npm test`)
|
|
37
|
-
- [ ] No hardcoded credentials
|
|
38
|
-
- [ ] Error handling covers all Vercel error types
|
|
39
|
-
- [ ] Rate limiting/backoff implemented
|
|
40
|
-
- [ ] Logging is production-appropriate
|
|
41
|
-
|
|
42
|
-
### Step 3: Infrastructure Setup
|
|
43
|
-
- [ ] Health check endpoint includes Vercel connectivity
|
|
44
|
-
- [ ] Monitoring/alerting configured
|
|
45
|
-
- [ ] Circuit breaker pattern implemented
|
|
46
|
-
- [ ] Graceful degradation configured
|
|
47
|
-
|
|
48
|
-
### Step 4: Documentation Requirements
|
|
49
|
-
- [ ] Incident runbook created
|
|
50
|
-
- [ ] Key rotation procedure documented
|
|
51
|
-
- [ ] Rollback procedure documented
|
|
52
|
-
- [ ] On-call escalation path defined
|
|
53
|
-
|
|
54
|
-
### Step 5: Deploy with Gradual Rollout
|
|
41
|
+
### Step 1: Pre-Deploy Verification
|
|
42
|
+
|
|
55
43
|
```bash
|
|
56
|
-
#
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
#
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
#
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
kubectl rollout resume deployment/vercel-integration
|
|
71
|
-
kubectl rollout pause deployment/vercel-integration
|
|
72
|
-
sleep 300
|
|
73
|
-
|
|
74
|
-
# Complete rollout to 100%
|
|
75
|
-
kubectl rollout resume deployment/vercel-integration
|
|
76
|
-
kubectl rollout status deployment/vercel-integration
|
|
44
|
+
# Verify production env vars are set
|
|
45
|
+
vercel env ls --environment=production
|
|
46
|
+
|
|
47
|
+
# Required production variables (example):
|
|
48
|
+
# DATABASE_URL — production database
|
|
49
|
+
# API_SECRET — production API key (type: sensitive)
|
|
50
|
+
# NEXT_PUBLIC_API_URL — public API endpoint
|
|
51
|
+
# SENTRY_DSN — error tracking
|
|
52
|
+
|
|
53
|
+
# Build locally to catch errors before deploying
|
|
54
|
+
vercel build --prod
|
|
55
|
+
|
|
56
|
+
# Run test suite
|
|
57
|
+
npm test
|
|
77
58
|
```
|
|
78
59
|
|
|
79
|
-
|
|
80
|
-
- Deployed Vercel integration
|
|
81
|
-
- Health checks passing
|
|
82
|
-
- Monitoring active
|
|
83
|
-
- Rollback procedure documented
|
|
60
|
+
### Step 2: Production Deploy
|
|
84
61
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
62
|
+
```bash
|
|
63
|
+
# Option A: Deploy directly to production
|
|
64
|
+
vercel --prod
|
|
65
|
+
|
|
66
|
+
# Option B: Promote an existing preview deployment
|
|
67
|
+
vercel promote https://my-app-git-main-team.vercel.app
|
|
68
|
+
|
|
69
|
+
# Option C: Deploy via API
|
|
70
|
+
curl -X POST "https://api.vercel.com/v13/deployments" \
|
|
71
|
+
-H "Authorization: Bearer $VERCEL_TOKEN" \
|
|
72
|
+
-H "Content-Type: application/json" \
|
|
73
|
+
-d '{
|
|
74
|
+
"name": "my-app",
|
|
75
|
+
"target": "production",
|
|
76
|
+
"gitSource": {
|
|
77
|
+
"type": "github",
|
|
78
|
+
"repoId": "123456789",
|
|
79
|
+
"ref": "main",
|
|
80
|
+
"sha": "abc123"
|
|
81
|
+
}
|
|
82
|
+
}'
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Step 3: Domain Configuration
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# Add production domain
|
|
89
|
+
vercel domains add yourdomain.com
|
|
90
|
+
|
|
91
|
+
# Verify domain DNS
|
|
92
|
+
vercel domains inspect yourdomain.com
|
|
93
|
+
|
|
94
|
+
# DNS setup for apex domain (yourdomain.com):
|
|
95
|
+
# A record → 76.76.21.21
|
|
96
|
+
# AAAA record → (Vercel provides)
|
|
97
|
+
|
|
98
|
+
# DNS setup for subdomain (www.yourdomain.com):
|
|
99
|
+
# CNAME → cname.vercel-dns.com
|
|
100
|
+
|
|
101
|
+
# SSL is automatically provisioned after DNS verification
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Step 4: Post-Deploy Health Checks
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Verify production is responding
|
|
108
|
+
curl -sI https://yourdomain.com | head -5
|
|
109
|
+
|
|
110
|
+
# Test API endpoints
|
|
111
|
+
curl -s https://yourdomain.com/api/health | jq .
|
|
112
|
+
|
|
113
|
+
# Check SSL certificate
|
|
114
|
+
curl -vI https://yourdomain.com 2>&1 | grep "SSL certificate"
|
|
115
|
+
|
|
116
|
+
# Verify security headers
|
|
117
|
+
curl -sI https://yourdomain.com | grep -i "strict-transport\|x-frame\|x-content-type"
|
|
118
|
+
|
|
119
|
+
# Test from multiple regions (using Vercel's edge)
|
|
120
|
+
for region in iad1 sfo1 cdg1 hnd1; do
|
|
121
|
+
echo "Region: $region"
|
|
122
|
+
curl -s -H "x-vercel-ip-country: US" https://yourdomain.com/api/health
|
|
123
|
+
done
|
|
106
124
|
```
|
|
107
125
|
|
|
108
|
-
###
|
|
126
|
+
### Step 5: Instant Rollback Procedure
|
|
127
|
+
|
|
109
128
|
```bash
|
|
110
|
-
|
|
111
|
-
|
|
129
|
+
# If something goes wrong — instant rollback (no rebuild needed)
|
|
130
|
+
vercel rollback
|
|
131
|
+
|
|
132
|
+
# Or rollback to a specific deployment
|
|
133
|
+
vercel rollback dpl_xxxxxxxxxxxx
|
|
134
|
+
|
|
135
|
+
# Or via API
|
|
136
|
+
curl -X POST "https://api.vercel.com/v9/projects/my-app/promote" \
|
|
137
|
+
-H "Authorization: Bearer $VERCEL_TOKEN" \
|
|
138
|
+
-H "Content-Type: application/json" \
|
|
139
|
+
-d '{"deploymentId": "dpl_previous_good_deployment"}'
|
|
140
|
+
|
|
141
|
+
# Verify rollback succeeded
|
|
142
|
+
vercel ls --prod
|
|
143
|
+
curl -s https://yourdomain.com/api/health
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Step 6: Configure Function Regions and Limits
|
|
147
|
+
|
|
148
|
+
```json
|
|
149
|
+
// vercel.json — production optimization
|
|
150
|
+
{
|
|
151
|
+
"regions": ["iad1"],
|
|
152
|
+
"functions": {
|
|
153
|
+
"api/**/*.ts": {
|
|
154
|
+
"memory": 1024,
|
|
155
|
+
"maxDuration": 30
|
|
156
|
+
},
|
|
157
|
+
"api/heavy-compute.ts": {
|
|
158
|
+
"memory": 3008,
|
|
159
|
+
"maxDuration": 60
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
112
163
|
```
|
|
113
164
|
|
|
165
|
+
## Production Checklist
|
|
166
|
+
|
|
167
|
+
### Build & Deploy
|
|
168
|
+
|
|
169
|
+
- [ ] `npm run build` succeeds locally
|
|
170
|
+
- [ ] All tests passing
|
|
171
|
+
- [ ] No TypeScript errors (`npx tsc --noEmit`)
|
|
172
|
+
- [ ] Preview deployment tested by team
|
|
173
|
+
- [ ] `vercel --prod` or promotion executed
|
|
174
|
+
|
|
175
|
+
### Environment Variables
|
|
176
|
+
|
|
177
|
+
- [ ] All required vars set for Production environment
|
|
178
|
+
- [ ] Secrets typed as `sensitive` (hidden in logs)
|
|
179
|
+
- [ ] No `NEXT_PUBLIC_` prefix on secrets
|
|
180
|
+
- [ ] Database URLs point to production instances
|
|
181
|
+
|
|
182
|
+
### Domain & SSL
|
|
183
|
+
|
|
184
|
+
- [ ] Custom domain added and DNS verified
|
|
185
|
+
- [ ] SSL certificate auto-provisioned and valid
|
|
186
|
+
- [ ] `www` subdomain redirects correctly
|
|
187
|
+
- [ ] HSTS header enabled
|
|
188
|
+
|
|
189
|
+
### Security
|
|
190
|
+
|
|
191
|
+
- [ ] Security headers configured (CSP, X-Frame-Options, etc.)
|
|
192
|
+
- [ ] Preview deployment protection enabled
|
|
193
|
+
- [ ] API routes require authentication
|
|
194
|
+
- [ ] CORS configured for production origins only
|
|
195
|
+
|
|
196
|
+
### Performance
|
|
197
|
+
|
|
198
|
+
- [ ] Function regions set closest to your database
|
|
199
|
+
- [ ] `maxDuration` set appropriately per function
|
|
200
|
+
- [ ] Cache-Control headers configured
|
|
201
|
+
- [ ] Bundle size within budget (check with `vercel inspect`)
|
|
202
|
+
- [ ] Core Web Vitals in green (LCP < 2.5s, CLS < 0.1)
|
|
203
|
+
|
|
204
|
+
### Monitoring
|
|
205
|
+
|
|
206
|
+
- [ ] Error tracking configured (Sentry, Datadog, etc.)
|
|
207
|
+
- [ ] Vercel Analytics enabled in dashboard
|
|
208
|
+
- [ ] Runtime logs accessible
|
|
209
|
+
- [ ] Alert on error rate spikes
|
|
210
|
+
|
|
211
|
+
### Rollback
|
|
212
|
+
|
|
213
|
+
- [ ] Previous production deployment identified for rollback
|
|
214
|
+
- [ ] `vercel rollback` tested in staging
|
|
215
|
+
- [ ] Team knows rollback procedure
|
|
216
|
+
|
|
217
|
+
## Output
|
|
218
|
+
|
|
219
|
+
- Production deployment live on custom domain
|
|
220
|
+
- Health checks passing
|
|
221
|
+
- Security headers verified
|
|
222
|
+
- Rollback procedure documented and tested
|
|
223
|
+
|
|
224
|
+
## Error Handling
|
|
225
|
+
|
|
226
|
+
| Error | Cause | Solution |
|
|
227
|
+
|-------|-------|----------|
|
|
228
|
+
| `DEPLOYMENT_BLOCKED` | Branch protection or deployment freeze | Check team settings in dashboard |
|
|
229
|
+
| SSL not provisioned | DNS not propagated | Wait for DNS propagation, verify records |
|
|
230
|
+
| Env var undefined | Not scoped to Production | Add via `vercel env add <key> production` |
|
|
231
|
+
| Function cold starts in prod | No warm-up traffic | Enable concurrency scaling or use edge functions |
|
|
232
|
+
| Rollback fails | Previous deployment expired | Redeploy from known good commit |
|
|
233
|
+
|
|
114
234
|
## Resources
|
|
115
|
-
|
|
116
|
-
- [
|
|
235
|
+
|
|
236
|
+
- [Production Deployments](https://vercel.com/docs/deployments)
|
|
237
|
+
- [Instant Rollback](https://vercel.com/docs/instant-rollback)
|
|
238
|
+
- [Promoting Deployments](https://vercel.com/docs/deployments/promoting-a-deployment)
|
|
239
|
+
- [Custom Domains](https://vercel.com/docs/domains/working-with-domains)
|
|
240
|
+
- [Function Configuration](https://vercel.com/docs/functions/configuring-functions)
|
|
117
241
|
|
|
118
242
|
## Next Steps
|
|
119
|
-
|
|
243
|
+
|
|
244
|
+
For version upgrades, see `vercel-upgrade-migration`.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Error Handling Reference
|
|
2
|
+
|
|
3
|
+
| Alert | Condition | Severity |
|
|
4
|
+
|-------|-----------|----------|
|
|
5
|
+
| API Down | 5xx errors > 10/min | P1 |
|
|
6
|
+
| High Latency | p99 > 5000ms | P2 |
|
|
7
|
+
| Rate Limited | 429 errors > 5/min | P2 |
|
|
8
|
+
| Auth Failures | 401/403 errors > 0 | P1 |
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
*[Tons of Skills](https://tonsofskills.com) by [Intent Solutions](https://intentsolutions.io) | [jeremylongshore.com](https://jeremylongshore.com)*
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
## Examples
|
|
2
|
+
|
|
3
|
+
### Health Check Implementation
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
async function healthCheck(): Promise<{ status: string; vercel: any }> {
|
|
7
|
+
const start = Date.now();
|
|
8
|
+
try {
|
|
9
|
+
await vercelClient.ping();
|
|
10
|
+
return { status: 'healthy', vercel: { connected: true, latencyMs: Date.now() - start } };
|
|
11
|
+
} catch (error) {
|
|
12
|
+
return { status: 'degraded', vercel: { connected: false, latencyMs: Date.now() - start } };
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Immediate Rollback
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
kubectl rollout undo deployment/vercel-integration
|
|
21
|
+
kubectl rollout status deployment/vercel-integration
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
*[Tons of Skills](https://tonsofskills.com) by [Intent Solutions](https://intentsolutions.io) | [jeremylongshore.com](https://jeremylongshore.com)*
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
## Implementation Guide
|
|
2
|
+
|
|
3
|
+
### Step 1: Pre-Deployment Configuration
|
|
4
|
+
|
|
5
|
+
- [ ] Production API keys in secure vault
|
|
6
|
+
- [ ] Environment variables set in deployment platform
|
|
7
|
+
- [ ] API key scopes are minimal (least privilege)
|
|
8
|
+
- [ ] Webhook endpoints configured with HTTPS
|
|
9
|
+
- [ ] Webhook secrets stored securely
|
|
10
|
+
|
|
11
|
+
### Step 2: Code Quality Verification
|
|
12
|
+
|
|
13
|
+
- [ ] All tests passing (`npm test`)
|
|
14
|
+
- [ ] No hardcoded credentials
|
|
15
|
+
- [ ] Error handling covers all Vercel error types
|
|
16
|
+
- [ ] Rate limiting/backoff implemented
|
|
17
|
+
- [ ] Logging is production-appropriate
|
|
18
|
+
|
|
19
|
+
### Step 3: Infrastructure Setup
|
|
20
|
+
|
|
21
|
+
- [ ] Health check endpoint includes Vercel connectivity
|
|
22
|
+
- [ ] Monitoring/alerting configured
|
|
23
|
+
- [ ] Circuit breaker pattern implemented
|
|
24
|
+
- [ ] Graceful degradation configured
|
|
25
|
+
|
|
26
|
+
### Step 4: Documentation Requirements
|
|
27
|
+
|
|
28
|
+
- [ ] Incident runbook created
|
|
29
|
+
- [ ] Key rotation procedure documented
|
|
30
|
+
- [ ] Rollback procedure documented
|
|
31
|
+
- [ ] On-call escalation path defined
|
|
32
|
+
|
|
33
|
+
### Step 5: Deploy with Gradual Rollout
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Pre-flight checks
|
|
37
|
+
curl -f https://staging.example.com/health
|
|
38
|
+
curl -s https://www.vercel-status.com
|
|
39
|
+
|
|
40
|
+
# Gradual rollout - start with canary (10%)
|
|
41
|
+
kubectl apply -f k8s/production.yaml
|
|
42
|
+
kubectl set image deployment/vercel-integration app=image:new --record
|
|
43
|
+
kubectl rollout pause deployment/vercel-integration
|
|
44
|
+
|
|
45
|
+
# Monitor canary traffic for 10 minutes
|
|
46
|
+
sleep 600
|
|
47
|
+
# Check error rates and latency before continuing
|
|
48
|
+
|
|
49
|
+
# If healthy, continue rollout to 50%
|
|
50
|
+
kubectl rollout resume deployment/vercel-integration
|
|
51
|
+
kubectl rollout pause deployment/vercel-integration
|
|
52
|
+
sleep 300
|
|
53
|
+
|
|
54
|
+
# Complete rollout to 100%
|
|
55
|
+
kubectl rollout resume deployment/vercel-integration
|
|
56
|
+
kubectl rollout status deployment/vercel-integration
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
*[Tons of Skills](https://tonsofskills.com) by [Intent Solutions](https://intentsolutions.io) | [jeremylongshore.com](https://jeremylongshore.com)*
|