From a1a9dfdcf478cf1788a11520b6a722dc90eb344c Mon Sep 17 00:00:00 2001 From: "azykov@mail.ru" Date: Mon, 26 Oct 2026 10:53:42 +0300 Subject: [PATCH] ntfy --- clusters/base/apps/ntfy/helmrelease.yaml | 87 +++++++++++++++++++++ clusters/base/apps/ntfy/helmrepository.yaml | 10 +++ clusters/base/apps/ntfy/kustomization.yaml | 5 ++ clusters/base/namespaces/notify.yaml | 4 + clusters/home/apps/kustomization.yaml | 3 +- clusters/home/apps/ntfy.yaml | 17 ++++ clusters/home/namespaces/kustomization.yaml | 3 +- 7 files changed, 127 insertions(+), 2 deletions(-) create mode 100644 clusters/base/apps/ntfy/helmrelease.yaml create mode 100644 clusters/base/apps/ntfy/helmrepository.yaml create mode 100644 clusters/base/apps/ntfy/kustomization.yaml create mode 100644 clusters/base/namespaces/notify.yaml create mode 100644 clusters/home/apps/ntfy.yaml diff --git a/clusters/base/apps/ntfy/helmrelease.yaml b/clusters/base/apps/ntfy/helmrelease.yaml new file mode 100644 index 0000000..e140dc0 --- /dev/null +++ b/clusters/base/apps/ntfy/helmrelease.yaml @@ -0,0 +1,87 @@ +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: ntfy + namespace: notify +spec: + interval: 30m + chartRef: + kind: OCIRepository + name: ntfy + driftDetection: + mode: enabled + values: + controllers: + ntfy: + containers: + app: + image: + repository: binwiederhall/ntfy + tag: v2.14.0 + args: + - serve + env: + NTFY_BASE_URL: https://notify.aggtaa.com + NTFY_LISTEN_HTTP: ":80" + NTFY_BEHIND_PROXY: "true" + NTFY_CACHE_FILE: /var/lib/ntfy/cache.db + NTFY_AUTH_FILE: /var/lib/ntfy/user.db + NTFY_AUTH_DEFAULT_ACCESS: deny-all + NTFY_ATTACHMENT_CACHE_DIR: /var/lib/ntfy/attachments + NTFY_ENABLE_LOGIN: "true" + probes: + liveness: + enabled: true + custom: true + spec: + httpGet: + path: /v1/health + port: 80 + readiness: + enabled: true + custom: true + spec: + httpGet: + path: /v1/health + port: 80 + resources: + requests: + cpu: 10m + memory: 32Mi + limits: + memory: 256Mi + + service: + app: + controller: ntfy + ports: + http: + port: 80 + + ingress: + app: + className: traefik + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + hosts: + - host: notify.aggtaa.com + paths: + - path: / + pathType: Prefix + service: + identifier: app + port: http + tls: + - secretName: ntfy-tls + hosts: + - notify.aggtaa.com + + persistence: + data: + type: persistentVolumeClaim + storageClass: longhorn + accessMode: ReadWriteOnce + size: 2Gi + retain: true + globalMounts: + - path: /var/lib/ntfy diff --git a/clusters/base/apps/ntfy/helmrepository.yaml b/clusters/base/apps/ntfy/helmrepository.yaml new file mode 100644 index 0000000..7bc0e7c --- /dev/null +++ b/clusters/base/apps/ntfy/helmrepository.yaml @@ -0,0 +1,10 @@ +apiVersion: source.toolkit.fluxcd.io/v1 +kind: OCIRepository +metadata: + name: ntfy + namespace: notify +spec: + interval: 1h + url: oci://ghcr.io/bjw-s-labs/helm/app-template + ref: + tag: "5.0.1" diff --git a/clusters/base/apps/ntfy/kustomization.yaml b/clusters/base/apps/ntfy/kustomization.yaml new file mode 100644 index 0000000..d7fbb03 --- /dev/null +++ b/clusters/base/apps/ntfy/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - helmrepository.yaml + - helmrelease.yaml diff --git a/clusters/base/namespaces/notify.yaml b/clusters/base/namespaces/notify.yaml new file mode 100644 index 0000000..3b9dfd7 --- /dev/null +++ b/clusters/base/namespaces/notify.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: notify diff --git a/clusters/home/apps/kustomization.yaml b/clusters/home/apps/kustomization.yaml index 1ced543..52512a3 100644 --- a/clusters/home/apps/kustomization.yaml +++ b/clusters/home/apps/kustomization.yaml @@ -19,4 +19,5 @@ resources: - dev.yaml - woodpecker.yaml - tinyauth.yaml - - it-tools.yaml \ No newline at end of file + - it-tools.yaml + - ntfy.yaml \ No newline at end of file diff --git a/clusters/home/apps/ntfy.yaml b/clusters/home/apps/ntfy.yaml new file mode 100644 index 0000000..5766bbf --- /dev/null +++ b/clusters/home/apps/ntfy.yaml @@ -0,0 +1,17 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: ntfy + namespace: flux-system +spec: + interval: 10m + sourceRef: + kind: GitRepository + name: flux-system + path: ./clusters/base/apps/ntfy + prune: true + wait: true + dependsOn: + - name: namespaces + - name: infra + retryInterval: 5s diff --git a/clusters/home/namespaces/kustomization.yaml b/clusters/home/namespaces/kustomization.yaml index 29d55cf..1acce06 100644 --- a/clusters/home/namespaces/kustomization.yaml +++ b/clusters/home/namespaces/kustomization.yaml @@ -19,4 +19,5 @@ resources: - ../../base/namespaces/git.yaml - ../../base/namespaces/dev.yaml - ../../base/namespaces/ci.yaml - - ../../base/namespaces/tools.yaml \ No newline at end of file + - ../../base/namespaces/tools.yaml + - ../../base/namespaces/notify.yaml \ No newline at end of file