From 55be79a3613b2215dfb1b3aa46d2646a5c58cd4d Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 13 Jul 2026 16:05:04 +0300 Subject: [PATCH] added doka2-lobby-list --- k8s/apps/doka2-lobby-list/app.yaml | 20 ++++++++ k8s/apps/doka2-lobby-list/deployment.yaml | 51 +++++++++++++++++++ .../doka2-lobby-list/external-secrets.yaml | 26 ++++++++++ k8s/apps/doka2-lobby-list/ingress.yaml | 26 ++++++++++ k8s/apps/doka2-lobby-list/kustomization.yaml | 10 ++++ k8s/apps/doka2-lobby-list/service.yaml | 16 ++++++ k8s/apps/doka2-lobby-list/storage.yaml | 14 +++++ 7 files changed, 163 insertions(+) create mode 100644 k8s/apps/doka2-lobby-list/app.yaml create mode 100644 k8s/apps/doka2-lobby-list/deployment.yaml create mode 100644 k8s/apps/doka2-lobby-list/external-secrets.yaml create mode 100644 k8s/apps/doka2-lobby-list/ingress.yaml create mode 100644 k8s/apps/doka2-lobby-list/kustomization.yaml create mode 100644 k8s/apps/doka2-lobby-list/service.yaml create mode 100644 k8s/apps/doka2-lobby-list/storage.yaml diff --git a/k8s/apps/doka2-lobby-list/app.yaml b/k8s/apps/doka2-lobby-list/app.yaml new file mode 100644 index 0000000..4288b42 --- /dev/null +++ b/k8s/apps/doka2-lobby-list/app.yaml @@ -0,0 +1,20 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: doka2-lobby-list + namespace: argocd +spec: + project: apps + destination: + namespace: doka2-lobby-list + server: https://kubernetes.default.svc + source: + repoURL: ssh://git@gt.hexor.cy:30022/ab/homelab.git + targetRevision: HEAD + path: k8s/apps/doka2-lobby-list + syncPolicy: + automated: + selfHeal: true + prune: true + syncOptions: + - CreateNamespace=true diff --git a/k8s/apps/doka2-lobby-list/deployment.yaml b/k8s/apps/doka2-lobby-list/deployment.yaml new file mode 100644 index 0000000..fa9dd4a --- /dev/null +++ b/k8s/apps/doka2-lobby-list/deployment.yaml @@ -0,0 +1,51 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: doka2-lobby-list + labels: + app: doka2-lobby-list +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app: doka2-lobby-list + template: + metadata: + labels: + app: doka2-lobby-list + spec: + nodeSelector: + kubernetes.io/os: linux + volumes: + - name: creds + persistentVolumeClaim: + claimName: doka2-lobby-list-creds + containers: + - name: doka2-lobby-list + image: ultradesu/doka2-lobby-list:latest + imagePullPolicy: Always + ports: + - name: http + containerPort: 8000 + protocol: TCP + env: + - name: ADMIN_PASSWORD + valueFrom: + secretKeyRef: + name: doka2-lobby-list-secrets + key: ADMIN_PASSWORD + - name: CREDS_DIR + value: /data/creds + volumeMounts: + - name: creds + mountPath: /data/creds + resources: + requests: + cpu: "50m" + memory: "128Mi" + limits: + cpu: "500m" + memory: "512Mi" diff --git a/k8s/apps/doka2-lobby-list/external-secrets.yaml b/k8s/apps/doka2-lobby-list/external-secrets.yaml new file mode 100644 index 0000000..4892faa --- /dev/null +++ b/k8s/apps/doka2-lobby-list/external-secrets.yaml @@ -0,0 +1,26 @@ +--- +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: doka2-lobby-list-secrets +spec: + target: + name: doka2-lobby-list-secrets + deletionPolicy: Delete + template: + type: Opaque + data: + ADMIN_PASSWORD: |- + {{ .admin_password | trim }} + data: + - secretKey: admin_password + sourceRef: + storeRef: + name: vaultwarden-login + kind: ClusterSecretStore + remoteRef: + conversionStrategy: Default + decodingStrategy: None + metadataPolicy: None + key: af4618dd-6431-4b20-b617-c00bae9ceff6 + property: password diff --git a/k8s/apps/doka2-lobby-list/ingress.yaml b/k8s/apps/doka2-lobby-list/ingress.yaml new file mode 100644 index 0000000..59d3469 --- /dev/null +++ b/k8s/apps/doka2-lobby-list/ingress.yaml @@ -0,0 +1,26 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: doka2-lobby-list-tls-ingress + annotations: + cert-manager.io/cluster-issuer: letsencrypt + traefik.ingress.kubernetes.io/router.middlewares: kube-system-https-redirect@kubernetescrd + acme.cert-manager.io/http01-edit-in-place: "true" +spec: + ingressClassName: traefik + rules: + - host: doka.hexor.cy + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: doka2-lobby-list + port: + number: 80 + tls: + - secretName: doka2-lobby-list-tls + hosts: + - doka.hexor.cy diff --git a/k8s/apps/doka2-lobby-list/kustomization.yaml b/k8s/apps/doka2-lobby-list/kustomization.yaml new file mode 100644 index 0000000..dc33f30 --- /dev/null +++ b/k8s/apps/doka2-lobby-list/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - app.yaml + - deployment.yaml + - external-secrets.yaml + - service.yaml + - ingress.yaml + - storage.yaml diff --git a/k8s/apps/doka2-lobby-list/service.yaml b/k8s/apps/doka2-lobby-list/service.yaml new file mode 100644 index 0000000..45babe9 --- /dev/null +++ b/k8s/apps/doka2-lobby-list/service.yaml @@ -0,0 +1,16 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: doka2-lobby-list + labels: + app: doka2-lobby-list +spec: + type: ClusterIP + selector: + app: doka2-lobby-list + ports: + - port: 80 + targetPort: http + protocol: TCP + name: http diff --git a/k8s/apps/doka2-lobby-list/storage.yaml b/k8s/apps/doka2-lobby-list/storage.yaml new file mode 100644 index 0000000..206082b --- /dev/null +++ b/k8s/apps/doka2-lobby-list/storage.yaml @@ -0,0 +1,14 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: doka2-lobby-list-creds + labels: + app: doka2-lobby-list +spec: + accessModes: + - ReadWriteOnce + storageClassName: longhorn + resources: + requests: + storage: 1Gi