Kanbus

Git-backed project management for people and AI agents.

Cloud Ops Runbook (Kanbus Console v1)

This runbook covers deploy, smoke checks, rollback, and incident triage for the cloud console stack (infra/cloud).

Preconditions

Deploy

cd infra/cloud
AWS_PROFILE=anthus npx cdk synth -a "/opt/anaconda3/bin/conda run -n py311 python app.py"
AWS_PROFILE=anthus npx cdk deploy KanbusCloudFoundation --require-approval never -a "/opt/anaconda3/bin/conda run -n py311 python app.py"

Capture outputs:

Smoke Checks

  1. API auth + route check:
curl -i "${API_BASE_URL}${STAGE_PATH}/health"
  1. Realtime bootstrap contract:
curl -s "${API_BASE_URL}${STAGE_PATH}/{account}/{project}/api/realtime/bootstrap" | jq .
  1. Queue wiring:
AWS_PROFILE=anthus aws sqs get-queue-attributes --queue-url "$SYNC_QUEUE_URL" --attribute-names ApproximateNumberOfMessages ApproximateAgeOfOldestMessage
AWS_PROFILE=anthus aws sqs get-queue-attributes --queue-url "$SYNC_DLQ_URL" --attribute-names ApproximateNumberOfMessages
  1. Lambda error baseline:
AWS_PROFILE=anthus aws cloudwatch get-metric-statistics --namespace AWS/Lambda --metric-name Errors --dimensions Name=FunctionName,Value=<function-name> --start-time "$(date -u -v-15M +%Y-%m-%dT%H:%M:%SZ 2>/dev/null || date -u -d '15 minutes ago' +%Y-%m-%dT%H:%M:%SZ)" --end-time "$(date -u +%Y-%m-%dT%H:%M:%SZ)" --period 300 --statistics Sum

Rollback

  1. Re-deploy previously known-good commit:
git checkout <known-good-commit>
cd infra/cloud
AWS_PROFILE=anthus npx cdk deploy KanbusCloudFoundation --require-approval never -a "/opt/anaconda3/bin/conda run -n py311 python app.py"
  1. If webhook ingress is noisy, disable ingress route temporarily by adding a WAF or by rotating GithubWebhookSecretArn.

  2. Confirm alarms and queue depth return to baseline.

Alarm Map

Incident Triage

  1. DLQ alarm firing:
  1. Webhook ingress errors:
  1. Console API 4xx spike:
  1. Realtime path degraded: