From 16c9115be8f34189a8ec2af21d31610ae922463f Mon Sep 17 00:00:00 2001 From: HDW Date: Sun, 26 Apr 2026 09:12:56 +0200 Subject: [PATCH] add wt tracker --- apps/warthunder/app-deployment.yaml | 67 +++++++++++++++++++++++++++++ apps/warthunder/postgres.yaml | 60 ++++++++++++++++++++++++++ 2 files changed, 127 insertions(+) create mode 100644 apps/warthunder/app-deployment.yaml create mode 100644 apps/warthunder/postgres.yaml diff --git a/apps/warthunder/app-deployment.yaml b/apps/warthunder/app-deployment.yaml new file mode 100644 index 0000000..dc0ff79 --- /dev/null +++ b/apps/warthunder/app-deployment.yaml @@ -0,0 +1,67 @@ +apiVersion: v1 +kind: Secret +metadata: + name: wt-secrets + namespace: warthunder +stringData: + DATABASE_URL: "postgresql://admin:geheim123@postgres-service:5432/warthunder" +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: wt-tracker-app + namespace: warthunder +spec: + replicas: 1 + selector: + matchLabels: + app: wt-tracker + template: + metadata: + labels: + app: wt-tracker + spec: + containers: + - name: streamlit + image: dein-repo/wt-tracker:v1 # Hier dein gebautes Image eintragen + ports: + - containerPort: 8501 + env: + - name: DATABASE_URL + valueFrom: + secretKeyRef: + name: wt-secrets + key: DATABASE_URL +--- +apiVersion: v1 +kind: Service +metadata: + name: wt-tracker-service + namespace: warthunder +spec: + selector: + app: wt-tracker + ports: + - protocol: TCP + port: 80 + targetPort: 8501 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: wt-tracker-ingress + namespace: warthunder + annotations: + kubernetes.io/ingress.class: nginx # Oder dein Ingress-Controller +spec: + rules: + - host: wt-trades.dein-homelab.local # Dein lokaler DNS + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: wt-tracker-service + port: + number: 80 diff --git a/apps/warthunder/postgres.yaml b/apps/warthunder/postgres.yaml new file mode 100644 index 0000000..e366d04 --- /dev/null +++ b/apps/warthunder/postgres.yaml @@ -0,0 +1,60 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: postgres-pvc + namespace: warthunder +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi +--- +apiVersion: v1 +kind: Service +metadata: + name: postgres-service + namespace: warthunder +spec: + selector: + app: postgres + ports: + - protocol: TCP + port: 5432 + targetPort: 5432 +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: postgres + namespace: warthunder +spec: + serviceName: "postgres-service" + replicas: 1 + selector: + matchLabels: + app: postgres + template: + metadata: + labels: + app: postgres + spec: + containers: + - name: postgres + image: postgres:15-alpine + env: + - name: POSTGRES_DB + value: "warthunder" + - name: POSTGRES_USER + value: "admin" + - name: POSTGRES_PASSWORD + value: "geheim123" + ports: + - containerPort: 5432 + volumeMounts: + - name: postgres-storage + mountPath: /var/lib/postgresql/data + volumes: + - name: postgres-storage + persistentVolumeClaim: + claimName: postgres-pvc