Publish Image / publish (push) Successful in 36s
Replace the volatile in-memory Map/Set queue with BullMQ backed by Redis for persistence across restarts, automatic retry with exponential backoff, and non-blocking workspace cleanup. - Two queues: workspace-create (concurrency-limited) and workspace-cleanup (with polling instead of sleep-based stop→delete) - Active workspaces tracked in Redis hash for dedup across restarts - Stale sweep every 10 minutes catches orphaned workspaces - Graceful shutdown on SIGTERM/SIGINT - Replace node-cron with BullMQ repeatable jobs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
26 lines
928 B
Plaintext
26 lines
928 B
Plaintext
# Copy to secret.yaml and fill in real values, then:
|
|
# kubectl apply -f k8s/secret.yaml
|
|
#
|
|
# NEVER commit the real secret.yaml to git.
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: orchestrator-secrets
|
|
namespace: sdlc-orchestrator
|
|
type: Opaque
|
|
stringData:
|
|
CODER_URL: "https://coder.samson.media"
|
|
CODER_TOKEN: "<coder-session-token>"
|
|
CODER_TEMPLATE_ID: "<coder-template-id>"
|
|
GITEA_DEV_TOKEN: "<gitea-claude-dev-token>"
|
|
GITEA_REVIEW_TOKEN: "<gitea-claude-review-token>"
|
|
ANTHROPIC_API_KEY: "<anthropic-api-key>"
|
|
CLAUDE_OAUTH_TOKEN: "<claude-code-max-oauth-token>"
|
|
GITEA_URL: "https://gitea.samson.media"
|
|
BOT_DEV_USERNAME: "claude-dev"
|
|
BOT_REVIEW_USERNAME: "claude-review"
|
|
CALLBACK_URL: "https://sdlc.samson.media"
|
|
REDIS_URL: "redis://redis.sdlc-orchestrator.svc.cluster.local:6379"
|
|
# Comma-separated: org/repo=clone_url
|
|
MAINTENANCE_REPOS: "claude/babble=https://gitea.samson.media/claude/babble.git"
|