mirror of
https://github.com/auricom/home-cluster.git
synced 2025-09-17 18:24:14 +02:00
feat: benji
This commit is contained in:
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: bookstack-config
|
name: bookstack-config
|
||||||
namespace: data
|
namespace: data
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
@@ -20,7 +20,7 @@ metadata:
|
|||||||
name: bookstack-db
|
name: bookstack-db
|
||||||
namespace: data
|
namespace: data
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: freshrss-config
|
name: freshrss-config
|
||||||
namespace: data
|
namespace: data
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: homer-config
|
name: homer-config
|
||||||
namespace: data
|
namespace: data
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: pgadmin-config
|
name: pgadmin-config
|
||||||
namespace: data
|
namespace: data
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: postgresql-kube
|
name: postgresql-kube
|
||||||
namespace: data
|
namespace: data
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: recipes-files
|
name: recipes-files
|
||||||
namespace: data
|
namespace: data
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: resilio-sync-config
|
name: resilio-sync-config
|
||||||
namespace: data
|
namespace: data
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: vaultwarden-data
|
name: vaultwarden-data
|
||||||
namespace: data
|
namespace: data
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: vikunja-files
|
name: vikunja-files
|
||||||
namespace: data
|
namespace: data
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: wallabag-images
|
name: wallabag-images
|
||||||
namespace: data
|
namespace: data
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: gitea-config
|
name: gitea-config
|
||||||
namespace: development
|
namespace: development
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: frigate-config
|
name: frigate-config
|
||||||
namespace: home-automation
|
namespace: home-automation
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: hass-config
|
name: hass-config
|
||||||
namespace: home-automation
|
namespace: home-automation
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: zigbee2mqtt-config
|
name: zigbee2mqtt-config
|
||||||
namespace: home-automation
|
namespace: home-automation
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: zwavejs2mqtt-config
|
name: zwavejs2mqtt-config
|
||||||
namespace: home-automation
|
namespace: home-automation
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -8,4 +8,5 @@ resources:
|
|||||||
- media
|
- media
|
||||||
- monitoring
|
- monitoring
|
||||||
- networking
|
- networking
|
||||||
|
- rook-system
|
||||||
- secret-reflector
|
- secret-reflector
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: bazarr-config
|
name: bazarr-config
|
||||||
namespace: media
|
namespace: media
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: flood-config
|
name: flood-config
|
||||||
namespace: media
|
namespace: media
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: jellyfin-config
|
name: jellyfin-config
|
||||||
namespace: media
|
namespace: media
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: lidarr-config
|
name: lidarr-config
|
||||||
namespace: media
|
namespace: media
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: lychee-files
|
name: lychee-files
|
||||||
namespace: media
|
namespace: media
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: navidrome-config
|
name: navidrome-config
|
||||||
namespace: media
|
namespace: media
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: prowlarr-config
|
name: prowlarr-config
|
||||||
namespace: media
|
namespace: media
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: pyload-config
|
name: pyload-config
|
||||||
namespace: media
|
namespace: media
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: qbittorrent-config
|
name: qbittorrent-config
|
||||||
namespace: media
|
namespace: media
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: radarr-config
|
name: radarr-config
|
||||||
namespace: media
|
namespace: media
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: readarr-config
|
name: readarr-config
|
||||||
namespace: media
|
namespace: media
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: sabnzbd-config
|
name: sabnzbd-config
|
||||||
namespace: media
|
namespace: media
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: sonarr-config
|
name: sonarr-config
|
||||||
namespace: media
|
namespace: media
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: tdarr-data
|
name: tdarr-data
|
||||||
namespace: media
|
namespace: media
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: uptime-kuma-config
|
name: uptime-kuma-config
|
||||||
namespace: monitoring
|
namespace: monitoring
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: unifi-config
|
name: unifi-config
|
||||||
namespace: networking
|
namespace: networking
|
||||||
labels:
|
labels:
|
||||||
kasten-io-snapshots: "enable"
|
benji-backup.me/instance: "benji-k8s"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
13
cluster/apps/rook-system/benji/configmap.yaml
Normal file
13
cluster/apps/rook-system/benji/configmap.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: benji-ceph-etc
|
||||||
|
namespace: rook-ceph
|
||||||
|
data:
|
||||||
|
ceph.conf: |
|
||||||
|
[global]
|
||||||
|
mon_host = rook-ceph-mon-b.rook-ceph.svc.cluster.local:6789,rook-ceph-mon-c.rook-ceph.svc.cluster.local:6789,rook-ceph-mon-d.rook-ceph.svc.cluster.local:6789
|
||||||
|
|
||||||
|
[client.admin]
|
||||||
|
keyring = /etc/ceph/keyring
|
105
cluster/apps/rook-system/benji/helm-release.yaml
Normal file
105
cluster/apps/rook-system/benji/helm-release.yaml
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
---
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: benji
|
||||||
|
namespace: rook-ceph
|
||||||
|
spec:
|
||||||
|
releaseName: benji
|
||||||
|
interval: 5m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: ./charts/benji-k8s
|
||||||
|
version: 0.2.0
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: benji-charts
|
||||||
|
namespace: flux-system
|
||||||
|
interval: 5m
|
||||||
|
values:
|
||||||
|
timeZone: Europe/Paris
|
||||||
|
benji:
|
||||||
|
configuration:
|
||||||
|
configurationVersion: '1'
|
||||||
|
databaseEngine: postgresql://benji:secret@benji-postgresql-headless:5432/benji
|
||||||
|
defaultStorage: storage-1
|
||||||
|
storages:
|
||||||
|
- name: storage-1
|
||||||
|
storageId: 1
|
||||||
|
module: file
|
||||||
|
configuration:
|
||||||
|
path: /mnt/storage/backups/benji
|
||||||
|
ios:
|
||||||
|
- module: rbdaio
|
||||||
|
name: replicapool
|
||||||
|
configuration:
|
||||||
|
simultaneousReads: 3
|
||||||
|
simultaneousWrites: 3
|
||||||
|
cephConfigFile: /etc/ceph/ceph.conf
|
||||||
|
clientIdentifier: admin
|
||||||
|
newImageFeatures:
|
||||||
|
- RBD_FEATURE_LAYERING
|
||||||
|
- RBD_FEATURE_EXCLUSIVE_LOCK
|
||||||
|
- RBD_FEATURE_STRIPINGV2
|
||||||
|
- RBD_FEATURE_OBJECT_MAP
|
||||||
|
- RBD_FEATURE_FAST_DIFF
|
||||||
|
- RBD_FEATURE_DEEP_FLATTEN
|
||||||
|
cronJob:
|
||||||
|
activeDeadlineSeconds: null
|
||||||
|
startingDeadlineSeconds: null
|
||||||
|
crontab:
|
||||||
|
- name: backup-data
|
||||||
|
schedule: "00 22 * * *"
|
||||||
|
command:
|
||||||
|
- benji-backup-pvc
|
||||||
|
- --selector
|
||||||
|
- 'benji-backup.me/instance=benji-k8s'
|
||||||
|
- name: benji-enforce
|
||||||
|
schedule: "30 22 * * *"
|
||||||
|
command:
|
||||||
|
- benji-command
|
||||||
|
- enforce
|
||||||
|
- days14
|
||||||
|
- 'labels["benji-backup.me/instance"] == "benji-k8s"'
|
||||||
|
- name: cleanup
|
||||||
|
schedule: "00 23 * * *"
|
||||||
|
command:
|
||||||
|
- benji-command
|
||||||
|
- cleanup
|
||||||
|
volumes:
|
||||||
|
- name: ceph-etc
|
||||||
|
configMap:
|
||||||
|
name: benji-ceph-etc
|
||||||
|
defaultMode: 0444
|
||||||
|
- name: ceph-keyring
|
||||||
|
secret:
|
||||||
|
secretName: rook-ceph-admin-keyring
|
||||||
|
defaultMode: 0444
|
||||||
|
- name: nfs-backups-benji
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: nfs-backups-benji
|
||||||
|
volumeMounts:
|
||||||
|
- name: ceph-etc
|
||||||
|
mountPath: /etc/ceph/ceph.conf
|
||||||
|
subPath: ceph.conf
|
||||||
|
readOnly: true
|
||||||
|
- name: ceph-keyring
|
||||||
|
mountPath: /etc/ceph/keyring
|
||||||
|
subPath: keyring
|
||||||
|
readOnly: true
|
||||||
|
- name: nfs-backups-benji
|
||||||
|
mountPath: /mnt/storage/backups/benji
|
||||||
|
fsfreeze:
|
||||||
|
enabled: true
|
||||||
|
postgresql:
|
||||||
|
enabled: true
|
||||||
|
postgresqlUsername: benji
|
||||||
|
postgresqlDatabase: benji
|
||||||
|
postgresqlPassword: secret
|
||||||
|
pushgateway:
|
||||||
|
image:
|
||||||
|
registry: docker.io
|
||||||
|
repository: prom/pushgateway
|
||||||
|
tag: v1.4.1
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
nameOverride: pushgateway
|
9
cluster/apps/rook-system/benji/kustomization.yaml
Normal file
9
cluster/apps/rook-system/benji/kustomization.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- configmap.yaml
|
||||||
|
- volume.yaml
|
||||||
|
- helm-release.yaml
|
||||||
|
- podmonitor.yaml
|
||||||
|
- pgbackups.yaml
|
60
cluster/apps/rook-system/benji/pgbackups.yaml
Normal file
60
cluster/apps/rook-system/benji/pgbackups.yaml
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: pgbackups
|
||||||
|
namespace: rook-ceph
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: pgbackups
|
||||||
|
app.kubernetes.io/name: pgbackups
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: pgbackups
|
||||||
|
app.kubernetes.io/name: pgbackups
|
||||||
|
replicas: 1
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: pgbackups
|
||||||
|
app.kubernetes.io/name: pgbackups
|
||||||
|
spec:
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: regcred
|
||||||
|
containers:
|
||||||
|
- name: pgbackups
|
||||||
|
#image: prodrigestivill/postgres-backup-local:13
|
||||||
|
image: registry.${SECRET_CLUSTER_DOMAIN}/homelab/postgres-backup-local:1.0.0
|
||||||
|
env:
|
||||||
|
- name: POSTGRES_HOST
|
||||||
|
value: benji-postgresql-headless
|
||||||
|
- name: POSTGRES_DB
|
||||||
|
value: benji
|
||||||
|
- name: POSTGRES_USER
|
||||||
|
value: benji
|
||||||
|
- name: POSTGRES_PASSWORD
|
||||||
|
value: secret
|
||||||
|
- name: POSTGRES_EXTRA_OPTS
|
||||||
|
value: "-Z9 --schema=public --blobs"
|
||||||
|
- name: SCHEDULE
|
||||||
|
value: "@daily"
|
||||||
|
- name: BACKUP_KEEP_DAYS
|
||||||
|
value: "14"
|
||||||
|
- name: HEALTHCHECK_PORT
|
||||||
|
value: "8080"
|
||||||
|
- name: POST_BACKUP_HOOK
|
||||||
|
value: "curl -m 10 --retry 5 http://healthchecks.monitoring.svc.cluster.local:8000/ping/ce94dbce-de51-4823-a54f-a2f960288f4b"
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 150m
|
||||||
|
memory: 256Mi
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
volumeMounts:
|
||||||
|
- name: nfs-backups-benji
|
||||||
|
mountPath: /backups
|
||||||
|
subPath: postgresql
|
||||||
|
volumes:
|
||||||
|
- name: nfs-backups-benji
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: nfs-backups-benji
|
16
cluster/apps/rook-system/benji/podmonitor.yaml
Normal file
16
cluster/apps/rook-system/benji/podmonitor.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: PodMonitor
|
||||||
|
metadata:
|
||||||
|
name: benji
|
||||||
|
namespace: rook-ceph
|
||||||
|
spec:
|
||||||
|
podMetricsEndpoints:
|
||||||
|
- interval: 10m
|
||||||
|
path: /metrics
|
||||||
|
port: metrics
|
||||||
|
scrapeTimeout: 2m
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: pushgateway
|
||||||
|
release: benji
|
34
cluster/apps/rook-system/benji/volume.yaml
Normal file
34
cluster/apps/rook-system/benji/volume.yaml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: nfs-backups-benji
|
||||||
|
spec:
|
||||||
|
storageClassName: nfs-backups-benji
|
||||||
|
capacity:
|
||||||
|
storage: 1Mi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
persistentVolumeReclaimPolicy: Retain
|
||||||
|
nfs:
|
||||||
|
server: ${LOCAL_LAN_TRUENAS}
|
||||||
|
path: /mnt/storage/backups/benji
|
||||||
|
mountOptions:
|
||||||
|
- tcp
|
||||||
|
- intr
|
||||||
|
- hard
|
||||||
|
- noatime
|
||||||
|
- nodiratime
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: nfs-backups-benji
|
||||||
|
namespace: rook-ceph
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: nfs-backups-benji
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Mi
|
5
cluster/apps/rook-system/kustomization.yaml
Normal file
5
cluster/apps/rook-system/kustomization.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- benji
|
17
cluster/base-custom/charts/benji-charts.yaml
Normal file
17
cluster/base-custom/charts/benji-charts.yaml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
apiVersion: source.toolkit.fluxcd.io/v1beta1
|
||||||
|
kind: GitRepository
|
||||||
|
metadata:
|
||||||
|
name: benji-charts
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 1h
|
||||||
|
url: https://github.com/elemental-lf/benji
|
||||||
|
timeout: 3m
|
||||||
|
ref:
|
||||||
|
branch: master
|
||||||
|
ignore: |
|
||||||
|
# exclude all
|
||||||
|
/*
|
||||||
|
# include charts directory
|
||||||
|
!/charts/
|
@@ -4,6 +4,7 @@ kind: Kustomization
|
|||||||
resources:
|
resources:
|
||||||
- authelia-charts.yaml
|
- authelia-charts.yaml
|
||||||
- authentik-charts.yaml
|
- authentik-charts.yaml
|
||||||
|
- benji-charts.yaml
|
||||||
- bitnami-charts.yaml
|
- bitnami-charts.yaml
|
||||||
- cert-manager-webhook-ovh.yaml
|
- cert-manager-webhook-ovh.yaml
|
||||||
- drone-charts.yaml
|
- drone-charts.yaml
|
||||||
|
Reference in New Issue
Block a user