dnd anpassung

This commit is contained in:
HDW
2026-06-03 23:19:31 +02:00
parent 7db9966441
commit 3e584ce6b3
11 changed files with 259 additions and 26 deletions

View File

@@ -0,0 +1,114 @@
apiVersion: v1
kind: Secret
metadata:
name: dnd-secrets
namespace: dnd-dev
type: Opaque
stringData:
# Zeigt auf denselben Postgres im dnd-Namespace (cross-namespace via FQDN)
DATABASE_URL: "postgresql://admin:dndgeheim123@dnd-postgres-service.dnd.svc.cluster.local:5432/dnd_ledger"
SECRET_KEY: "dev-secret-change-me"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: dnd-backend
namespace: dnd-dev
spec:
replicas: 1
selector:
matchLabels:
app: dnd-backend
template:
metadata:
labels:
app: dnd-backend
spec:
imagePullSecrets:
- name: github-auth
containers:
- name: backend
image: ghcr.io/unreg-hdw/dnd-ledger-backend:dev
ports:
- containerPort: 8000
env:
- name: DATABASE_URL
valueFrom:
secretKeyRef:
name: dnd-secrets
key: DATABASE_URL
- name: SECRET_KEY
valueFrom:
secretKeyRef:
name: dnd-secrets
key: SECRET_KEY
- name: CORS_ORIGINS
value: "https://dev.dnd.unreg-hdw.de"
readinessProbe:
httpGet:
path: /health
port: 8000
initialDelaySeconds: 10
periodSeconds: 10
---
apiVersion: v1
kind: Service
metadata:
name: dnd-backend-service
namespace: dnd-dev
spec:
selector:
app: dnd-backend
ports:
- port: 8000
targetPort: 8000
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: dnd-frontend
namespace: dnd-dev
spec:
replicas: 1
selector:
matchLabels:
app: dnd-frontend
template:
metadata:
labels:
app: dnd-frontend
spec:
imagePullSecrets:
- name: github-auth
containers:
- name: frontend
image: ghcr.io/unreg-hdw/dnd-ledger-frontend:dev
ports:
- containerPort: 3000
env:
- name: BACKEND_URL
value: "http://dnd-backend-service:8000"
- name: NODE_ENV
value: "production"
readinessProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: 15
periodSeconds: 10
---
apiVersion: v1
kind: Service
metadata:
name: dnd-frontend-service
namespace: dnd-dev
spec:
selector:
app: dnd-frontend
ports:
- port: 3000
targetPort: 3000

38
apps/dnd-dev/ingress.yaml Normal file
View File

@@ -0,0 +1,38 @@
apiVersion: v1
kind: Service
metadata:
name: dnd-ledger-service
namespace: dnd-dev
spec:
selector:
app: dnd-frontend
ports:
- port: 80
targetPort: 3000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: dnd-ledger-ingress
namespace: dnd-dev
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
traefik.ingress.kubernetes.io/router.entrypoints: web, websecure
spec:
ingressClassName: traefik
rules:
- host: dev.dnd.unreg-hdw.de
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: dnd-ledger-service
port:
number: 80
tls:
- hosts:
- dev.dnd.unreg-hdw.de
secretName: dnd-ledger-dev-tls-cert

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: dnd-dev

View File

@@ -5,42 +5,119 @@ metadata:
namespace: dnd namespace: dnd
type: Opaque type: Opaque
stringData: stringData:
# Host zeigt jetzt auf dnd-postgres-service
DATABASE_URL: "postgresql://admin:dndgeheim123@dnd-postgres-service:5432/dnd_ledger" DATABASE_URL: "postgresql://admin:dndgeheim123@dnd-postgres-service:5432/dnd_ledger"
SECRET_KEY: "83663c9375379ab11dd937d99b4f7b0d0c984c2dacf6c561165198d6a2b3ed62"
--- ---
# ── BACKEND ────────────────────────────────────────────────────────────────────
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: dnd-ledger-app name: dnd-backend
namespace: dnd namespace: dnd
spec: spec:
replicas: 1 replicas: 1
selector: selector:
matchLabels: matchLabels:
app: dnd-ledger app: dnd-backend
template: template:
metadata: metadata:
labels: labels:
app: dnd-ledger app: dnd-backend
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: github-auth - name: github-auth
containers: containers:
- name: streamlit - name: backend
image: ghcr.io/unreg-hdw/dnd-ledger:latest # Dein neues Image image: ghcr.io/unreg-hdw/dnd-ledger-backend:latest
ports: ports:
- containerPort: 8501 - containerPort: 8000
args:
- "streamlit"
- "run"
- "app.py"
- "--server.port=8501"
- "--server.address=0.0.0.0"
- "--server.enableCORS=false"
- "--server.enableXsrfProtection=false"
env: env:
- name: DATABASE_URL - name: DATABASE_URL
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: dnd-secrets name: dnd-secrets
key: DATABASE_URL key: DATABASE_URL
- name: SECRET_KEY
valueFrom:
secretKeyRef:
name: dnd-secrets
key: SECRET_KEY
- name: CORS_ORIGINS
value: "https://dnd.unreg-hdw.de"
readinessProbe:
httpGet:
path: /health
port: 8000
initialDelaySeconds: 10
periodSeconds: 10
livenessProbe:
httpGet:
path: /health
port: 8000
initialDelaySeconds: 30
periodSeconds: 30
---
apiVersion: v1
kind: Service
metadata:
name: dnd-backend-service
namespace: dnd
spec:
selector:
app: dnd-backend
ports:
- protocol: TCP
port: 8000
targetPort: 8000
---
# ── FRONTEND ───────────────────────────────────────────────────────────────────
apiVersion: apps/v1
kind: Deployment
metadata:
name: dnd-frontend
namespace: dnd
spec:
replicas: 1
selector:
matchLabels:
app: dnd-frontend
template:
metadata:
labels:
app: dnd-frontend
spec:
imagePullSecrets:
- name: github-auth
containers:
- name: frontend
image: ghcr.io/unreg-hdw/dnd-ledger-frontend:latest
ports:
- containerPort: 3000
env:
- name: BACKEND_URL
value: "http://dnd-backend-service:8000"
- name: NODE_ENV
value: "production"
readinessProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: 15
periodSeconds: 10
---
apiVersion: v1
kind: Service
metadata:
name: dnd-frontend-service
namespace: dnd
spec:
selector:
app: dnd-frontend
ports:
- protocol: TCP
port: 3000
targetPort: 3000

View File

@@ -5,11 +5,12 @@ metadata:
namespace: dnd namespace: dnd
spec: spec:
selector: selector:
app: dnd-ledger app: dnd-frontend
ports: ports:
- protocol: TCP - protocol: TCP
port: 80 port: 80
targetPort: 8501 targetPort: 3000
--- ---
apiVersion: networking.k8s.io/v1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
@@ -22,7 +23,7 @@ metadata:
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
- host: dnd.unreg-hdw.de # Neue Subdomain - host: dnd.unreg-hdw.de
http: http:
paths: paths:
- path: / - path: /

4
apps/dnd/namespace.yaml Normal file
View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: dnd

View File

@@ -1,9 +1,4 @@
apiVersion: v1 apiVersion: v1
kind: Namespace
metadata:
name: dnd
---
apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
name: dnd-postgres-pvc name: dnd-postgres-pvc