From 7cb8d606a7e4a7e9605a3069bda2f6a956feb058 Mon Sep 17 00:00:00 2001 From: gitea-bot Date: Fri, 26 Dec 2025 02:38:12 +0000 Subject: [PATCH 1/2] chore: Update manifests after change --- .../ObjectBucketClaim-ceph-bucket-outline.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 clusters/cl01tl/manifests/outline/ObjectBucketClaim-ceph-bucket-outline.yaml diff --git a/clusters/cl01tl/manifests/outline/ObjectBucketClaim-ceph-bucket-outline.yaml b/clusters/cl01tl/manifests/outline/ObjectBucketClaim-ceph-bucket-outline.yaml new file mode 100644 index 000000000..6e54592ec --- /dev/null +++ b/clusters/cl01tl/manifests/outline/ObjectBucketClaim-ceph-bucket-outline.yaml @@ -0,0 +1,11 @@ +apiVersion: objectbucket.io/v1alpha1 +kind: ObjectBucketClaim +metadata: + name: ceph-bucket-outline + labels: + app.kubernetes.io/name: ceph-bucket-outline + app.kubernetes.io/instance: outline + app.kubernetes.io/part-of: outline +spec: + generateBucketName: bucket-outline + storageClassName: ceph-bucket -- 2.49.1 From 02142e7c0335d32dfad534d60e2cf7883f65c2e0 Mon Sep 17 00:00:00 2001 From: gitea-bot Date: Fri, 26 Dec 2025 03:09:41 +0000 Subject: [PATCH 2/2] chore: Update manifests after change --- .../manifests/blocky/ConfigMap-blocky.yaml | 1 + .../manifests/blocky/Deployment-blocky.yaml | 2 +- .../manifests/gatus/ConfigMap-gatus.yaml | 13 ++- .../manifests/gatus/Deployment-gatus.yaml | 2 +- .../homepage/ConfigMap-homepage.yaml | 16 ++-- .../homepage/Deployment-homepage.yaml | 2 +- .../rayflume/Deployment-rayflume.yaml | 83 +++++++++++++++++++ ...ExternalSecret-rayflume-config-secret.yaml | 42 ++++++++++ ...-rayflume-data-backup-secret-external.yaml | 58 +++++++++++++ ...ret-rayflume-data-backup-secret-local.yaml | 58 +++++++++++++ ...et-rayflume-data-backup-secret-remote.yaml | 58 +++++++++++++ .../rayflume/HTTPRoute-rayflume.yaml | 30 +++++++ .../PersistentVolumeClaim-rayflume-data.yaml | 17 ++++ ...eplication-redis-replication-rayflume.yaml | 36 ++++++++ ...-rayflume-data-backup-source-external.yaml | 29 +++++++ ...rce-rayflume-data-backup-source-local.yaml | 29 +++++++ ...ce-rayflume-data-backup-source-remote.yaml | 29 +++++++ .../manifests/rayflume/Service-rayflume.yaml | 22 +++++ ...iceMonitor-redis-replication-rayflume.yaml | 22 +++++ 19 files changed, 539 insertions(+), 10 deletions(-) create mode 100644 clusters/cl01tl/manifests/rayflume/Deployment-rayflume.yaml create mode 100644 clusters/cl01tl/manifests/rayflume/ExternalSecret-rayflume-config-secret.yaml create mode 100644 clusters/cl01tl/manifests/rayflume/ExternalSecret-rayflume-data-backup-secret-external.yaml create mode 100644 clusters/cl01tl/manifests/rayflume/ExternalSecret-rayflume-data-backup-secret-local.yaml create mode 100644 clusters/cl01tl/manifests/rayflume/ExternalSecret-rayflume-data-backup-secret-remote.yaml create mode 100644 clusters/cl01tl/manifests/rayflume/HTTPRoute-rayflume.yaml create mode 100644 clusters/cl01tl/manifests/rayflume/PersistentVolumeClaim-rayflume-data.yaml create mode 100644 clusters/cl01tl/manifests/rayflume/RedisReplication-redis-replication-rayflume.yaml create mode 100644 clusters/cl01tl/manifests/rayflume/ReplicationSource-rayflume-data-backup-source-external.yaml create mode 100644 clusters/cl01tl/manifests/rayflume/ReplicationSource-rayflume-data-backup-source-local.yaml create mode 100644 clusters/cl01tl/manifests/rayflume/ReplicationSource-rayflume-data-backup-source-remote.yaml create mode 100644 clusters/cl01tl/manifests/rayflume/Service-rayflume.yaml create mode 100644 clusters/cl01tl/manifests/rayflume/ServiceMonitor-redis-replication-rayflume.yaml diff --git a/clusters/cl01tl/manifests/blocky/ConfigMap-blocky.yaml b/clusters/cl01tl/manifests/blocky/ConfigMap-blocky.yaml index e9bae11cc..de7bfb83b 100644 --- a/clusters/cl01tl/manifests/blocky/ConfigMap-blocky.yaml +++ b/clusters/cl01tl/manifests/blocky/ConfigMap-blocky.yaml @@ -140,6 +140,7 @@ data: radarr-4k IN CNAME traefik-cl01tl radarr-anime IN CNAME traefik-cl01tl radarr-standup IN CNAME traefik-cl01tl + rayflume IN CNAME traefik-cl01tl searxng IN CNAME traefik-cl01tl seerr IN CNAME traefik-cl01tl slskd IN CNAME traefik-cl01tl diff --git a/clusters/cl01tl/manifests/blocky/Deployment-blocky.yaml b/clusters/cl01tl/manifests/blocky/Deployment-blocky.yaml index 84ebc6f7c..5f4c7b655 100644 --- a/clusters/cl01tl/manifests/blocky/Deployment-blocky.yaml +++ b/clusters/cl01tl/manifests/blocky/Deployment-blocky.yaml @@ -22,7 +22,7 @@ spec: template: metadata: annotations: - checksum/configMaps: 2f5e8c1dbe67625fe96fdedf0b39ace82fcf63552744f192712466288f21a002 + checksum/configMaps: 7fc49c433a568728ef1931ffe08ebcf917f00194e90f8b8254618f2d03e4db71 labels: app.kubernetes.io/controller: main app.kubernetes.io/instance: blocky diff --git a/clusters/cl01tl/manifests/gatus/ConfigMap-gatus.yaml b/clusters/cl01tl/manifests/gatus/ConfigMap-gatus.yaml index 2ef044408..c8b78b453 100644 --- a/clusters/cl01tl/manifests/gatus/ConfigMap-gatus.yaml +++ b/clusters/cl01tl/manifests/gatus/ConfigMap-gatus.yaml @@ -597,8 +597,17 @@ data: - '[CERTIFICATE_EXPIRATION] > 240h' group: core interval: 30s - name: soulsync - url: https://soulsync.alexlebens.net + name: rayflume + url: https://rayflume.alexlebens.net + - alerts: + - type: ntfy + conditions: + - '[STATUS] == 200' + - '[CERTIFICATE_EXPIRATION] > 240h' + group: core + interval: 30s + name: lidatube + url: https://lidatube.alexlebens.net - alerts: - type: ntfy conditions: diff --git a/clusters/cl01tl/manifests/gatus/Deployment-gatus.yaml b/clusters/cl01tl/manifests/gatus/Deployment-gatus.yaml index e8fe07e28..6f9cc6dde 100644 --- a/clusters/cl01tl/manifests/gatus/Deployment-gatus.yaml +++ b/clusters/cl01tl/manifests/gatus/Deployment-gatus.yaml @@ -26,7 +26,7 @@ spec: app.kubernetes.io/name: gatus app.kubernetes.io/instance: gatus annotations: - checksum/config: b3dffc4c31763cf533054191cd2d8bbbb3d6a6c2dcdfb3c7655e4c2bd5bfc498 + checksum/config: f7e93b323f41916faab6300ad51308ac9f3d0dae520c4b04d16d0162f52d84ec spec: serviceAccountName: default automountServiceAccountToken: false diff --git a/clusters/cl01tl/manifests/homepage/ConfigMap-homepage.yaml b/clusters/cl01tl/manifests/homepage/ConfigMap-homepage.yaml index 542343fdb..37fa91d68 100644 --- a/clusters/cl01tl/manifests/homepage/ConfigMap-homepage.yaml +++ b/clusters/cl01tl/manifests/homepage/ConfigMap-homepage.yaml @@ -594,11 +594,11 @@ data: url: http://lidarr.lidarr:80 key: {{HOMEPAGE_VAR_LIDARR_KEY}} fields: ["wanted", "queued", "artists"] - - LidaTube: - icon: sh-lidatube.webp - description: Searches for Music - href: https://lidatube.alexlebens.net - siteMonitor: http://lidatube.lidatube:80 + - RayFlume: + icon: sh-youtubarr.webp + description: Playlist to Lidarr Import + href: https://rayflume.alexlebens.net + siteMonitor: http://rayflume.rayflume:80 statusStyle: dot - SoulSync: icon: sh-soulsync.webp @@ -606,6 +606,12 @@ data: href: https://soulsync.alexlebens.net siteMonitor: http://soulsync.soulsync:80 statusStyle: dot + - LidaTube: + icon: sh-lidatube.webp + description: Searches for Music + href: https://lidatube.alexlebens.net + siteMonitor: http://lidatube.lidatube:80 + statusStyle: dot - Soulseek: icon: sh-slskd.webp description: slskd diff --git a/clusters/cl01tl/manifests/homepage/Deployment-homepage.yaml b/clusters/cl01tl/manifests/homepage/Deployment-homepage.yaml index 0edec86c6..b1bf8b8e0 100644 --- a/clusters/cl01tl/manifests/homepage/Deployment-homepage.yaml +++ b/clusters/cl01tl/manifests/homepage/Deployment-homepage.yaml @@ -24,7 +24,7 @@ spec: template: metadata: annotations: - checksum/configMaps: cd4356ed6fe93da4601d56cbe79e93190eaf2489cfe8e1f9a96f2d3e49620a20 + checksum/configMaps: 138efb3fec4d813ce22f61e8c66fd69fcae9728f86c3735a1185ad863691b365 checksum/secrets: d3ba83f111cd32f92c909268c55ad8bbd4f9e299b74b35b33c1a011180d8b378 labels: app.kubernetes.io/controller: main diff --git a/clusters/cl01tl/manifests/rayflume/Deployment-rayflume.yaml b/clusters/cl01tl/manifests/rayflume/Deployment-rayflume.yaml new file mode 100644 index 000000000..291db10cc --- /dev/null +++ b/clusters/cl01tl/manifests/rayflume/Deployment-rayflume.yaml @@ -0,0 +1,83 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: rayflume + labels: + app.kubernetes.io/controller: main + app.kubernetes.io/instance: rayflume + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: rayflume + helm.sh/chart: rayflume-4.5.0 + namespace: rayflume +spec: + revisionHistoryLimit: 3 + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app.kubernetes.io/controller: main + app.kubernetes.io/name: rayflume + app.kubernetes.io/instance: rayflume + template: + metadata: + labels: + app.kubernetes.io/controller: main + app.kubernetes.io/instance: rayflume + app.kubernetes.io/name: rayflume + spec: + enableServiceLinks: false + serviceAccountName: default + automountServiceAccountToken: true + hostIPC: false + hostNetwork: false + hostPID: false + dnsPolicy: ClusterFirst + containers: + - env: + - name: DEBUG + value: "false" + - name: SECRET_KEY + valueFrom: + secretKeyRef: + key: SECRET_KEY + name: rayflume-config-secret + - name: ALLOWED_HOSTS + value: rayflume.alexlebens.net + - name: LIDARR_TOKEN + valueFrom: + secretKeyRef: + key: LIDARR_TOKEN + name: rayflume-config-secret + - name: YOUTUBE_API_KEY + valueFrom: + secretKeyRef: + key: YOUTUBE_API_KEY + name: rayflume-config-secret + - name: YOUTUBE_QUOTA_SAFE_PAGE_SIZE + value: "50" + - name: MB_USER_AGENT + valueFrom: + secretKeyRef: + key: MB_USER_AGENT + name: rayflume-config-secret + - name: CELERY_BROKER_URL + value: redis://redis-replication-rayflume-master:6379/0 + - name: CELERY_RESULT_BACKEND + value: redis://redis-replication-rayflume-master:6379/0 + - name: REFRESH_MINUTES + value: "60" + image: harbor.alexlebens.net/images/rayflume:0.0.1 + imagePullPolicy: IfNotPresent + name: main + resources: + requests: + cpu: 10m + memory: 64Mi + volumeMounts: + - mountPath: /data + name: data + volumes: + - name: data + persistentVolumeClaim: + claimName: rayflume-data diff --git a/clusters/cl01tl/manifests/rayflume/ExternalSecret-rayflume-config-secret.yaml b/clusters/cl01tl/manifests/rayflume/ExternalSecret-rayflume-config-secret.yaml new file mode 100644 index 000000000..85d10d5b8 --- /dev/null +++ b/clusters/cl01tl/manifests/rayflume/ExternalSecret-rayflume-config-secret.yaml @@ -0,0 +1,42 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: rayflume-config-secret + namespace: rayflume + labels: + app.kubernetes.io/name: rayflume-config-secret + app.kubernetes.io/instance: rayflume + app.kubernetes.io/part-of: rayflume +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + data: + - secretKey: SECRET_KEY + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /cl01tl/rayflume/config + metadataPolicy: None + property: SECRET_KEY + - secretKey: LIDARR_TOKEN + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /cl01tl/rayflume/config + metadataPolicy: None + property: LIDARR_TOKEN + - secretKey: YOUTUBE_API_KEY + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /cl01tl/rayflume/config + metadataPolicy: None + property: YOUTUBE_API_KEY + - secretKey: MB_USER_AGENT + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /cl01tl/rayflume/config + metadataPolicy: None + property: MB_USER_AGENT diff --git a/clusters/cl01tl/manifests/rayflume/ExternalSecret-rayflume-data-backup-secret-external.yaml b/clusters/cl01tl/manifests/rayflume/ExternalSecret-rayflume-data-backup-secret-external.yaml new file mode 100644 index 000000000..1870b0cb4 --- /dev/null +++ b/clusters/cl01tl/manifests/rayflume/ExternalSecret-rayflume-data-backup-secret-external.yaml @@ -0,0 +1,58 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: rayflume-data-backup-secret-external + namespace: rayflume + labels: + helm.sh/chart: volsync-target-data-0.6.0 + app.kubernetes.io/instance: rayflume + app.kubernetes.io/part-of: rayflume + app.kubernetes.io/version: "0.6.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: rayflume-data-backup-secret-external +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + target: + template: + mergePolicy: Merge + engineVersion: v2 + data: + RESTIC_REPOSITORY: "{{ .BUCKET_ENDPOINT }}/rayflume/rayflume-data" + data: + - secretKey: BUCKET_ENDPOINT + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /volsync/restic/digital-ocean + metadataPolicy: None + property: BUCKET_ENDPOINT + - secretKey: RESTIC_PASSWORD + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /volsync/restic/digital-ocean + metadataPolicy: None + property: RESTIC_PASSWORD + - secretKey: AWS_DEFAULT_REGION + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /digital-ocean/home-infra/volsync-backups + metadataPolicy: None + property: AWS_DEFAULT_REGION + - secretKey: AWS_ACCESS_KEY_ID + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /digital-ocean/home-infra/volsync-backups + metadataPolicy: None + property: AWS_ACCESS_KEY_ID + - secretKey: AWS_SECRET_ACCESS_KEY + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /digital-ocean/home-infra/volsync-backups + metadataPolicy: None + property: AWS_SECRET_ACCESS_KEY diff --git a/clusters/cl01tl/manifests/rayflume/ExternalSecret-rayflume-data-backup-secret-local.yaml b/clusters/cl01tl/manifests/rayflume/ExternalSecret-rayflume-data-backup-secret-local.yaml new file mode 100644 index 000000000..887eacc70 --- /dev/null +++ b/clusters/cl01tl/manifests/rayflume/ExternalSecret-rayflume-data-backup-secret-local.yaml @@ -0,0 +1,58 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: rayflume-data-backup-secret-local + namespace: rayflume + labels: + helm.sh/chart: volsync-target-data-0.6.0 + app.kubernetes.io/instance: rayflume + app.kubernetes.io/part-of: rayflume + app.kubernetes.io/version: "0.6.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: rayflume-data-backup-secret-local +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + target: + template: + mergePolicy: Merge + engineVersion: v2 + data: + RESTIC_REPOSITORY: "{{ .BUCKET_ENDPOINT }}/rayflume/rayflume-data" + data: + - secretKey: BUCKET_ENDPOINT + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /volsync/restic/garage-local + metadataPolicy: None + property: BUCKET_ENDPOINT + - secretKey: RESTIC_PASSWORD + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /volsync/restic/garage-local + metadataPolicy: None + property: RESTIC_PASSWORD + - secretKey: AWS_DEFAULT_REGION + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/volsync-backups + metadataPolicy: None + property: ACCESS_REGION + - secretKey: AWS_ACCESS_KEY_ID + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/volsync-backups + metadataPolicy: None + property: ACCESS_KEY_ID + - secretKey: AWS_SECRET_ACCESS_KEY + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/volsync-backups + metadataPolicy: None + property: ACCESS_SECRET_KEY diff --git a/clusters/cl01tl/manifests/rayflume/ExternalSecret-rayflume-data-backup-secret-remote.yaml b/clusters/cl01tl/manifests/rayflume/ExternalSecret-rayflume-data-backup-secret-remote.yaml new file mode 100644 index 000000000..2f30c7ac7 --- /dev/null +++ b/clusters/cl01tl/manifests/rayflume/ExternalSecret-rayflume-data-backup-secret-remote.yaml @@ -0,0 +1,58 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: rayflume-data-backup-secret-remote + namespace: rayflume + labels: + helm.sh/chart: volsync-target-data-0.6.0 + app.kubernetes.io/instance: rayflume + app.kubernetes.io/part-of: rayflume + app.kubernetes.io/version: "0.6.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: rayflume-data-backup-secret-remote +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + target: + template: + mergePolicy: Merge + engineVersion: v2 + data: + RESTIC_REPOSITORY: "{{ .BUCKET_ENDPOINT }}/rayflume/rayflume-data" + data: + - secretKey: BUCKET_ENDPOINT + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /volsync/restic/garage-remote + metadataPolicy: None + property: BUCKET_ENDPOINT + - secretKey: RESTIC_PASSWORD + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /volsync/restic/garage-remote + metadataPolicy: None + property: RESTIC_PASSWORD + - secretKey: AWS_DEFAULT_REGION + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/volsync-backups + metadataPolicy: None + property: ACCESS_REGION + - secretKey: AWS_ACCESS_KEY_ID + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/volsync-backups + metadataPolicy: None + property: ACCESS_KEY_ID + - secretKey: AWS_SECRET_ACCESS_KEY + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/volsync-backups + metadataPolicy: None + property: ACCESS_SECRET_KEY diff --git a/clusters/cl01tl/manifests/rayflume/HTTPRoute-rayflume.yaml b/clusters/cl01tl/manifests/rayflume/HTTPRoute-rayflume.yaml new file mode 100644 index 000000000..e85f6d6ac --- /dev/null +++ b/clusters/cl01tl/manifests/rayflume/HTTPRoute-rayflume.yaml @@ -0,0 +1,30 @@ +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: rayflume + labels: + app.kubernetes.io/instance: rayflume + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: rayflume + helm.sh/chart: rayflume-4.5.0 + namespace: rayflume +spec: + parentRefs: + - group: gateway.networking.k8s.io + kind: Gateway + name: traefik-gateway + namespace: traefik + hostnames: + - "rayflume.alexlebens.net" + rules: + - backendRefs: + - group: "" + kind: Service + name: rayflume + namespace: rayflume + port: 80 + weight: 100 + matches: + - path: + type: PathPrefix + value: / diff --git a/clusters/cl01tl/manifests/rayflume/PersistentVolumeClaim-rayflume-data.yaml b/clusters/cl01tl/manifests/rayflume/PersistentVolumeClaim-rayflume-data.yaml new file mode 100644 index 000000000..edc06155f --- /dev/null +++ b/clusters/cl01tl/manifests/rayflume/PersistentVolumeClaim-rayflume-data.yaml @@ -0,0 +1,17 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: rayflume-data + labels: + app.kubernetes.io/instance: rayflume + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: rayflume + helm.sh/chart: rayflume-4.5.0 + namespace: rayflume +spec: + accessModes: + - "ReadWriteOnce" + resources: + requests: + storage: "1Gi" + storageClassName: "ceph-block" diff --git a/clusters/cl01tl/manifests/rayflume/RedisReplication-redis-replication-rayflume.yaml b/clusters/cl01tl/manifests/rayflume/RedisReplication-redis-replication-rayflume.yaml new file mode 100644 index 000000000..886c91fb3 --- /dev/null +++ b/clusters/cl01tl/manifests/rayflume/RedisReplication-redis-replication-rayflume.yaml @@ -0,0 +1,36 @@ +apiVersion: redis.redis.opstreelabs.in/v1beta2 +kind: RedisReplication +metadata: + name: redis-replication-rayflume + namespace: rayflume + labels: + helm.sh/chart: redis-replication-0.5.0 + app.kubernetes.io/version: "0.5.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: redis-replication-rayflume + app.kubernetes.io/instance: rayflume + app.kubernetes.io/part-of: rayflume +spec: + clusterSize: 3 + podSecurityContext: + fsGroup: 1000 + runAsUser: 1000 + kubernetesConfig: + image: "quay.io/opstree/redis:v8.4.0" + imagePullPolicy: IfNotPresent + resources: + requests: + cpu: 10m + memory: 32Mi + storage: + volumeClaimTemplate: + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + storageClassName: ceph-block + redisExporter: + enabled: true + image: "quay.io/opstree/redis-exporter:v1.80.1" diff --git a/clusters/cl01tl/manifests/rayflume/ReplicationSource-rayflume-data-backup-source-external.yaml b/clusters/cl01tl/manifests/rayflume/ReplicationSource-rayflume-data-backup-source-external.yaml new file mode 100644 index 000000000..bb3d096eb --- /dev/null +++ b/clusters/cl01tl/manifests/rayflume/ReplicationSource-rayflume-data-backup-source-external.yaml @@ -0,0 +1,29 @@ +apiVersion: volsync.backube/v1alpha1 +kind: ReplicationSource +metadata: + name: rayflume-data-backup-source-external + namespace: rayflume + labels: + helm.sh/chart: volsync-target-data-0.6.0 + app.kubernetes.io/instance: rayflume + app.kubernetes.io/part-of: rayflume + app.kubernetes.io/version: "0.6.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: rayflume-data-backup +spec: + sourcePVC: rayflume-data + trigger: + schedule: 0 9 * * * + restic: + pruneIntervalDays: 7 + repository: rayflume-data-backup-secret-external + retain: + daily: 7 + hourly: 0 + monthly: 3 + weekly: 4 + yearly: 1 + copyMethod: Snapshot + storageClassName: ceph-block + volumeSnapshotClassName: ceph-blockpool-snapshot + cacheCapacity: 1Gi diff --git a/clusters/cl01tl/manifests/rayflume/ReplicationSource-rayflume-data-backup-source-local.yaml b/clusters/cl01tl/manifests/rayflume/ReplicationSource-rayflume-data-backup-source-local.yaml new file mode 100644 index 000000000..47985ed82 --- /dev/null +++ b/clusters/cl01tl/manifests/rayflume/ReplicationSource-rayflume-data-backup-source-local.yaml @@ -0,0 +1,29 @@ +apiVersion: volsync.backube/v1alpha1 +kind: ReplicationSource +metadata: + name: rayflume-data-backup-source-local + namespace: rayflume + labels: + helm.sh/chart: volsync-target-data-0.6.0 + app.kubernetes.io/instance: rayflume + app.kubernetes.io/part-of: rayflume + app.kubernetes.io/version: "0.6.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: rayflume-data-backup +spec: + sourcePVC: rayflume-data + trigger: + schedule: 0 8 * * * + restic: + pruneIntervalDays: 7 + repository: rayflume-data-backup-secret-local + retain: + daily: 7 + hourly: 0 + monthly: 3 + weekly: 4 + yearly: 1 + copyMethod: Snapshot + storageClassName: ceph-block + volumeSnapshotClassName: ceph-blockpool-snapshot + cacheCapacity: 1Gi diff --git a/clusters/cl01tl/manifests/rayflume/ReplicationSource-rayflume-data-backup-source-remote.yaml b/clusters/cl01tl/manifests/rayflume/ReplicationSource-rayflume-data-backup-source-remote.yaml new file mode 100644 index 000000000..d463c12ab --- /dev/null +++ b/clusters/cl01tl/manifests/rayflume/ReplicationSource-rayflume-data-backup-source-remote.yaml @@ -0,0 +1,29 @@ +apiVersion: volsync.backube/v1alpha1 +kind: ReplicationSource +metadata: + name: rayflume-data-backup-source-remote + namespace: rayflume + labels: + helm.sh/chart: volsync-target-data-0.6.0 + app.kubernetes.io/instance: rayflume + app.kubernetes.io/part-of: rayflume + app.kubernetes.io/version: "0.6.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: rayflume-data-backup +spec: + sourcePVC: rayflume-data + trigger: + schedule: 0 10 * * * + restic: + pruneIntervalDays: 7 + repository: rayflume-data-backup-secret-remote + retain: + daily: 7 + hourly: 0 + monthly: 3 + weekly: 4 + yearly: 1 + copyMethod: Snapshot + storageClassName: ceph-block + volumeSnapshotClassName: ceph-blockpool-snapshot + cacheCapacity: 1Gi diff --git a/clusters/cl01tl/manifests/rayflume/Service-rayflume.yaml b/clusters/cl01tl/manifests/rayflume/Service-rayflume.yaml new file mode 100644 index 000000000..94f7a84aa --- /dev/null +++ b/clusters/cl01tl/manifests/rayflume/Service-rayflume.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: Service +metadata: + name: rayflume + labels: + app.kubernetes.io/instance: rayflume + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: rayflume + app.kubernetes.io/service: rayflume + helm.sh/chart: rayflume-4.5.0 + namespace: rayflume +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: 80 + protocol: TCP + name: http + selector: + app.kubernetes.io/controller: main + app.kubernetes.io/instance: rayflume + app.kubernetes.io/name: rayflume diff --git a/clusters/cl01tl/manifests/rayflume/ServiceMonitor-redis-replication-rayflume.yaml b/clusters/cl01tl/manifests/rayflume/ServiceMonitor-redis-replication-rayflume.yaml new file mode 100644 index 000000000..5a20f7190 --- /dev/null +++ b/clusters/cl01tl/manifests/rayflume/ServiceMonitor-redis-replication-rayflume.yaml @@ -0,0 +1,22 @@ +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: redis-replication-rayflume + namespace: rayflume + labels: + helm.sh/chart: redis-replication-0.5.0 + app.kubernetes.io/version: "0.5.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: redis-replication-rayflume + app.kubernetes.io/instance: rayflume + app.kubernetes.io/part-of: rayflume +spec: + selector: + matchLabels: + app: redis-replication-rayflume + redis_setup_type: replication + role: replication + endpoints: + - port: redis-exporter + interval: 30s + scrapeTimeout: 10s -- 2.49.1