From 476223f52bff8ff169049b29d412a4c8b261a64e Mon Sep 17 00:00:00 2001 From: auricom <27022259+auricom@users.noreply.github.com> Date: Fri, 18 Apr 2025 14:17:51 +0200 Subject: [PATCH] refactor: observability/network ks --- .../kubernetes}/k8s-ycl/app/helmrelease.yaml | 0 .../k8s-ycl/app/kustomization.yaml | 0 .../kubernetes}/k8s-ycl/ks.yaml | 0 .../actions-runner-controller/ks.yaml | 42 +++---- .../actions-runner-system/kustomization.yaml | 6 +- .../apps/actions-runner-system/namespace.yaml | 38 ------- .../apps/cert-manager/cert-manager/ks.yaml | 5 +- .../apps/cert-manager/kustomization.yaml | 6 +- kubernetes/apps/cert-manager/namespace.yaml | 37 ------- .../cluster/cluster.yaml | 18 +-- .../crunchy-postgres-operator/ks.yaml | 103 +++++++++++------- kubernetes/apps/database/dragonfly/ks.yaml | 2 + kubernetes/apps/database/emqx/ks.yaml | 2 + kubernetes/apps/database/influx/ks.yaml | 2 + kubernetes/apps/database/kustomization.yaml | 6 +- kubernetes/apps/database/namespace.yaml | 37 ------- kubernetes/apps/default/authelia/ks.yaml | 4 +- kubernetes/apps/default/bazarr/ks.yaml | 6 +- kubernetes/apps/default/calibre/ks.yaml | 4 +- kubernetes/apps/default/exercisediary/ks.yaml | 4 +- kubernetes/apps/default/flood/ks.yaml | 2 +- kubernetes/apps/default/frigate/ks.yaml | 2 +- kubernetes/apps/default/ghostfolio/ks.yaml | 4 +- .../apps/default/home-assistant/ks.yaml | 4 +- kubernetes/apps/default/jellyfin/ks.yaml | 4 +- kubernetes/apps/default/jellyseerr/ks.yaml | 4 +- kubernetes/apps/default/joplin/ks.yaml | 2 +- kubernetes/apps/default/komf/ks.yaml | 4 +- kubernetes/apps/default/komga/ks.yaml | 4 +- kubernetes/apps/default/lidarr/ks.yaml | 6 +- kubernetes/apps/default/lldap/ks.yaml | 2 +- kubernetes/apps/default/lms/ks.yaml | 2 +- kubernetes/apps/default/lychee/ks.yaml | 8 +- kubernetes/apps/default/navidrome/ks.yaml | 4 +- kubernetes/apps/default/outline/ks.yaml | 4 +- kubernetes/apps/default/paperless/ks.yaml | 4 +- kubernetes/apps/default/prowlarr/ks.yaml | 2 +- kubernetes/apps/default/qbittorrent/ks.yaml | 4 +- kubernetes/apps/default/radarr/ks.yaml | 6 +- kubernetes/apps/default/readeck/ks.yaml | 4 +- kubernetes/apps/default/sabnzbd/ks.yaml | 4 +- kubernetes/apps/default/sonarr/ks.yaml | 6 +- kubernetes/apps/default/tandoor/ks.yaml | 6 +- kubernetes/apps/default/tdarr/ks.yaml | 4 +- kubernetes/apps/default/unifi/ks.yaml | 4 +- kubernetes/apps/default/zigbee2mqtt/ks.yaml | 6 +- kubernetes/apps/default/zwave-js-ui/ks.yaml | 6 +- kubernetes/apps/kube-system/cilium/ks.yaml | 35 ++++-- kubernetes/apps/kube-system/coredns/ks.yaml | 21 ++-- .../apps/kube-system/descheduler/ks.yaml | 21 ++-- kubernetes/apps/kube-system/fstrim/ks.yaml | 21 ++-- .../kube-system/intel-device-plugin/ks.yaml | 42 +++---- .../kube-system/kubelet-csr-approver/ks.yaml | 21 ++-- .../apps/kube-system/kustomization.yaml | 7 +- .../apps/kube-system/metrics-server/ks.yaml | 21 ++-- kubernetes/apps/kube-system/namespace.yaml | 37 ------- .../node-feature-discovery/ks.yaml | 42 +++---- kubernetes/apps/kube-system/reloader/ks.yaml | 21 ++-- .../kube-system/snapshot-controller/ks.yaml | 21 ++-- kubernetes/apps/kube-system/spegel/ks.yaml | 21 ++-- kubernetes/apps/kyverno/kustomization.yaml | 6 +- kubernetes/apps/kyverno/kyverno/ks.yaml | 26 +++-- kubernetes/apps/kyverno/namespace.yaml | 38 ------- kubernetes/apps/network/cloudflared/ks.yaml | 20 ++-- kubernetes/apps/network/external-dns/ks.yaml | 24 ++-- kubernetes/apps/network/k8s-gateway/ks.yaml | 21 ++-- kubernetes/apps/network/kustomization.yaml | 6 +- kubernetes/apps/network/namespace.yaml | 37 ------- kubernetes/apps/network/nginx/ks.yaml | 66 ++++++----- kubernetes/apps/observability/apprise/ks.yaml | 23 ++-- .../observability/blackbox-exporter/ks.yaml | 13 ++- kubernetes/apps/observability/gatus/ks.yaml | 21 ++-- kubernetes/apps/observability/grafana/ks.yaml | 21 ++-- .../kube-prometheus-stack/ks.yaml | 31 ++++-- .../apps/observability/kustomization.yaml | 6 +- kubernetes/apps/observability/namespace.yaml | 37 ------- .../apps/observability/pushgateway/ks.yaml | 21 ++-- .../apps/observability/scrutiny/ks.yaml | 44 ++++---- .../apps/openebs-system/kustomization.yaml | 8 +- kubernetes/apps/openebs-system/namespace.yaml | 38 ------- .../apps/openebs-system/openebs/ks.yaml | 14 ++- kubernetes/apps/rook-ceph/kustomization.yaml | 6 +- kubernetes/apps/rook-ceph/namespace.yaml | 38 ------- kubernetes/apps/rook-ceph/rook-ceph/ks.yaml | 65 +++++------ kubernetes/apps/volsync/kustomization.yaml | 6 +- kubernetes/apps/volsync/namespace.yaml | 37 ------- kubernetes/apps/volsync/volsync/ks.yaml | 22 ++-- 87 files changed, 598 insertions(+), 862 deletions(-) rename {kubernetes/apps/kube-system => .archive/kubernetes}/k8s-ycl/app/helmrelease.yaml (100%) rename {kubernetes/apps/kube-system => .archive/kubernetes}/k8s-ycl/app/kustomization.yaml (100%) rename {kubernetes/apps/kube-system => .archive/kubernetes}/k8s-ycl/ks.yaml (100%) delete mode 100644 kubernetes/apps/actions-runner-system/namespace.yaml delete mode 100644 kubernetes/apps/cert-manager/namespace.yaml delete mode 100644 kubernetes/apps/database/namespace.yaml delete mode 100644 kubernetes/apps/kube-system/namespace.yaml delete mode 100644 kubernetes/apps/kyverno/namespace.yaml delete mode 100644 kubernetes/apps/network/namespace.yaml delete mode 100644 kubernetes/apps/observability/namespace.yaml delete mode 100644 kubernetes/apps/openebs-system/namespace.yaml delete mode 100644 kubernetes/apps/rook-ceph/namespace.yaml delete mode 100644 kubernetes/apps/volsync/namespace.yaml diff --git a/kubernetes/apps/kube-system/k8s-ycl/app/helmrelease.yaml b/.archive/kubernetes/k8s-ycl/app/helmrelease.yaml similarity index 100% rename from kubernetes/apps/kube-system/k8s-ycl/app/helmrelease.yaml rename to .archive/kubernetes/k8s-ycl/app/helmrelease.yaml diff --git a/kubernetes/apps/kube-system/k8s-ycl/app/kustomization.yaml b/.archive/kubernetes/k8s-ycl/app/kustomization.yaml similarity index 100% rename from kubernetes/apps/kube-system/k8s-ycl/app/kustomization.yaml rename to .archive/kubernetes/k8s-ycl/app/kustomization.yaml diff --git a/kubernetes/apps/kube-system/k8s-ycl/ks.yaml b/.archive/kubernetes/k8s-ycl/ks.yaml similarity index 100% rename from kubernetes/apps/kube-system/k8s-ycl/ks.yaml rename to .archive/kubernetes/k8s-ycl/ks.yaml diff --git a/kubernetes/apps/actions-runner-system/actions-runner-controller/ks.yaml b/kubernetes/apps/actions-runner-system/actions-runner-controller/ks.yaml index 906ed97f3..20c79d872 100644 --- a/kubernetes/apps/actions-runner-system/actions-runner-controller/ks.yaml +++ b/kubernetes/apps/actions-runner-system/actions-runner-controller/ks.yaml @@ -4,50 +4,52 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app actions-runner-controller - namespace: flux-system + namespace: &namespace actions-runner-system spec: - targetNamespace: actions-runner-system commonMetadata: labels: app.kubernetes.io/name: *app dependsOn: - name: external-secrets-stores namespace: external-secrets + interval: 1h path: ./kubernetes/apps/actions-runner-system/actions-runner-controller/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false --- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app actions-runner-controller-runners - namespace: flux-system + namespace: &namespace actions-runner-system spec: - targetNamespace: actions-runner-system commonMetadata: labels: app.kubernetes.io/name: *app dependsOn: - name: actions-runner-controller + interval: 1h path: ./kubernetes/apps/actions-runner-system/actions-runner-controller/runners - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/actions-runner-system/kustomization.yaml b/kubernetes/apps/actions-runner-system/kustomization.yaml index 0d7952dab..3b5abd06a 100644 --- a/kubernetes/apps/actions-runner-system/kustomization.yaml +++ b/kubernetes/apps/actions-runner-system/kustomization.yaml @@ -2,8 +2,8 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization +namespace: actions-runner-system +components: + - ../../components/common resources: - # Pre Flux-Kustomizations - - ./namespace.yaml - # Flux-Kustomizations - ./actions-runner-controller/ks.yaml diff --git a/kubernetes/apps/actions-runner-system/namespace.yaml b/kubernetes/apps/actions-runner-system/namespace.yaml deleted file mode 100644 index 5373332c9..000000000 --- a/kubernetes/apps/actions-runner-system/namespace.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: actions-runner-system - labels: - kustomize.toolkit.fluxcd.io/prune: disabled - pod-security.kubernetes.io/enforce: privileged ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/provider_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Provider -metadata: - name: alert-manager - namespace: actions-runner-system -spec: - type: alertmanager - address: http://kube-prometheus-stack-alertmanager.observability:9093/api/v2/alerts/ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/alert_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Alert -metadata: - name: alert-manager - namespace: actions-runner-system -spec: - providerRef: - name: alert-manager - eventSeverity: error - eventSources: - - kind: HelmRelease - name: "*" - exclusionList: - - "error.*lookup github\\.com" - - "error.*lookup raw\\.githubusercontent\\.com" - - "dial.*tcp.*timeout" - - "waiting.*socket" - suspend: false diff --git a/kubernetes/apps/cert-manager/cert-manager/ks.yaml b/kubernetes/apps/cert-manager/cert-manager/ks.yaml index 9095de191..8d3c8c8f5 100644 --- a/kubernetes/apps/cert-manager/cert-manager/ks.yaml +++ b/kubernetes/apps/cert-manager/cert-manager/ks.yaml @@ -4,9 +4,8 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app cert-manager - namespace: flux-system + namespace: &namespace cert-manager spec: - targetNamespace: cert-manager commonMetadata: labels: app.kubernetes.io/name: *app @@ -28,4 +27,6 @@ spec: kind: GitRepository name: home-ops-kubernetes namespace: flux-system + targetNamespace: *namespace timeout: 5m + wait: false diff --git a/kubernetes/apps/cert-manager/kustomization.yaml b/kubernetes/apps/cert-manager/kustomization.yaml index 5b54fd269..77df4ac78 100644 --- a/kubernetes/apps/cert-manager/kustomization.yaml +++ b/kubernetes/apps/cert-manager/kustomization.yaml @@ -2,8 +2,8 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization +namespace: cert-manager +components: + - ../../components/common resources: - # Pre Flux-Kustomizations - - ./namespace.yaml - # Flux-Kustomizations - ./cert-manager/ks.yaml diff --git a/kubernetes/apps/cert-manager/namespace.yaml b/kubernetes/apps/cert-manager/namespace.yaml deleted file mode 100644 index 76acf8add..000000000 --- a/kubernetes/apps/cert-manager/namespace.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: cert-manager - labels: - kustomize.toolkit.fluxcd.io/prune: disabled ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/provider_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Provider -metadata: - name: alert-manager - namespace: cert-manager -spec: - type: alertmanager - address: http://kube-prometheus-stack-alertmanager.observability:9093/api/v2/alerts/ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/alert_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Alert -metadata: - name: alert-manager - namespace: cert-manager -spec: - providerRef: - name: alert-manager - eventSeverity: error - eventSources: - - kind: HelmRelease - name: "*" - exclusionList: - - "error.*lookup github\\.com" - - "error.*lookup raw\\.githubusercontent\\.com" - - "dial.*tcp.*timeout" - - "waiting.*socket" - suspend: false diff --git a/kubernetes/apps/database/crunchy-postgres-operator/cluster/cluster.yaml b/kubernetes/apps/database/crunchy-postgres-operator/cluster/cluster.yaml index 5fba4eb0d..8b3acea63 100644 --- a/kubernetes/apps/database/crunchy-postgres-operator/cluster/cluster.yaml +++ b/kubernetes/apps/database/crunchy-postgres-operator/cluster/cluster.yaml @@ -159,16 +159,16 @@ spec: enabled: true repoName: repo1 options: - - --set=20250330-010003F + - --set=20250413-010004F_20250418-020004I - # dataSource: - # pgbackrest: - # stanza: "db" - # configuration: *backupConfig - # global: *backupFlag - # repo: - # name: "repo1" - # s3: *minio + dataSource: + pgbackrest: + stanza: "db" + configuration: *backupConfig + global: *backupFlag + repo: + name: "repo1" + s3: *minio monitoring: pgmonitor: diff --git a/kubernetes/apps/database/crunchy-postgres-operator/ks.yaml b/kubernetes/apps/database/crunchy-postgres-operator/ks.yaml index ef856d6e1..c304e1d9e 100644 --- a/kubernetes/apps/database/crunchy-postgres-operator/ks.yaml +++ b/kubernetes/apps/database/crunchy-postgres-operator/ks.yaml @@ -4,109 +4,134 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app crunchy-postgres-operator - namespace: flux-system + namespace: &namespace database spec: - targetNamespace: database commonMetadata: labels: app.kubernetes.io/name: *app - interval: 30m - timeout: 5m + interval: 1h path: ./kubernetes/apps/database/crunchy-postgres-operator/operator + postBuild: + substitute: + APP: *app prune: true + retryInterval: 2m sourceRef: kind: GitRepository name: home-ops-kubernetes - wait: true + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false --- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app crunchy-postgres-operator-cluster - namespace: flux-system + namespace: &namespace database spec: - targetNamespace: database commonMetadata: labels: app.kubernetes.io/name: *app - interval: 30m - timeout: 5m - path: ./kubernetes/apps/database/crunchy-postgres-operator/cluster - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: true dependsOn: - name: crunchy-postgres-operator - name: external-secrets-stores namespace: external-secrets + interval: 1h + path: ./kubernetes/apps/database/crunchy-postgres-operator/cluster + postBuild: + substitute: + APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false --- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app crunchy-postgres-operator-secretstore - namespace: flux-system + namespace: &namespace database spec: - targetNamespace: database commonMetadata: labels: app.kubernetes.io/name: *app - interval: 30m - timeout: 5m - path: ./kubernetes/apps/database/crunchy-postgres-operator/clustersecretstore - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: true dependsOn: - name: crunchy-postgres-operator-cluster - name: external-secrets namespace: external-secrets + interval: 1h + path: ./kubernetes/apps/database/crunchy-postgres-operator/clustersecretstore + postBuild: + substitute: + APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false --- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app crunchy-postgres-userinit-controller - namespace: flux-system + namespace: &namespace database spec: - targetNamespace: database commonMetadata: labels: app.kubernetes.io/name: *app - interval: 30m - timeout: 5m + dependsOn: + - name: crunchy-postgres-operator-cluster + interval: 1h path: ./kubernetes/apps/database/crunchy-postgres-operator/userinit-controller + postBuild: + substitute: + APP: *app prune: true + retryInterval: 2m sourceRef: kind: GitRepository name: home-ops-kubernetes - wait: true - dependsOn: - - name: crunchy-postgres-operator-cluster + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false --- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app crunchy-postgres-pgadmin - namespace: flux-system + namespace: &namespace database spec: - targetNamespace: database commonMetadata: labels: app.kubernetes.io/name: *app - interval: 30m - timeout: 5m + dependsOn: + - name: crunchy-postgres-operator-cluster + interval: 1h path: ./kubernetes/apps/database/crunchy-postgres-operator/pgadmin + postBuild: + substitute: + APP: *app prune: true + retryInterval: 2m sourceRef: kind: GitRepository name: home-ops-kubernetes - wait: true - dependsOn: - - name: crunchy-postgres-operator-cluster + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/database/dragonfly/ks.yaml b/kubernetes/apps/database/dragonfly/ks.yaml index d8ebac2f2..9bb3ab998 100644 --- a/kubernetes/apps/database/dragonfly/ks.yaml +++ b/kubernetes/apps/database/dragonfly/ks.yaml @@ -18,6 +18,7 @@ spec: sourceRef: kind: GitRepository name: home-ops-kubernetes + namespace: flux-system wait: true interval: 30m retryInterval: 1m @@ -41,6 +42,7 @@ spec: sourceRef: kind: GitRepository name: home-ops-kubernetes + namespace: flux-system wait: true interval: 30m retryInterval: 1m diff --git a/kubernetes/apps/database/emqx/ks.yaml b/kubernetes/apps/database/emqx/ks.yaml index 46cadefe8..c779de825 100644 --- a/kubernetes/apps/database/emqx/ks.yaml +++ b/kubernetes/apps/database/emqx/ks.yaml @@ -12,6 +12,7 @@ spec: app.kubernetes.io/name: *app dependsOn: - name: rook-ceph-cluster + namespace: rook-ceph - name: external-secrets-stores namespace: external-secrets path: ./kubernetes/apps/database/emqx/app @@ -19,6 +20,7 @@ spec: sourceRef: kind: GitRepository name: home-ops-kubernetes + namespace: flux-system wait: false interval: 30m retryInterval: 1m diff --git a/kubernetes/apps/database/influx/ks.yaml b/kubernetes/apps/database/influx/ks.yaml index 0d5010991..a37eb7d1a 100644 --- a/kubernetes/apps/database/influx/ks.yaml +++ b/kubernetes/apps/database/influx/ks.yaml @@ -17,10 +17,12 @@ spec: sourceRef: kind: GitRepository name: home-ops-kubernetes + namespace: flux-system dependsOn: - name: external-secrets-stores namespace: external-secrets - name: volsync + namespace: volsync wait: true interval: 30m retryInterval: 1m diff --git a/kubernetes/apps/database/kustomization.yaml b/kubernetes/apps/database/kustomization.yaml index dc5660add..ca6bb0c12 100644 --- a/kubernetes/apps/database/kustomization.yaml +++ b/kubernetes/apps/database/kustomization.yaml @@ -2,10 +2,10 @@ # yaml-language-server: $schema=https://json.schemastore.org/kustomization apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization +namespace: database +components: + - ../../components/common resources: - # Pre Flux-Kustomizations - - ./namespace.yaml - # Flux-Kustomizations - ./crunchy-postgres-operator/ks.yaml - ./dragonfly/ks.yaml - ./emqx/ks.yaml diff --git a/kubernetes/apps/database/namespace.yaml b/kubernetes/apps/database/namespace.yaml deleted file mode 100644 index 618beab1d..000000000 --- a/kubernetes/apps/database/namespace.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: database - labels: - kustomize.toolkit.fluxcd.io/prune: disabled ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/provider_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Provider -metadata: - name: alert-manager - namespace: database -spec: - type: alertmanager - address: http://kube-prometheus-stack-alertmanager.observability:9093/api/v2/alerts/ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/alert_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Alert -metadata: - name: alert-manager - namespace: database -spec: - providerRef: - name: alert-manager - eventSeverity: error - eventSources: - - kind: HelmRelease - name: "*" - exclusionList: - - "error.*lookup github\\.com" - - "error.*lookup raw\\.githubusercontent\\.com" - - "dial.*tcp.*timeout" - - "waiting.*socket" - suspend: false diff --git a/kubernetes/apps/default/authelia/ks.yaml b/kubernetes/apps/default/authelia/ks.yaml index 3eac2dc03..4adc6a1bb 100644 --- a/kubernetes/apps/default/authelia/ks.yaml +++ b/kubernetes/apps/default/authelia/ks.yaml @@ -11,9 +11,9 @@ spec: app.kubernetes.io/name: *app dependsOn: - name: crunchy-postgres-operator-cluster - namespace: flux-system + namespace: database - name: dragonfly-cluster - namespace: flux-system + namespace: database - name: external-secrets-stores namespace: external-secrets components: diff --git a/kubernetes/apps/default/bazarr/ks.yaml b/kubernetes/apps/default/bazarr/ks.yaml index 6ef72a70c..a33330807 100644 --- a/kubernetes/apps/default/bazarr/ks.yaml +++ b/kubernetes/apps/default/bazarr/ks.yaml @@ -11,13 +11,13 @@ spec: app.kubernetes.io/name: *app dependsOn: - name: crunchy-postgres-operator-cluster - namespace: flux-system + namespace: database - name: external-secrets-stores namespace: external-secrets - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/calibre/ks.yaml b/kubernetes/apps/default/calibre/ks.yaml index f6a23d041..0bf866612 100644 --- a/kubernetes/apps/default/calibre/ks.yaml +++ b/kubernetes/apps/default/calibre/ks.yaml @@ -13,9 +13,9 @@ spec: - name: external-secrets-stores namespace: external-secrets - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/exercisediary/ks.yaml b/kubernetes/apps/default/exercisediary/ks.yaml index 4cce44cd6..4a2737151 100644 --- a/kubernetes/apps/default/exercisediary/ks.yaml +++ b/kubernetes/apps/default/exercisediary/ks.yaml @@ -14,9 +14,9 @@ spec: - ../../../../components/volsync dependsOn: - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync interval: 1h path: ./kubernetes/apps/default/exercisediary/app postBuild: diff --git a/kubernetes/apps/default/flood/ks.yaml b/kubernetes/apps/default/flood/ks.yaml index a8b4c6ebb..0e07fb9e9 100644 --- a/kubernetes/apps/default/flood/ks.yaml +++ b/kubernetes/apps/default/flood/ks.yaml @@ -14,7 +14,7 @@ spec: namespace: external-secrets - name: qbittorrent - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/frigate/ks.yaml b/kubernetes/apps/default/frigate/ks.yaml index 7afed7ed2..1217a19ee 100644 --- a/kubernetes/apps/default/frigate/ks.yaml +++ b/kubernetes/apps/default/frigate/ks.yaml @@ -13,7 +13,7 @@ spec: - name: external-secrets-stores namespace: external-secrets - name: node-feature-discovery-rules - namespace: flux-system + namespace: kube-system components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/ghostfolio/ks.yaml b/kubernetes/apps/default/ghostfolio/ks.yaml index 00514a1c2..29f3c227d 100644 --- a/kubernetes/apps/default/ghostfolio/ks.yaml +++ b/kubernetes/apps/default/ghostfolio/ks.yaml @@ -13,11 +13,11 @@ spec: - ../../../../components/gatus/guarded dependsOn: - name: crunchy-postgres-operator-cluster - namespace: flux-system + namespace: database - name: external-secrets-stores namespace: external-secrets - name: dragonfly-cluster - namespace: flux-system + namespace: database interval: 1h path: ./kubernetes/apps/default/ghostfolio/app postBuild: diff --git a/kubernetes/apps/default/home-assistant/ks.yaml b/kubernetes/apps/default/home-assistant/ks.yaml index 662509f4e..c5abdd5eb 100644 --- a/kubernetes/apps/default/home-assistant/ks.yaml +++ b/kubernetes/apps/default/home-assistant/ks.yaml @@ -11,11 +11,11 @@ spec: app.kubernetes.io/name: *app dependsOn: - name: crunchy-postgres-operator-cluster - namespace: flux-system + namespace: database - name: external-secrets-stores namespace: external-secrets - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/jellyfin/ks.yaml b/kubernetes/apps/default/jellyfin/ks.yaml index f6e53f50b..6cc7bc2f2 100644 --- a/kubernetes/apps/default/jellyfin/ks.yaml +++ b/kubernetes/apps/default/jellyfin/ks.yaml @@ -11,11 +11,11 @@ spec: app.kubernetes.io/name: *app dependsOn: - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: external-secrets-stores namespace: external-secrets - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/external - ../../../../components/volsync diff --git a/kubernetes/apps/default/jellyseerr/ks.yaml b/kubernetes/apps/default/jellyseerr/ks.yaml index d584ee96a..c76ad6147 100644 --- a/kubernetes/apps/default/jellyseerr/ks.yaml +++ b/kubernetes/apps/default/jellyseerr/ks.yaml @@ -11,11 +11,11 @@ spec: app.kubernetes.io/name: *app dependsOn: - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: external-secrets-stores namespace: external-secrets - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/joplin/ks.yaml b/kubernetes/apps/default/joplin/ks.yaml index 44e5e7b69..11b09dd78 100644 --- a/kubernetes/apps/default/joplin/ks.yaml +++ b/kubernetes/apps/default/joplin/ks.yaml @@ -13,7 +13,7 @@ spec: - ../../../../components/gatus/external dependsOn: - name: crunchy-postgres-operator-cluster - namespace: flux-system + namespace: database - name: external-secrets-stores namespace: external-secrets interval: 1h diff --git a/kubernetes/apps/default/komf/ks.yaml b/kubernetes/apps/default/komf/ks.yaml index b28bf42e3..c9cc7efd2 100644 --- a/kubernetes/apps/default/komf/ks.yaml +++ b/kubernetes/apps/default/komf/ks.yaml @@ -13,9 +13,9 @@ spec: - name: external-secrets-stores namespace: external-secrets - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/volsync interval: 1h diff --git a/kubernetes/apps/default/komga/ks.yaml b/kubernetes/apps/default/komga/ks.yaml index 319df3b1f..1d86891e9 100644 --- a/kubernetes/apps/default/komga/ks.yaml +++ b/kubernetes/apps/default/komga/ks.yaml @@ -13,9 +13,9 @@ spec: - name: external-secrets-stores namespace: external-secrets - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/lidarr/ks.yaml b/kubernetes/apps/default/lidarr/ks.yaml index 6496c9005..35d8e0bfd 100644 --- a/kubernetes/apps/default/lidarr/ks.yaml +++ b/kubernetes/apps/default/lidarr/ks.yaml @@ -11,13 +11,13 @@ spec: app.kubernetes.io/name: *app dependsOn: - name: crunchy-postgres-operator-cluster - namespace: flux-system + namespace: database - name: external-secrets-stores namespace: external-secrets - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/lldap/ks.yaml b/kubernetes/apps/default/lldap/ks.yaml index 4d91d5a2e..0c14418b6 100644 --- a/kubernetes/apps/default/lldap/ks.yaml +++ b/kubernetes/apps/default/lldap/ks.yaml @@ -13,7 +13,7 @@ spec: - ../../../../components/gatus/guarded dependsOn: - name: crunchy-postgres-operator-cluster - namespace: flux-system + namespace: database interval: 1h path: ./kubernetes/apps/default/lldap/app postBuild: diff --git a/kubernetes/apps/default/lms/ks.yaml b/kubernetes/apps/default/lms/ks.yaml index d49a1fa51..f578bd1b9 100644 --- a/kubernetes/apps/default/lms/ks.yaml +++ b/kubernetes/apps/default/lms/ks.yaml @@ -11,7 +11,7 @@ spec: app.kubernetes.io/name: *app dependsOn: - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/lychee/ks.yaml b/kubernetes/apps/default/lychee/ks.yaml index 257be230b..8b7d0aaa8 100644 --- a/kubernetes/apps/default/lychee/ks.yaml +++ b/kubernetes/apps/default/lychee/ks.yaml @@ -14,15 +14,15 @@ spec: - ../../../../components/volsync dependsOn: - name: crunchy-postgres-operator-cluster - namespace: flux-system + namespace: database - name: dragonfly-cluster - namespace: flux-system + namespace: database - name: external-secrets-stores namespace: external-secrets - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync interval: 1h path: ./kubernetes/apps/default/lychee/app postBuild: diff --git a/kubernetes/apps/default/navidrome/ks.yaml b/kubernetes/apps/default/navidrome/ks.yaml index a043076b9..96ae56d2e 100644 --- a/kubernetes/apps/default/navidrome/ks.yaml +++ b/kubernetes/apps/default/navidrome/ks.yaml @@ -13,9 +13,9 @@ spec: - name: external-secrets-stores namespace: external-secrets - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/external - ../../../../components/volsync diff --git a/kubernetes/apps/default/outline/ks.yaml b/kubernetes/apps/default/outline/ks.yaml index ceb3aa8d5..038ba3b68 100644 --- a/kubernetes/apps/default/outline/ks.yaml +++ b/kubernetes/apps/default/outline/ks.yaml @@ -13,9 +13,9 @@ spec: - ../../../../components/gatus/guarded dependsOn: - name: crunchy-postgres-operator-cluster - namespace: flux-system + namespace: database - name: dragonfly-cluster - namespace: flux-system + namespace: database - name: external-secrets-stores namespace: external-secrets interval: 1h diff --git a/kubernetes/apps/default/paperless/ks.yaml b/kubernetes/apps/default/paperless/ks.yaml index eac85722a..04f302eaa 100644 --- a/kubernetes/apps/default/paperless/ks.yaml +++ b/kubernetes/apps/default/paperless/ks.yaml @@ -13,9 +13,9 @@ spec: - ../../../../components/gatus/guarded dependsOn: - name: crunchy-postgres-operator-cluster - namespace: flux-system + namespace: database - name: dragonfly-cluster - namespace: flux-system + namespace: database - name: external-secrets-stores namespace: external-secrets interval: 1h diff --git a/kubernetes/apps/default/prowlarr/ks.yaml b/kubernetes/apps/default/prowlarr/ks.yaml index e0c66af46..2266a9670 100644 --- a/kubernetes/apps/default/prowlarr/ks.yaml +++ b/kubernetes/apps/default/prowlarr/ks.yaml @@ -11,7 +11,7 @@ spec: app.kubernetes.io/name: *app dependsOn: - name: crunchy-postgres-operator-cluster - namespace: flux-system + namespace: database - name: external-secrets-stores namespace: external-secrets components: diff --git a/kubernetes/apps/default/qbittorrent/ks.yaml b/kubernetes/apps/default/qbittorrent/ks.yaml index 0b1ebcf77..be4400585 100644 --- a/kubernetes/apps/default/qbittorrent/ks.yaml +++ b/kubernetes/apps/default/qbittorrent/ks.yaml @@ -11,9 +11,9 @@ spec: app.kubernetes.io/name: *app dependsOn: - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/radarr/ks.yaml b/kubernetes/apps/default/radarr/ks.yaml index b9e86896a..7d93af55e 100644 --- a/kubernetes/apps/default/radarr/ks.yaml +++ b/kubernetes/apps/default/radarr/ks.yaml @@ -11,13 +11,13 @@ spec: app.kubernetes.io/name: *app dependsOn: - name: crunchy-postgres-operator-cluster - namespace: flux-system + namespace: database - name: external-secrets-stores namespace: external-secrets - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/readeck/ks.yaml b/kubernetes/apps/default/readeck/ks.yaml index 264d25ed6..a8c63c99f 100644 --- a/kubernetes/apps/default/readeck/ks.yaml +++ b/kubernetes/apps/default/readeck/ks.yaml @@ -11,9 +11,9 @@ spec: app.kubernetes.io/name: *app dependsOn: - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/sabnzbd/ks.yaml b/kubernetes/apps/default/sabnzbd/ks.yaml index 2161901d2..f7fdef299 100644 --- a/kubernetes/apps/default/sabnzbd/ks.yaml +++ b/kubernetes/apps/default/sabnzbd/ks.yaml @@ -13,9 +13,9 @@ spec: - name: external-secrets-stores namespace: external-secrets - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/sonarr/ks.yaml b/kubernetes/apps/default/sonarr/ks.yaml index 6d8c08589..a94bb7b77 100644 --- a/kubernetes/apps/default/sonarr/ks.yaml +++ b/kubernetes/apps/default/sonarr/ks.yaml @@ -11,13 +11,13 @@ spec: app.kubernetes.io/name: *app dependsOn: - name: crunchy-postgres-operator-cluster - namespace: flux-system + namespace: database - name: external-secrets-stores namespace: external-secrets - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/tandoor/ks.yaml b/kubernetes/apps/default/tandoor/ks.yaml index 021e80a49..d89649026 100644 --- a/kubernetes/apps/default/tandoor/ks.yaml +++ b/kubernetes/apps/default/tandoor/ks.yaml @@ -14,13 +14,13 @@ spec: - ../../../../components/volsync dependsOn: - name: crunchy-postgres-operator-cluster - namespace: flux-system + namespace: database - name: external-secrets-stores namespace: external-secrets - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync interval: 1h path: ./kubernetes/apps/default/tandoor/app postBuild: diff --git a/kubernetes/apps/default/tdarr/ks.yaml b/kubernetes/apps/default/tdarr/ks.yaml index 19cc439f9..3d12a1d5f 100644 --- a/kubernetes/apps/default/tdarr/ks.yaml +++ b/kubernetes/apps/default/tdarr/ks.yaml @@ -12,9 +12,9 @@ spec: dependsOn: - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/unifi/ks.yaml b/kubernetes/apps/default/unifi/ks.yaml index 6508fd379..3a86b25a5 100644 --- a/kubernetes/apps/default/unifi/ks.yaml +++ b/kubernetes/apps/default/unifi/ks.yaml @@ -11,9 +11,9 @@ spec: app.kubernetes.io/name: *app dependsOn: - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/zigbee2mqtt/ks.yaml b/kubernetes/apps/default/zigbee2mqtt/ks.yaml index 1563454b8..4e50af503 100644 --- a/kubernetes/apps/default/zigbee2mqtt/ks.yaml +++ b/kubernetes/apps/default/zigbee2mqtt/ks.yaml @@ -11,11 +11,11 @@ spec: app.kubernetes.io/name: *app dependsOn: - name: node-feature-discovery-rules - namespace: flux-system + namespace: kube-system - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/default/zwave-js-ui/ks.yaml b/kubernetes/apps/default/zwave-js-ui/ks.yaml index 6f53bb489..d02791970 100644 --- a/kubernetes/apps/default/zwave-js-ui/ks.yaml +++ b/kubernetes/apps/default/zwave-js-ui/ks.yaml @@ -11,11 +11,11 @@ spec: app.kubernetes.io/name: *app dependsOn: - name: node-feature-discovery-rules - namespace: flux-system + namespace: kube-system - name: rook-ceph-cluster - namespace: flux-system + namespace: rook-ceph - name: volsync - namespace: flux-system + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync diff --git a/kubernetes/apps/kube-system/cilium/ks.yaml b/kubernetes/apps/kube-system/cilium/ks.yaml index b8ca9d93a..c5e1327d4 100644 --- a/kubernetes/apps/kube-system/cilium/ks.yaml +++ b/kubernetes/apps/kube-system/cilium/ks.yaml @@ -4,35 +4,50 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app cilium-app - namespace: flux-system + namespace: &namespace kube-system spec: - targetNamespace: kube-system + commonMetadata: + labels: + app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/kube-system/cilium/app + postBuild: + substitute: + APP: *app prune: false + retryInterval: 2m sourceRef: kind: GitRepository name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m + namespace: flux-system + targetNamespace: *namespace timeout: 5m + wait: false --- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app cilium-config - namespace: flux-system + namespace: &namespace kube-system spec: - targetNamespace: kube-system + commonMetadata: + labels: + app.kubernetes.io/name: *app dependsOn: - name: cilium-app + namespace: *namespace + interval: 1h path: ./kubernetes/apps/kube-system/cilium/config + postBuild: + substitute: + APP: *app prune: false + retryInterval: 2m sourceRef: kind: GitRepository name: home-ops-kubernetes - wait: true - interval: 30m - retryInterval: 1m + namespace: flux-system + targetNamespace: *namespace timeout: 5m + wait: false diff --git a/kubernetes/apps/kube-system/coredns/ks.yaml b/kubernetes/apps/kube-system/coredns/ks.yaml index 90fe8405b..17f9f935b 100644 --- a/kubernetes/apps/kube-system/coredns/ks.yaml +++ b/kubernetes/apps/kube-system/coredns/ks.yaml @@ -4,21 +4,22 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app coredns - namespace: flux-system + namespace: &namespace kube-system spec: - targetNamespace: kube-system commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/kube-system/coredns/app - prune: false - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: false + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/kube-system/descheduler/ks.yaml b/kubernetes/apps/kube-system/descheduler/ks.yaml index d79cc83ce..62cbf26c1 100644 --- a/kubernetes/apps/kube-system/descheduler/ks.yaml +++ b/kubernetes/apps/kube-system/descheduler/ks.yaml @@ -4,21 +4,22 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app descheduler - namespace: flux-system + namespace: &namespace kube-system spec: - targetNamespace: kube-system commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/kube-system/descheduler/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/kube-system/fstrim/ks.yaml b/kubernetes/apps/kube-system/fstrim/ks.yaml index e272b2bcb..7dcf857b7 100644 --- a/kubernetes/apps/kube-system/fstrim/ks.yaml +++ b/kubernetes/apps/kube-system/fstrim/ks.yaml @@ -4,21 +4,22 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app fstrim - namespace: flux-system + namespace: &namespace kube-system spec: - targetNamespace: kube-system commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/kube-system/fstrim/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/kube-system/intel-device-plugin/ks.yaml b/kubernetes/apps/kube-system/intel-device-plugin/ks.yaml index 2bc6a4fb7..948503600 100644 --- a/kubernetes/apps/kube-system/intel-device-plugin/ks.yaml +++ b/kubernetes/apps/kube-system/intel-device-plugin/ks.yaml @@ -4,45 +4,47 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app intel-device-plugin - namespace: flux-system + namespace: &namespace kube-system spec: - targetNamespace: kube-system commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/kube-system/intel-device-plugin/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false --- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app intel-device-plugin-gpu - namespace: flux-system + namespace: &namespace kube-system spec: - targetNamespace: kube-system commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/kube-system/intel-device-plugin/gpu - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/kube-system/kubelet-csr-approver/ks.yaml b/kubernetes/apps/kube-system/kubelet-csr-approver/ks.yaml index 6001c8907..d4bc16d15 100644 --- a/kubernetes/apps/kube-system/kubelet-csr-approver/ks.yaml +++ b/kubernetes/apps/kube-system/kubelet-csr-approver/ks.yaml @@ -4,21 +4,22 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app kubelet-csr-approver - namespace: flux-system + namespace: &namespace kube-system spec: - targetNamespace: kube-system commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/kube-system/kubelet-csr-approver/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/kube-system/kustomization.yaml b/kubernetes/apps/kube-system/kustomization.yaml index 8e8e79ff7..cd2a3e505 100644 --- a/kubernetes/apps/kube-system/kustomization.yaml +++ b/kubernetes/apps/kube-system/kustomization.yaml @@ -2,16 +2,15 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization +namespace: kube-system +components: + - ../../components/common resources: - # Pre Flux-Kustomizations - - ./namespace.yaml - # Flux-Kustomizations - ./cilium/ks.yaml - ./coredns/ks.yaml - ./descheduler/ks.yaml - ./fstrim/ks.yaml - ./intel-device-plugin/ks.yaml - # - ./k8s-ycl/ks.yaml - ./kubelet-csr-approver/ks.yaml - ./metrics-server/ks.yaml - ./node-feature-discovery/ks.yaml diff --git a/kubernetes/apps/kube-system/metrics-server/ks.yaml b/kubernetes/apps/kube-system/metrics-server/ks.yaml index 1aac4b5f6..b02026d7a 100644 --- a/kubernetes/apps/kube-system/metrics-server/ks.yaml +++ b/kubernetes/apps/kube-system/metrics-server/ks.yaml @@ -4,21 +4,22 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app metrics-server - namespace: flux-system + namespace: &namespace kube-system spec: - targetNamespace: kube-system commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/kube-system/metrics-server/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/kube-system/namespace.yaml b/kubernetes/apps/kube-system/namespace.yaml deleted file mode 100644 index d5795a134..000000000 --- a/kubernetes/apps/kube-system/namespace.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: kube-system - labels: - kustomize.toolkit.fluxcd.io/prune: disabled ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/provider_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Provider -metadata: - name: alert-manager - namespace: kube-system -spec: - type: alertmanager - address: http://kube-prometheus-stack-alertmanager.observability:9093/api/v2/alerts/ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/alert_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Alert -metadata: - name: alert-manager - namespace: kube-system -spec: - providerRef: - name: alert-manager - eventSeverity: error - eventSources: - - kind: HelmRelease - name: "*" - exclusionList: - - "error.*lookup github\\.com" - - "error.*lookup raw\\.githubusercontent\\.com" - - "dial.*tcp.*timeout" - - "waiting.*socket" - suspend: false diff --git a/kubernetes/apps/kube-system/node-feature-discovery/ks.yaml b/kubernetes/apps/kube-system/node-feature-discovery/ks.yaml index 32ef41328..cd0a90a9f 100644 --- a/kubernetes/apps/kube-system/node-feature-discovery/ks.yaml +++ b/kubernetes/apps/kube-system/node-feature-discovery/ks.yaml @@ -4,47 +4,49 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app node-feature-discovery - namespace: flux-system + namespace: &namespace kube-system spec: - targetNamespace: kube-system commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/kube-system/node-feature-discovery/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false --- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: node-feature-discovery-rules - namespace: flux-system + namespace: &namespace kube-system spec: - targetNamespace: kube-system commonMetadata: labels: app.kubernetes.io/name: &app node-feature-discovery dependsOn: - name: node-feature-discovery + interval: 1h path: ./kubernetes/apps/kube-system/node-feature-discovery/rules - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/kube-system/reloader/ks.yaml b/kubernetes/apps/kube-system/reloader/ks.yaml index 4051935c5..d753a024b 100644 --- a/kubernetes/apps/kube-system/reloader/ks.yaml +++ b/kubernetes/apps/kube-system/reloader/ks.yaml @@ -4,21 +4,22 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app reloader - namespace: flux-system + namespace: &namespace kube-system spec: - targetNamespace: kube-system commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/kube-system/reloader/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: false + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/kube-system/snapshot-controller/ks.yaml b/kubernetes/apps/kube-system/snapshot-controller/ks.yaml index 5dad6a0f0..30ef8b83f 100644 --- a/kubernetes/apps/kube-system/snapshot-controller/ks.yaml +++ b/kubernetes/apps/kube-system/snapshot-controller/ks.yaml @@ -4,21 +4,22 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app snapshot-controller - namespace: flux-system + namespace: &namespace kube-system spec: - targetNamespace: kube-system commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/kube-system/snapshot-controller/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: false + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/kube-system/spegel/ks.yaml b/kubernetes/apps/kube-system/spegel/ks.yaml index e9d76bb90..5487b1ab1 100644 --- a/kubernetes/apps/kube-system/spegel/ks.yaml +++ b/kubernetes/apps/kube-system/spegel/ks.yaml @@ -4,21 +4,22 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app spegel - namespace: flux-system + namespace: &namespace kube-system spec: - targetNamespace: kube-system commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/kube-system/spegel/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: false + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/kyverno/kustomization.yaml b/kubernetes/apps/kyverno/kustomization.yaml index d44d0378f..d6053c01a 100644 --- a/kubernetes/apps/kyverno/kustomization.yaml +++ b/kubernetes/apps/kyverno/kustomization.yaml @@ -2,8 +2,8 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization +namespace: kyverno +components: + - ../../components/common resources: - # Pre Flux-Kustomizations - - ./namespace.yaml - # Flux-Kustomizations - ./kyverno/ks.yaml diff --git a/kubernetes/apps/kyverno/kyverno/ks.yaml b/kubernetes/apps/kyverno/kyverno/ks.yaml index 839ff4886..bae5a7563 100644 --- a/kubernetes/apps/kyverno/kyverno/ks.yaml +++ b/kubernetes/apps/kyverno/kyverno/ks.yaml @@ -4,39 +4,49 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app kyverno - namespace: flux-system + namespace: &namespace kyverno spec: - targetNamespace: kyverno commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/kyverno/kyverno/app + postBuild: + substitute: + APP: *app prune: true + retryInterval: 2m sourceRef: kind: GitRepository name: home-ops-kubernetes - wait: true - interval: 30m + namespace: flux-system + targetNamespace: *namespace timeout: 5m + wait: false --- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app kyverno-policies - namespace: flux-system + namespace: &namespace kyverno spec: - targetNamespace: kyverno commonMetadata: labels: app.kubernetes.io/name: *app dependsOn: - name: kyverno + interval: 1h path: ./kubernetes/apps/kyverno/kyverno/policies + postBuild: + substitute: + APP: *app prune: true + retryInterval: 2m sourceRef: kind: GitRepository name: home-ops-kubernetes - wait: true - interval: 30m + namespace: flux-system + targetNamespace: *namespace timeout: 5m + wait: false diff --git a/kubernetes/apps/kyverno/namespace.yaml b/kubernetes/apps/kyverno/namespace.yaml deleted file mode 100644 index 50493b522..000000000 --- a/kubernetes/apps/kyverno/namespace.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: kyverno - annotations: - kustomize.toolkit.fluxcd.io/prune: disabled - volsync.backube/privileged-movers: "true" ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/provider_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Provider -metadata: - name: alert-manager - namespace: kyverno -spec: - type: alertmanager - address: http://kube-prometheus-stack-alertmanager.observability:9093/api/v2/alerts/ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/alert_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Alert -metadata: - name: alert-manager - namespace: kyverno -spec: - providerRef: - name: alert-manager - eventSeverity: error - eventSources: - - kind: HelmRelease - name: "*" - exclusionList: - - "error.*lookup github\\.com" - - "error.*lookup raw\\.githubusercontent\\.com" - - "dial.*tcp.*timeout" - - "waiting.*socket" - suspend: false diff --git a/kubernetes/apps/network/cloudflared/ks.yaml b/kubernetes/apps/network/cloudflared/ks.yaml index 405708b8d..431c28d72 100644 --- a/kubernetes/apps/network/cloudflared/ks.yaml +++ b/kubernetes/apps/network/cloudflared/ks.yaml @@ -4,9 +4,8 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app cloudflared - namespace: flux-system + namespace: &namespace network spec: - targetNamespace: network commonMetadata: labels: app.kubernetes.io/name: *app @@ -14,14 +13,17 @@ spec: - name: external-dns-cloudflare - name: external-secrets-stores namespace: external-secrets + interval: 1h path: ./kubernetes/apps/network/cloudflared/app - prune: false - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/network/external-dns/ks.yaml b/kubernetes/apps/network/external-dns/ks.yaml index 54c0c6bee..c84cb4a34 100644 --- a/kubernetes/apps/network/external-dns/ks.yaml +++ b/kubernetes/apps/network/external-dns/ks.yaml @@ -4,24 +4,22 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app external-dns-cloudflare - namespace: flux-system + namespace: &namespace network spec: - targetNamespace: network commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/network/external-dns/cloudflare - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - dependsOn: - - name: external-secrets-stores - namespace: external-secrets - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/network/k8s-gateway/ks.yaml b/kubernetes/apps/network/k8s-gateway/ks.yaml index 67601e428..90cbc99bf 100644 --- a/kubernetes/apps/network/k8s-gateway/ks.yaml +++ b/kubernetes/apps/network/k8s-gateway/ks.yaml @@ -4,21 +4,22 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app k8s-gateway - namespace: flux-system + namespace: &namespace network spec: - targetNamespace: network commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/network/k8s-gateway/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/network/kustomization.yaml b/kubernetes/apps/network/kustomization.yaml index b64f343fb..3c2c1ecff 100644 --- a/kubernetes/apps/network/kustomization.yaml +++ b/kubernetes/apps/network/kustomization.yaml @@ -2,10 +2,10 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization +namespace: network +components: + - ../../components/common resources: - # Pre Flux-Kustomizations - - ./namespace.yaml - # Flux-Kustomizations - ./cloudflared/ks.yaml - ./external-dns/ks.yaml - ./nginx/ks.yaml diff --git a/kubernetes/apps/network/namespace.yaml b/kubernetes/apps/network/namespace.yaml deleted file mode 100644 index f4b75a40f..000000000 --- a/kubernetes/apps/network/namespace.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: network - labels: - kustomize.toolkit.fluxcd.io/prune: disabled ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/provider_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Provider -metadata: - name: alert-manager - namespace: network -spec: - type: alertmanager - address: http://kube-prometheus-stack-alertmanager.observability:9093/api/v2/alerts/ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/alert_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Alert -metadata: - name: alert-manager - namespace: network -spec: - providerRef: - name: alert-manager - eventSeverity: error - eventSources: - - kind: HelmRelease - name: "*" - exclusionList: - - "error.*lookup github\\.com" - - "error.*lookup raw\\.githubusercontent\\.com" - - "dial.*tcp.*timeout" - - "waiting.*socket" - suspend: false diff --git a/kubernetes/apps/network/nginx/ks.yaml b/kubernetes/apps/network/nginx/ks.yaml index 4a3e5be27..9dcceeb50 100644 --- a/kubernetes/apps/network/nginx/ks.yaml +++ b/kubernetes/apps/network/nginx/ks.yaml @@ -4,75 +4,81 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app nginx-certificates - namespace: flux-system + namespace: &namespace network spec: - targetNamespace: network commonMetadata: labels: app.kubernetes.io/name: *app dependsOn: - name: cert-manager + namespace: cert-manager + interval: 1h path: ./kubernetes/apps/network/nginx/certificates - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false --- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app nginx-external - namespace: flux-system + namespace: &namespace network spec: - targetNamespace: network commonMetadata: labels: app.kubernetes.io/name: *app dependsOn: - name: nginx-certificates + namespace: *namespace + interval: 1h path: ./kubernetes/apps/network/nginx/external - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false --- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app nginx-internal - namespace: flux-system + namespace: &namespace network spec: - targetNamespace: network commonMetadata: labels: app.kubernetes.io/name: *app dependsOn: - name: nginx-certificates + namespace: *namespace + interval: 1h path: ./kubernetes/apps/network/nginx/internal - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/observability/apprise/ks.yaml b/kubernetes/apps/observability/apprise/ks.yaml index 919812b52..59bf7757c 100644 --- a/kubernetes/apps/observability/apprise/ks.yaml +++ b/kubernetes/apps/observability/apprise/ks.yaml @@ -4,28 +4,31 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app apprise - namespace: flux-system + namespace: &namespace observability spec: - targetNamespace: observability commonMetadata: labels: app.kubernetes.io/name: *app dependsOn: - name: rook-ceph-cluster + namespace: rook-ceph - name: volsync + namespace: volsync components: - ../../../../components/gatus/guarded - ../../../../components/volsync + interval: 1h path: ./kubernetes/apps/observability/apprise/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app VOLSYNC_CAPACITY: 1Gi + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/observability/blackbox-exporter/ks.yaml b/kubernetes/apps/observability/blackbox-exporter/ks.yaml index ffd25fe7b..232c92aa0 100644 --- a/kubernetes/apps/observability/blackbox-exporter/ks.yaml +++ b/kubernetes/apps/observability/blackbox-exporter/ks.yaml @@ -4,17 +4,22 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app blackbox-exporter - namespace: flux-system + namespace: &namespace observability spec: - targetNamespace: observability commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/observability/blackbox-exporter/app + postBuild: + substitute: + APP: *app prune: true + retryInterval: 2m sourceRef: kind: GitRepository name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m wait: false - interval: 30m - timeout: 15m diff --git a/kubernetes/apps/observability/gatus/ks.yaml b/kubernetes/apps/observability/gatus/ks.yaml index 6ed18cb16..cbac7e494 100644 --- a/kubernetes/apps/observability/gatus/ks.yaml +++ b/kubernetes/apps/observability/gatus/ks.yaml @@ -4,24 +4,25 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app gatus - namespace: flux-system + namespace: &namespace observability spec: - targetNamespace: observability commonMetadata: labels: app.kubernetes.io/name: *app dependsOn: - name: external-secrets-stores namespace: external-secrets + interval: 1h path: ./kubernetes/apps/observability/gatus/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/observability/grafana/ks.yaml b/kubernetes/apps/observability/grafana/ks.yaml index 55f33b7c0..301d12591 100644 --- a/kubernetes/apps/observability/grafana/ks.yaml +++ b/kubernetes/apps/observability/grafana/ks.yaml @@ -4,21 +4,22 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app grafana - namespace: flux-system + namespace: &namespace observability spec: - targetNamespace: observability commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/observability/grafana/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/observability/kube-prometheus-stack/ks.yaml b/kubernetes/apps/observability/kube-prometheus-stack/ks.yaml index c3958f155..21a861bdf 100644 --- a/kubernetes/apps/observability/kube-prometheus-stack/ks.yaml +++ b/kubernetes/apps/observability/kube-prometheus-stack/ks.yaml @@ -4,41 +4,52 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app kube-prometheus-stack-crds - namespace: flux-system + namespace: &namespace observability spec: - targetNamespace: observability commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/observability/kube-prometheus-stack/crds - prune: false # never should be deleted + postBuild: + substitute: + APP: *app + prune: false + retryInterval: 2m sourceRef: kind: GitRepository name: home-ops-kubernetes - wait: false - interval: 30m + namespace: flux-system + targetNamespace: *namespace timeout: 5m + wait: false --- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app kube-prometheus-stack - namespace: flux-system + namespace: &namespace observability spec: - targetNamespace: observability commonMetadata: labels: app.kubernetes.io/name: *app dependsOn: - name: rook-ceph-cluster + namespace: rook-ceph - name: kube-prometheus-stack-crds + namespace: observability + interval: 1h path: ./kubernetes/apps/observability/kube-prometheus-stack/app + postBuild: + substitute: + APP: *app prune: true + retryInterval: 2m sourceRef: kind: GitRepository name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m + namespace: flux-system + targetNamespace: *namespace timeout: 5m + wait: false diff --git a/kubernetes/apps/observability/kustomization.yaml b/kubernetes/apps/observability/kustomization.yaml index d194095f5..0ef18e9e7 100644 --- a/kubernetes/apps/observability/kustomization.yaml +++ b/kubernetes/apps/observability/kustomization.yaml @@ -2,10 +2,10 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization +namespace: observability +components: + - ../../components/common resources: - # Pre Flux-Kustomizations - - ./namespace.yaml - # Flux-Kustomizations - ./apprise/ks.yaml - ./blackbox-exporter/ks.yaml - ./gatus/ks.yaml diff --git a/kubernetes/apps/observability/namespace.yaml b/kubernetes/apps/observability/namespace.yaml deleted file mode 100644 index 7f1c648be..000000000 --- a/kubernetes/apps/observability/namespace.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: observability - labels: - kustomize.toolkit.fluxcd.io/prune: disabled ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/provider_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Provider -metadata: - name: alert-manager - namespace: observability -spec: - type: alertmanager - address: http://kube-prometheus-stack-alertmanager.observability:9093/api/v2/alerts/ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/alert_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Alert -metadata: - name: alert-manager - namespace: observability -spec: - providerRef: - name: alert-manager - eventSeverity: error - eventSources: - - kind: HelmRelease - name: "*" - exclusionList: - - "error.*lookup github\\.com" - - "error.*lookup raw\\.githubusercontent\\.com" - - "dial.*tcp.*timeout" - - "waiting.*socket" - suspend: false diff --git a/kubernetes/apps/observability/pushgateway/ks.yaml b/kubernetes/apps/observability/pushgateway/ks.yaml index b6e4854c4..c3e3bc2d0 100644 --- a/kubernetes/apps/observability/pushgateway/ks.yaml +++ b/kubernetes/apps/observability/pushgateway/ks.yaml @@ -4,9 +4,8 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app pushgateway - namespace: flux-system + namespace: &namespace observability spec: - targetNamespace: observability commonMetadata: labels: app.kubernetes.io/name: *app @@ -14,15 +13,17 @@ spec: - name: kube-prometheus-stack-crds components: - ../../../../components/gatus/guarded + interval: 1h path: ./kubernetes/apps/observability/pushgateway/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/observability/scrutiny/ks.yaml b/kubernetes/apps/observability/scrutiny/ks.yaml index a6a214c1f..9a7814bdc 100644 --- a/kubernetes/apps/observability/scrutiny/ks.yaml +++ b/kubernetes/apps/observability/scrutiny/ks.yaml @@ -4,9 +4,8 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app scrutiny - namespace: flux-system + namespace: &namespace observability spec: - targetNamespace: observability commonMetadata: labels: app.kubernetes.io/name: *app @@ -14,43 +13,48 @@ spec: - name: external-secrets-stores namespace: external-secrets - name: rook-ceph-cluster + namespace: rook-ceph - name: volsync + namespace: volsync components: - ../../../../components/volsync + interval: 1h path: ./kubernetes/apps/observability/scrutiny/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app VOLSYNC_CAPACITY: 2Gi + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false --- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app scrutiny-collector - namespace: flux-system + namespace: &namespace observability spec: - targetNamespace: observability commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/observability/scrutiny/collector - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/openebs-system/kustomization.yaml b/kubernetes/apps/openebs-system/kustomization.yaml index 334dd681b..fd3e9904a 100644 --- a/kubernetes/apps/openebs-system/kustomization.yaml +++ b/kubernetes/apps/openebs-system/kustomization.yaml @@ -2,8 +2,8 @@ # yaml-language-server: $schema=https://json.schemastore.org/kustomization apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization +namespace: openebs-system +components: + - ../../components/common resources: - # Pre Flux-Kustomizations - - ./namespace.yaml - # Flux-Kustomizations - - ./openebs/ks.yaml \ No newline at end of file + - ./openebs/ks.yaml diff --git a/kubernetes/apps/openebs-system/namespace.yaml b/kubernetes/apps/openebs-system/namespace.yaml deleted file mode 100644 index 49bcf897d..000000000 --- a/kubernetes/apps/openebs-system/namespace.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: openebs-system - annotations: - kustomize.toolkit.fluxcd.io/prune: disabled - volsync.backube/privileged-movers: "true" ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/provider_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Provider -metadata: - name: alert-manager - namespace: openebs-system -spec: - type: alertmanager - address: http://alertmanager-operated.observability.svc.cluster.local:9093/api/v2/alerts/ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/alert_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Alert -metadata: - name: alert-manager - namespace: openebs-system -spec: - providerRef: - name: alert-manager - eventSeverity: error - eventSources: - - kind: HelmRelease - name: "*" - exclusionList: - - "error.*lookup github\\.com" - - "error.*lookup raw\\.githubusercontent\\.com" - - "dial.*tcp.*timeout" - - "waiting.*socket" - suspend: false diff --git a/kubernetes/apps/openebs-system/openebs/ks.yaml b/kubernetes/apps/openebs-system/openebs/ks.yaml index f18c7d8f4..f706b847c 100644 --- a/kubernetes/apps/openebs-system/openebs/ks.yaml +++ b/kubernetes/apps/openebs-system/openebs/ks.yaml @@ -4,18 +4,22 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app openebs - namespace: flux-system + namespace: &namespace openebs-system spec: - targetNamespace: openebs-system commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/openebs-system/openebs/app + postBuild: + substitute: + APP: *app prune: true + retryInterval: 2m sourceRef: kind: GitRepository name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m wait: false - interval: 30m - retryInterval: 1m - timeout: 5m \ No newline at end of file diff --git a/kubernetes/apps/rook-ceph/kustomization.yaml b/kubernetes/apps/rook-ceph/kustomization.yaml index 6531ddfda..824d39213 100644 --- a/kubernetes/apps/rook-ceph/kustomization.yaml +++ b/kubernetes/apps/rook-ceph/kustomization.yaml @@ -2,8 +2,8 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization +namespace: rook-ceph +components: + - ../../components/common resources: - # Pre Flux-Kustomizations - - ./namespace.yaml - # Flux-Kustomizations - ./rook-ceph/ks.yaml diff --git a/kubernetes/apps/rook-ceph/namespace.yaml b/kubernetes/apps/rook-ceph/namespace.yaml deleted file mode 100644 index b2a3d943f..000000000 --- a/kubernetes/apps/rook-ceph/namespace.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: rook-ceph - labels: - kustomize.toolkit.fluxcd.io/prune: disabled - pod-security.kubernetes.io/enforce: privileged ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/provider_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Provider -metadata: - name: alert-manager - namespace: rook-ceph -spec: - type: alertmanager - address: http://kube-prometheus-stack-alertmanager.observability:9093/api/v2/alerts/ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/alert_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Alert -metadata: - name: alert-manager - namespace: rook-ceph -spec: - providerRef: - name: alert-manager - eventSeverity: error - eventSources: - - kind: HelmRelease - name: "*" - exclusionList: - - "error.*lookup github\\.com" - - "error.*lookup raw\\.githubusercontent\\.com" - - "dial.*tcp.*timeout" - - "waiting.*socket" - suspend: false diff --git a/kubernetes/apps/rook-ceph/rook-ceph/ks.yaml b/kubernetes/apps/rook-ceph/rook-ceph/ks.yaml index aae69dfe0..ae9ff0090 100644 --- a/kubernetes/apps/rook-ceph/rook-ceph/ks.yaml +++ b/kubernetes/apps/rook-ceph/rook-ceph/ks.yaml @@ -4,75 +4,76 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app rook-ceph - namespace: flux-system + namespace: &namespace rook-ceph spec: - targetNamespace: rook-ceph commonMetadata: labels: app.kubernetes.io/name: *app + interval: 1h path: ./kubernetes/apps/rook-ceph/rook-ceph/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app - + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false --- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app rook-ceph-cluster - namespace: flux-system + namespace: &namespace rook-ceph spec: - targetNamespace: rook-ceph commonMetadata: labels: app.kubernetes.io/name: *app dependsOn: - name: rook-ceph + interval: 1h path: ./kubernetes/apps/rook-ceph/rook-ceph/cluster - prune: false - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app - + prune: false + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false --- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app rook-ceph-tools - namespace: flux-system + namespace: &namespace rook-ceph spec: - targetNamespace: rook-ceph commonMetadata: labels: app.kubernetes.io/name: *app dependsOn: - name: rook-ceph-cluster + interval: 1h path: ./kubernetes/apps/rook-ceph/rook-ceph/tools - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false diff --git a/kubernetes/apps/volsync/kustomization.yaml b/kubernetes/apps/volsync/kustomization.yaml index 99edd052d..cb11dfebd 100644 --- a/kubernetes/apps/volsync/kustomization.yaml +++ b/kubernetes/apps/volsync/kustomization.yaml @@ -2,8 +2,8 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization +namespace: volsync +components: + - ../../components/common resources: - # Pre Flux-Kustomizations - - ./namespace.yaml - # Flux-Kustomizations - ./volsync/ks.yaml diff --git a/kubernetes/apps/volsync/namespace.yaml b/kubernetes/apps/volsync/namespace.yaml deleted file mode 100644 index 98e09620d..000000000 --- a/kubernetes/apps/volsync/namespace.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: volsync - labels: - kustomize.toolkit.fluxcd.io/prune: disabled ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/provider_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Provider -metadata: - name: alert-manager - namespace: volsync -spec: - type: alertmanager - address: http://kube-prometheus-stack-alertmanager.observability:9093/api/v2/alerts/ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/alert_v1beta3.json -apiVersion: notification.toolkit.fluxcd.io/v1beta3 -kind: Alert -metadata: - name: alert-manager - namespace: volsync -spec: - providerRef: - name: alert-manager - eventSeverity: error - eventSources: - - kind: HelmRelease - name: "*" - exclusionList: - - "error.*lookup github\\.com" - - "error.*lookup raw\\.githubusercontent\\.com" - - "dial.*tcp.*timeout" - - "waiting.*socket" - suspend: false diff --git a/kubernetes/apps/volsync/volsync/ks.yaml b/kubernetes/apps/volsync/volsync/ks.yaml index 5f4007858..c63bc02fa 100644 --- a/kubernetes/apps/volsync/volsync/ks.yaml +++ b/kubernetes/apps/volsync/volsync/ks.yaml @@ -4,23 +4,25 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: &app volsync - namespace: flux-system + namespace: &namespace volsync spec: - targetNamespace: *app commonMetadata: labels: app.kubernetes.io/name: *app dependsOn: - name: snapshot-controller + namespace: kube-system + interval: 1h path: ./kubernetes/apps/volsync/volsync/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - wait: false - interval: 30m - retryInterval: 1m - timeout: 5m postBuild: substitute: APP: *app + prune: true + retryInterval: 2m + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + namespace: flux-system + targetNamespace: *namespace + timeout: 5m + wait: false