This commit is contained in:
HDW
2026-05-15 16:15:50 +02:00
parent b616f5261c
commit 4c62845be0
3 changed files with 147 additions and 0 deletions

44
apps/dnd/deployment.yaml Normal file
View File

@@ -0,0 +1,44 @@
apiVersion: v1
kind: Secret
metadata:
name: dnd-secrets
namespace: dnd
type: Opaque
stringData:
# Host zeigt jetzt auf dnd-postgres-service
DATABASE_URL: "postgresql://admin:dndgeheim123@dnd-postgres-service:5432/dnd_ledger"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: dnd-ledger-app
namespace: dnd
spec:
replicas: 1
selector:
matchLabels:
app: dnd-ledger
template:
metadata:
labels:
app: dnd-ledger
spec:
containers:
- name: streamlit
image: ghcr.io/unreg-hdw/dandd:latest # Dein neues Image
ports:
- containerPort: 8501
args:
- "streamlit"
- "run"
- "app.py"
- "--server.port=8501"
- "--server.address=0.0.0.0"
- "--server.enableCORS=false"
- "--server.enableXsrfProtection=false"
env:
- name: DATABASE_URL
valueFrom:
secretKeyRef:
name: dnd-secrets
key: DATABASE_URL

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

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

65
apps/dnd/postgresql.yaml Normal file
View File

@@ -0,0 +1,65 @@
apiVersion: v1
kind: Namespace
metadata:
name: dnd
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: dnd-postgres-pvc
namespace: dnd
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
---
apiVersion: v1
kind: Service
metadata:
name: dnd-postgres-service
namespace: dnd
spec:
selector:
app: dnd-postgres
ports:
- protocol: TCP
port: 5432
targetPort: 5432
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: dnd-postgres
namespace: dnd
spec:
serviceName: "dnd-postgres-service"
replicas: 1
selector:
matchLabels:
app: dnd-postgres
template:
metadata:
labels:
app: dnd-postgres
spec:
containers:
- name: postgres
image: postgres:15-alpine
env:
- name: POSTGRES_DB
value: "dnd_ledger" # Name der DB geändert
- name: POSTGRES_USER
value: "admin"
- name: POSTGRES_PASSWORD
value: "dndgeheim123"
ports:
- containerPort: 5432
volumeMounts:
- name: postgres-storage
mountPath: /var/lib/postgresql/data
volumes:
- name: postgres-storage
persistentVolumeClaim:
claimName: dnd-postgres-pvc