From 8c3d29c5b66e41c4b7c80b655f91342aef7e8022 Mon Sep 17 00:00:00 2001 From: Ultradesu Date: Wed, 10 Sep 2025 19:42:15 +0300 Subject: [PATCH] added greece-notifier --- k8s/apps/greece-notifier/app.yaml | 21 +++++++++ k8s/apps/greece-notifier/deployment.yaml | 46 +++++++++++++++++++ .../greece-notifier/external-secrets.yaml | 23 ++++++++++ k8s/apps/greece-notifier/kustomization.yaml | 6 +++ 4 files changed, 96 insertions(+) create mode 100644 k8s/apps/greece-notifier/app.yaml create mode 100644 k8s/apps/greece-notifier/deployment.yaml create mode 100644 k8s/apps/greece-notifier/external-secrets.yaml create mode 100644 k8s/apps/greece-notifier/kustomization.yaml diff --git a/k8s/apps/greece-notifier/app.yaml b/k8s/apps/greece-notifier/app.yaml new file mode 100644 index 0000000..1408455 --- /dev/null +++ b/k8s/apps/greece-notifier/app.yaml @@ -0,0 +1,21 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: greece-notifier + namespace: argocd +spec: + project: apps + destination: + namespace: greece-notifier + server: https://kubernetes.default.svc + source: + repoURL: ssh://git@gt.hexor.cy:30022/ab/homelab.git + targetRevision: HEAD + path: k8s/apps/greece-notifier + syncPolicy: + automated: + selfHeal: true + prune: true + syncOptions: + - CreateNamespace=true + diff --git a/k8s/apps/greece-notifier/deployment.yaml b/k8s/apps/greece-notifier/deployment.yaml new file mode 100644 index 0000000..9294b5b --- /dev/null +++ b/k8s/apps/greece-notifier/deployment.yaml @@ -0,0 +1,46 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: greece-notifier +spec: + replicas: 1 + selector: + matchLabels: + app: greece-notifier + template: + metadata: + labels: + app: greece-notifier + spec: + nodeSelector: + kubernetes.io/hostname: nas.homenet + volumes: + - name: data + nfs: + server: nas.homenet + path: /mnt/storage/Storage/k8s/greece-notifier/ + readOnly: false + containers: + - name: greece-notifier + image: ultradesu/greece-notifier:master + resources: + requests: + cpu: "100m" + memory: "256Mi" + limits: + cpu: "2000m" + memory: "1Gi" + volumeMounts: + - name: data + mountPath: /data + env: + - name: ENDPOINT_BID + value: 56 # Cyprus id + - name: UPDATE_INTERVAL_SECS + value: 300 + - name: TELOXIDE_TOKEN + valueFrom: + secretKeyRef: + name: greece-notifier-creds + key: TELOXIDE_TOKEN diff --git a/k8s/apps/greece-notifier/external-secrets.yaml b/k8s/apps/greece-notifier/external-secrets.yaml new file mode 100644 index 0000000..5374125 --- /dev/null +++ b/k8s/apps/greece-notifier/external-secrets.yaml @@ -0,0 +1,23 @@ +--- +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: greece-notifier-creds +spec: + target: + name: greece-notifier-creds + deletionPolicy: Delete + template: + type: Opaque + data: + TELOXIDE_TOKEN: |- + {{ .token }} + data: + - secretKey: token + sourceRef: + storeRef: + name: vaultwarden-login + kind: ClusterSecretStore + remoteRef: + key: 34e8f207-27ad-4b21-b114-84d3f7460a51 + property: login.password diff --git a/k8s/apps/greece-notifier/kustomization.yaml b/k8s/apps/greece-notifier/kustomization.yaml new file mode 100644 index 0000000..451c97f --- /dev/null +++ b/k8s/apps/greece-notifier/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ./external-secrets.yaml + - ./deployment.yaml