| name | maintainx-prod-checklist |
| description | Production deployment checklist for MaintainX integrations.
Use when preparing to deploy a MaintainX integration to production,
verifying production readiness, or auditing existing deployments.
Trigger with phrases like "maintainx production", "deploy maintainx",
"maintainx go-live", "maintainx production checklist", "maintainx launch".
|
| allowed-tools | Read, Write, Edit, Bash(npm:*), Bash(node:*) |
| version | 1.0.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
MaintainX Production Checklist
Overview
Comprehensive checklist for deploying MaintainX integrations to production with confidence.
Prerequisites
- MaintainX integration developed and tested
- Production environment configured
- Deployment pipeline ready
Production Checklist
1. Authentication & Security
git secrets --scan
grep -r "mx_live_" . --include="*.ts" --include="*.js"
grep -r "MAINTAINX_API_KEY.*=" . --include="*.ts" --include="*.js" | grep -v ".env"
2. Error Handling & Resilience
const requiredErrorHandlers = [
'401 - Unauthorized',
'403 - Forbidden',
'404 - Not Found',
'422 - Validation Error',
'429 - Rate Limited',
'500+ - Server Errors',
'Network Timeout',
'Connection Refused',
];
3. Performance & Scalability
for i in {1..10}; do
time curl -s -o /dev/null -w "%{http_code}\n" \
-H "Authorization: Bearer $MAINTAINX_API_KEY" \
"https://api.getmaintainx.com/v1/workorders?limit=10"
done
4. Monitoring & Observability
const requiredMetrics = [
'maintainx_api_requests_total',
'maintainx_api_latency_seconds',
'maintainx_api_errors_total',
'maintainx_rate_limit_remaining',
'maintainx_work_orders_created',
];
5. Data Integrity
6. Documentation
7. Compliance & Audit
Pre-Deployment Script
import { MaintainXClient } from '../src/api/maintainx-client';
interface CheckResult {
name: string;
passed: boolean;
message: string;
}
async function runPreDeployChecks(): Promise<CheckResult[]> {
const results: CheckResult[] = [];
try {
const client = new MaintainXClient();
await client.getUsers({ limit: 1 });
results.push({
name: 'API Connectivity',
passed: true,
message: 'Successfully connected to MaintainX API',
});
} catch (error: any) {
results.push({
name: 'API Connectivity',
passed: false,
message: `Failed to connect: ${error.message}`,
});
}
requiredEnvVars = [
,
,
];
( envVar requiredEnvVars) {
results.({
: ,
: !!process.[envVar],
: process.[envVar] ? : ,
});
}
{
{ execSync } = ();
(, { : });
results.({
: ,
: ,
: ,
});
} (error) {
results.({
: ,
: ,
: ,
});
}
{
{ execSync } = ();
(, { : });
results.({
: ,
: ,
: ,
});
} (error) {
results.({
: ,
: ,
: ,
});
}
{
{ execSync } = ();
(, { : });
results.({
: ,
: ,
: ,
});
} (error) {
results.({
: ,
: ,
: ,
});
}
results;
}
() {
.();
results = ();
results.( {
status = r. ? : ;
.();
});
failed = results.( !r.);
.();
(failed. > ) {
.();
failed.( .());
process.();
}
.();
}
().(.);
Post-Deployment Verification
#!/bin/bash
echo "=== Post-Deployment Verification ==="
echo -n "Health check... "
HEALTH=$(curl -s -o /dev/null -w "%{http_code}" https://your-app.com/health)
if [ "$HEALTH" == "200" ]; then
echo "PASS"
else
echo "FAIL (HTTP $HEALTH)"
fi
echo -n "MaintainX API... "
API_CHECK=$(curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer $MAINTAINX_API_KEY" \
https://api.getmaintainx.com/v1/users?limit=1)
if [ "$API_CHECK" == "200" ]; then
echo "PASS"
else
echo "FAIL (HTTP $API_CHECK)"
fi
echo -n "Create work order... "
WO_RESPONSE=$(curl -s -X POST \
-H "Authorization: Bearer $MAINTAINX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Post-Deploy Test - DELETE ME","priority":"LOW"}' \
https://api.getmaintainx.com/v1/workorders)
if | grep -q ;
WO_ID=$( | jq -r )
Output
- All checklist items verified
- Pre-deployment checks passed
- Post-deployment verification completed
- Production deployment documented
Resources
Next Steps
For API version migrations, see maintainx-upgrade-migration.