From f7c1d0a538e774188a73d288a5bb51fb43b84335 Mon Sep 17 00:00:00 2001 From: Ultradesu Date: Sun, 6 Apr 2025 18:27:46 +0100 Subject: [PATCH] added KHM app --- k8s/apps/khm/app.yaml | 21 +++++++++++++ k8s/apps/khm/deployment.yaml | 47 ++++++++++++++++++++++++++++++ k8s/apps/khm/external-secrets.yaml | 25 ++++++++++++++++ k8s/apps/khm/kustomization.yaml | 9 ++++++ k8s/apps/khm/service.yaml | 14 +++++++++ 5 files changed, 116 insertions(+) create mode 100644 k8s/apps/khm/app.yaml create mode 100644 k8s/apps/khm/deployment.yaml create mode 100644 k8s/apps/khm/external-secrets.yaml create mode 100644 k8s/apps/khm/kustomization.yaml create mode 100644 k8s/apps/khm/service.yaml diff --git a/k8s/apps/khm/app.yaml b/k8s/apps/khm/app.yaml new file mode 100644 index 0000000..e01642a --- /dev/null +++ b/k8s/apps/khm/app.yaml @@ -0,0 +1,21 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: khm + namespace: argocd +spec: + project: homelab + destination: + namespace: khm + server: https://kubernetes.default.svc + source: + repoURL: ssh://git@gt.hexor.cy:30022/ab/homelab.git + targetRevision: HEAD + path: k8s/apps/khm + syncPolicy: + automated: + selfHeal: true + prune: true + syncOptions: + - CreateNamespace=true + diff --git a/k8s/apps/khm/deployment.yaml b/k8s/apps/khm/deployment.yaml new file mode 100644 index 0000000..eeddbde --- /dev/null +++ b/k8s/apps/khm/deployment.yaml @@ -0,0 +1,47 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: khm + namespace: khm + labels: + app: khm +spec: + selector: + matchLabels: + app: khm + replicas: 1 + strategy: + type: RollingUpdate + template: + metadata: + labels: + app: khm + spec: + nodeSelector: + kubernetes.io/hostname: master.tail2fe2d.ts.net + containers: + - name: khm + image: 'ultradesu/khm:latest' + command: + - /bin/sh + - -c + - | + /usr/local/bin/khm --server --db-user=${PG_USER} --db-password=${PG_PASS} --flows=default --db-host=psql.psql.svc --ip=0.0.0.0 + env: + - name: PG_USER + valueFrom: + secretKeyRef: + name: khm-pg-creds + key: PG_USER + - name: PG_PASS + valueFrom: + secretKeyRef: + name: khm-pg-creds + key: PG_PASS + - name: RUST_LOG + value: khm=info + ports: + - name: http + containerPort: 8080 + protocol: TCP diff --git a/k8s/apps/khm/external-secrets.yaml b/k8s/apps/khm/external-secrets.yaml new file mode 100644 index 0000000..2770e05 --- /dev/null +++ b/k8s/apps/khm/external-secrets.yaml @@ -0,0 +1,25 @@ +--- +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: khm-pg-creds + namespace: khm +spec: + target: + name: khm-pg-creds + deletionPolicy: Delete + template: + type: Opaque + data: + PG_USER: "khm" + PG_PASS: |- + {{ .pass }} + data: + - secretKey: pass + sourceRef: + storeRef: + name: vaultwarden-login + kind: ClusterSecretStore + remoteRef: + key: 2a9deb39-ef22-433e-a1be-df1555625e22 + property: fields[3].value diff --git a/k8s/apps/khm/kustomization.yaml b/k8s/apps/khm/kustomization.yaml new file mode 100644 index 0000000..92b553f --- /dev/null +++ b/k8s/apps/khm/kustomization.yaml @@ -0,0 +1,9 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - app.yaml + - external-secrets.yaml + - deployment.yaml + - service.yaml + diff --git a/k8s/apps/khm/service.yaml b/k8s/apps/khm/service.yaml new file mode 100644 index 0000000..45dcda7 --- /dev/null +++ b/k8s/apps/khm/service.yaml @@ -0,0 +1,14 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: khm + namespace: khm +spec: + selector: + app: khm + ports: + - protocol: TCP + port: 8080 + targetPort: 8080 +