tori/deploy/deployment.yaml
Fam Zheng 63f0582f54 feat: add Google OAuth, remote worker system, and file browser
- Google OAuth login with JWT session cookies, per-user project isolation
- Remote worker registration via WebSocket, execute_on_worker/list_workers agent tools
- File browser UI in workflow view, file upload/download API
- Deploy script switched to local build, added tori.euphon.cloud ingress
2026-03-17 02:00:58 +00:00

104 lines
2.2 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
name: tori
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: tori
namespace: tori
spec:
replicas: 1
selector:
matchLabels:
app: tori
template:
metadata:
labels:
app: tori
spec:
imagePullSecrets:
- name: regcred
containers:
- name: tori
image: registry.oci.euphon.net/tori:latest
ports:
- containerPort: 3000
volumeMounts:
- name: data
mountPath: /app/data
env:
- name: RUST_LOG
value: "info"
- name: GOOGLE_CLIENT_ID
valueFrom:
secretKeyRef:
name: tori-auth
key: google-client-id
- name: GOOGLE_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: tori-auth
key: google-client-secret
- name: JWT_SECRET
valueFrom:
secretKeyRef:
name: tori-auth
key: jwt-secret
- name: PUBLIC_URL
value: "https://tori.euphon.cloud"
volumes:
- name: data
hostPath:
path: /data/tori
type: DirectoryOrCreate
---
apiVersion: v1
kind: Service
metadata:
name: tori
namespace: tori
spec:
selector:
app: tori
ports:
- port: 80
targetPort: 3000
type: ClusterIP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: tori
namespace: tori
annotations:
traefik.ingress.kubernetes.io/router.tls.certresolver: le
spec:
ingressClassName: traefik
rules:
- host: tori.oci.euphon.net
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: tori
port:
number: 80
- host: tori.euphon.cloud
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: tori
port:
number: 80
tls:
- hosts:
- tori.oci.euphon.net
- tori.euphon.cloud