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