Initial commit: SDLC Orchestrator replacing n8n
Lightweight Hono webhook router that receives Gitea events and creates Coder workspaces for each SDLC stage (analyse, architect, develop, review, test, rework, release, maintenance). Includes k8s manifests for deployment and the Coder workspace template moved from babble. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: sdlc-orchestrator
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: sdlc-orchestrator
|
||||
namespace: sdlc-orchestrator
|
||||
spec:
|
||||
selector:
|
||||
app: sdlc-orchestrator
|
||||
ports:
|
||||
- port: 3000
|
||||
targetPort: 3000
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: sdlc-orchestrator
|
||||
namespace: sdlc-orchestrator
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: sdlc-orchestrator
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: sdlc-orchestrator
|
||||
spec:
|
||||
containers:
|
||||
- name: orchestrator
|
||||
image: registry.samson.media/sdlc-orchestrator:latest
|
||||
ports:
|
||||
- containerPort: 3000
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: orchestrator-secrets
|
||||
env:
|
||||
- name: PORT
|
||||
value: "3000"
|
||||
resources:
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 64Mi
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 128Mi
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: 3000
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 30
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: 3000
|
||||
initialDelaySeconds: 3
|
||||
periodSeconds: 10
|
||||
imagePullSecrets:
|
||||
- name: registry-samson-media
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: sdlc-orchestrator
|
||||
namespace: sdlc-orchestrator
|
||||
annotations:
|
||||
cert-manager.io/cluster-issuer: letsencrypt-production
|
||||
spec:
|
||||
tls:
|
||||
- hosts:
|
||||
- sdlc.samson.media
|
||||
secretName: sdlc-orchestrator-tls
|
||||
rules:
|
||||
- host: sdlc.samson.media
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: sdlc-orchestrator
|
||||
port:
|
||||
number: 3000
|
||||
@@ -0,0 +1,22 @@
|
||||
# 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>"
|
||||
GITEA_URL: "https://gitea.samson.media"
|
||||
BOT_DEV_USERNAME: "claude-dev"
|
||||
BOT_REVIEW_USERNAME: "claude-review"
|
||||
# Comma-separated: org/repo=clone_url
|
||||
MAINTENANCE_REPOS: "claude/babble=https://gitea.samson.media/claude/babble.git"
|
||||
Reference in New Issue
Block a user