From bfe257256685594be72c5a04d7aab0d259583c39 Mon Sep 17 00:00:00 2001 From: Alex Lebens Date: Fri, 17 Jan 2025 22:36:26 -0600 Subject: [PATCH] add checkrr --- .../cl01tl/applications/checkrr/Chart.yaml | 20 ++++ .../checkrr/templates/external-secret.yaml | 23 +++++ .../templates/persistent-volume-claim.yaml | 19 ++++ .../checkrr/templates/persistent-volume.yaml | 25 +++++ .../cl01tl/applications/checkrr/values.yaml | 92 +++++++++++++++++++ .../cl01tl/applications/homepage/values.yaml | 6 ++ 6 files changed, 185 insertions(+) create mode 100644 clusters/cl01tl/applications/checkrr/Chart.yaml create mode 100644 clusters/cl01tl/applications/checkrr/templates/external-secret.yaml create mode 100644 clusters/cl01tl/applications/checkrr/templates/persistent-volume-claim.yaml create mode 100644 clusters/cl01tl/applications/checkrr/templates/persistent-volume.yaml create mode 100644 clusters/cl01tl/applications/checkrr/values.yaml diff --git a/clusters/cl01tl/applications/checkrr/Chart.yaml b/clusters/cl01tl/applications/checkrr/Chart.yaml new file mode 100644 index 000000000..68007114a --- /dev/null +++ b/clusters/cl01tl/applications/checkrr/Chart.yaml @@ -0,0 +1,20 @@ +apiVersion: v2 +name: checkrr +version: 1.0.0 +description: Checkrr +keywords: + - checkrr + - servarr + - healthchecks +home: https://wiki.alexlebens.dev/doc/checkrr +sources: + - https://github.com/aetaric/checkrr + - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template +maintainers: + - name: alexlebens +dependencies: + - name: app-template + alias: checkrr + repository: https://bjw-s.github.io/helm-charts/ + version: 3.6.1 +appVersion: v3.4.0 diff --git a/clusters/cl01tl/applications/checkrr/templates/external-secret.yaml b/clusters/cl01tl/applications/checkrr/templates/external-secret.yaml new file mode 100644 index 000000000..2843f04d1 --- /dev/null +++ b/clusters/cl01tl/applications/checkrr/templates/external-secret.yaml @@ -0,0 +1,23 @@ +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: checkrr-config-secret + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: checkrr-config-secret + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} + app.kubernetes.io/component: backup + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + data: + - secretKey: checkrr.yaml + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /cl01tl/checkrr + metadataPolicy: None + property: checkrr.yaml diff --git a/clusters/cl01tl/applications/checkrr/templates/persistent-volume-claim.yaml b/clusters/cl01tl/applications/checkrr/templates/persistent-volume-claim.yaml new file mode 100644 index 000000000..dbf595e38 --- /dev/null +++ b/clusters/cl01tl/applications/checkrr/templates/persistent-volume-claim.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: checkrr-nfs-storage + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: checkrr-nfs-storage + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} + app.kubernetes.io/component: storage + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + volumeName: checkrr-nfs-storage + storageClassName: nfs-client + accessModes: + - ReadWriteMany + resources: + requests: + storage: 1Gi diff --git a/clusters/cl01tl/applications/checkrr/templates/persistent-volume.yaml b/clusters/cl01tl/applications/checkrr/templates/persistent-volume.yaml new file mode 100644 index 000000000..d4fac2d8f --- /dev/null +++ b/clusters/cl01tl/applications/checkrr/templates/persistent-volume.yaml @@ -0,0 +1,25 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: checkrr-nfs-storage + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: checkrr-nfs-storage + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} + app.kubernetes.io/component: storage + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + persistentVolumeReclaimPolicy: Retain + storageClassName: nfs-client + capacity: + storage: 1Gi + accessModes: + - ReadWriteMany + nfs: + path: /volume2/Storage + server: synologybond.alexlebens.net + mountOptions: + - vers=4 + - minorversion=1 + - noac diff --git a/clusters/cl01tl/applications/checkrr/values.yaml b/clusters/cl01tl/applications/checkrr/values.yaml new file mode 100644 index 000000000..0234c355f --- /dev/null +++ b/clusters/cl01tl/applications/checkrr/values.yaml @@ -0,0 +1,92 @@ +checkrr: + controllers: + main: + type: deployment + replicas: 1 + strategy: Recreate + revisionHistoryLimit: 3 + initContainers: + init-create-db: + securityContext: + runAsUser: 0 + image: + repository: busybox + tag: 1.37.0 + pullPolicy: IfNotPresent + command: + - /bin/sh + - -ec + - | + if [ ! -f /app/checkrr.db ]; then + touch /app/checkrr.db; + fi; + resources: + requests: + cpu: 100m + memory: 128Mi + containers: + main: + image: + repository: aetaric/checkrr + tag: 3.4.0 + pullPolicy: IfNotPresent + resources: + requests: + cpu: 2 + memory: 512Mi + serviceAccount: + create: true + service: + main: + controller: main + ports: + http: + port: 80 + targetPort: 8585 + protocol: HTTP + ingress: + tailscale: + enabled: true + className: tailscale + hosts: + - host: checkrr-cl01tl + paths: + - path: / + pathType: Prefix + service: + name: checkrr + port: 80 + tls: + - hosts: + - checkrr-cl01tl + persistence: + config: + enabled: true + type: secret + name: checkrr-config-secret + advancedMounts: + main: + main: + - path: /etc/checkrr.yaml + readOnly: true + mountPropagation: None + subPath: checkrr.yaml + db: + storageClass: ceph-block-delete + accessMode: ReadWriteOnce + size: 5Gi + advancedMounts: + main: + iinit-create-db: + - path: /app + readOnly: false + main: + - path: /app + readOnly: false + media: + existingClaim: checkrr-nfs-storage + advancedMounts: + main: + main: + - path: /mnt/store + readOnly: false diff --git a/clusters/cl01tl/applications/homepage/values.yaml b/clusters/cl01tl/applications/homepage/values.yaml index 0fd5bf1dc..bba0c5df8 100644 --- a/clusters/cl01tl/applications/homepage/values.yaml +++ b/clusters/cl01tl/applications/homepage/values.yaml @@ -570,6 +570,12 @@ homepage: widget: type: tdarr url: http://tdarr-web.tdarr:8265 + - Checkrr: + icon: sh-healthchecks.png + description: Media healthchecks + href: https://checkrr-cl01tl.boreal-beaufort.ts.net + siteMonitor: http://checkrr.checkrr:80 + statusStyle: dot - Other Homes: - Dev: icon: sh-homepage.png