Compare commits
	
		
			1 Commits
		
	
	
		
			renovate/a
			...
			57afa2334a
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 57afa2334a | 
| @@ -20,29 +20,16 @@ jobs: | |||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|         with: |         with: | ||||||
|           fetch-depth: 0 |           fetch-depth: 0 | ||||||
|  |  | ||||||
|       - name: Check Branch Exists |  | ||||||
|         id: check-branch-exists |  | ||||||
|         uses: GuillaumeFalourd/branch-exists@v1.1 |  | ||||||
|         with: |  | ||||||
|           branch: "origin/${{ github.base_ref }}" |  | ||||||
|  |  | ||||||
|       - name: Branch Does Not Exist |  | ||||||
|         if: steps.check-branch-exists.outputs.exists == 'false' |  | ||||||
|         run: echo "Branch origin/${{ github.base_ref }} was not found, likely already merged" |  | ||||||
|  |  | ||||||
|  |  | ||||||
|       - name: Set up Node.js |       - name: Set up Node.js | ||||||
|         if: steps.check-branch-exists.outputs.exists == 'true' |  | ||||||
|         uses: actions/setup-node@v4 |         uses: actions/setup-node@v4 | ||||||
|         with: |         with: | ||||||
|           node-version: '22' |           node-version: '22' | ||||||
|  |  | ||||||
|       - name: Lint Docker Compose |       - name: Lint Docker Compose | ||||||
|         if: steps.check-branch-exists.outputs.exists == 'true' |  | ||||||
|         run: | |         run: | | ||||||
|           set -e  # Exit immediately if a command exits with a non-zero status. |           set -e  # Exit immediately if a command exits with a non-zero status. | ||||||
|  |  | ||||||
|   | |||||||
| @@ -20,29 +20,17 @@ jobs: | |||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|         with: |         with: | ||||||
|           fetch-depth: 0 |           fetch-depth: 0 | ||||||
|  |  | ||||||
|       - name: Check Branch Exists |  | ||||||
|         id: check-branch-exists |  | ||||||
|         uses: GuillaumeFalourd/branch-exists@v1.1 |  | ||||||
|         with: |  | ||||||
|           branch: "origin/${{ github.base_ref }}" |  | ||||||
|  |  | ||||||
|       - name: Branch Does Not Exist |  | ||||||
|         if: steps.check-branch-exists.outputs.exists == 'false' |  | ||||||
|         run: echo "Branch origin/${{ github.base_ref }} was not found, likely already merged" |  | ||||||
|  |  | ||||||
|       - name: Set up Helm |       - name: Set up Helm | ||||||
|         if: steps.check-branch-exists.outputs.exists == 'true' |  | ||||||
|         uses: azure/setup-helm@v4 |         uses: azure/setup-helm@v4 | ||||||
|         with: |         with: | ||||||
|           token: ${{ secrets.GITEA_TOKEN }} |           token: ${{ secrets.GITEA_TOKEN }} | ||||||
|           version: latest |           version: latest | ||||||
|  |  | ||||||
|       - name: Lint Helm Chart |       - name: Lint Helm Chart | ||||||
|         if: steps.check-branch-exists.outputs.exists == 'true' |  | ||||||
|         run: | |         run: | | ||||||
|           set -e  # Exit immediately if a command exits with a non-zero status. |           set -e  # Exit immediately if a command exits with a non-zero status. | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										35
									
								
								.gitea/workflows/process-issues.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								.gitea/workflows/process-issues.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | |||||||
|  | name: process-issues | ||||||
|  |  | ||||||
|  | on: | ||||||
|  |   schedule: | ||||||
|  |     - cron: '@daily' | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   process-issues: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - name: Checkout Python Script | ||||||
|  |         uses: actions/checkout@v4 | ||||||
|  |         with: | ||||||
|  |           repository: alexlebens/workflow-scripts | ||||||
|  |           ref: main | ||||||
|  |           token: ${{ secrets.BOT_TOKEN }} | ||||||
|  |           path: scripts | ||||||
|  |  | ||||||
|  |       - name: Set up Python | ||||||
|  |         uses: actions/setup-python@v5 | ||||||
|  |         with: | ||||||
|  |           python-version: '3.13' | ||||||
|  |  | ||||||
|  |       - name: Install dependencies | ||||||
|  |         run: pip install requests | ||||||
|  |  | ||||||
|  |       - name: Run Script | ||||||
|  |         env: | ||||||
|  |           INSTANCE_URL: ${{ vars.INSTANCE_URL }} | ||||||
|  |           REPOSITORY: ${{ gitea.repository }} | ||||||
|  |           TOKEN: ${{ secrets.BOT_TOKEN }} | ||||||
|  |           STALE_DAYS: 3 | ||||||
|  |           STALE_TAG: 'stale' | ||||||
|  |           EXCLUDE_TAG: 'renovate' | ||||||
|  |         run: python ./scripts/scripts/process-issues.py | ||||||
							
								
								
									
										35
									
								
								.gitea/workflows/process-pull-requests.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								.gitea/workflows/process-pull-requests.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | |||||||
|  | name: process-pull-requests | ||||||
|  |  | ||||||
|  | on: | ||||||
|  |   schedule: | ||||||
|  |     - cron: '@daily' | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   process-pull-requests: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - name: Checkout Python Script | ||||||
|  |         uses: actions/checkout@v4 | ||||||
|  |         with: | ||||||
|  |           repository: alexlebens/workflow-scripts | ||||||
|  |           ref: main | ||||||
|  |           token: ${{ secrets.BOT_TOKEN }} | ||||||
|  |           path: scripts | ||||||
|  |  | ||||||
|  |       - name: Set up Python | ||||||
|  |         uses: actions/setup-python@v5 | ||||||
|  |         with: | ||||||
|  |           python-version: '3.13' | ||||||
|  |  | ||||||
|  |       - name: Install dependencies | ||||||
|  |         run: pip install requests | ||||||
|  |  | ||||||
|  |       - name: Run Script | ||||||
|  |         env: | ||||||
|  |           INSTANCE_URL: ${{ vars.INSTANCE_URL }} | ||||||
|  |           REPOSITORY: ${{ gitea.repository }} | ||||||
|  |           TOKEN: ${{ secrets.BOT_TOKEN }} | ||||||
|  |           STALE_DAYS: 3 | ||||||
|  |           STALE_TAG: 'stale' | ||||||
|  |           REQUIRED_TAG: 'automerge' | ||||||
|  |         run: python ./scripts/scripts/process-pull-requests.py | ||||||
| @@ -13,10 +13,10 @@ on: | |||||||
| jobs: | jobs: | ||||||
|   renovate: |   renovate: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     container: ghcr.io/renovatebot/renovate:41 |     container: ghcr.io/renovatebot/renovate:40 | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: Renovate |       - name: Renovate | ||||||
|         run: renovate |         run: renovate | ||||||
|   | |||||||
| @@ -16,6 +16,6 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: actual |     alias: actual | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/actual-budget.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/actual-budget.png | ||||||
| appVersion: v25.5.0 | appVersion: v25.5.0 | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ actual: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/actualbudget/actual |             repository: ghcr.io/actualbudget/actual | ||||||
|             tag: 25.10.0 |             tag: 25.6.1 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
|   | |||||||
| @@ -18,6 +18,6 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: audiobookshelf |     alias: audiobookshelf | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/audiobookshelf.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/audiobookshelf.png | ||||||
| appVersion: 2.21.0 | appVersion: 2.21.0 | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ audiobookshelf: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/advplyr/audiobookshelf |             repository: ghcr.io/advplyr/audiobookshelf | ||||||
|             tag: 2.30.0 |             tag: 2.24.0 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
| @@ -21,7 +21,7 @@ audiobookshelf: | |||||||
|         apprise-api: |         apprise-api: | ||||||
|           image: |           image: | ||||||
|             repository: caronc/apprise |             repository: caronc/apprise | ||||||
|             tag: 1.2.2 |             tag: 1.2.0 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
|   | |||||||
| @@ -18,6 +18,6 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: bazarr |     alias: bazarr | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/bazarr.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/bazarr.png | ||||||
| appVersion: 1.5.2 | appVersion: 1.5.2 | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ bazarr: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/linuxserver/bazarr |             repository: ghcr.io/linuxserver/bazarr | ||||||
|             tag: 1.5.3@sha256:a93c3595410f5c5791a126d7705cd8a29f3ce882338eef304cb8bece3ef2580b |             tag: 1.5.2@sha256:a92ba81b9405942d0b5c01e2707ba8fb99ab059dd800d1dc0e8f52f62ddf74dd | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
|   | |||||||
| @@ -16,6 +16,6 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: calibre-web-automated |     alias: calibre-web-automated | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/calibre-web.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/calibre-web.png | ||||||
| appVersion: V3.0.4 | appVersion: V3.0.4 | ||||||
|   | |||||||
| @@ -31,7 +31,7 @@ calibre-web-automated: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/calibrain/calibre-web-automated-book-downloader |             repository: ghcr.io/calibrain/calibre-web-automated-book-downloader | ||||||
|             tag: latest@sha256:c2850991e99e278269003d92efa86e865f7df039093fbd03e85141b035cf7a80 |             tag: latest@sha256:9a1a5d3f19e9eb53a7813abf8c3bbc4ab98b1ba19446ba0b89194407f0d556c7 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: FLASK_PORT |             - name: FLASK_PORT | ||||||
| @@ -41,7 +41,7 @@ calibre-web-automated: | |||||||
|             - name: GID |             - name: GID | ||||||
|               value: 100 |               value: 100 | ||||||
|             - name: USE_CF_BYPASS |             - name: USE_CF_BYPASS | ||||||
|               value: false |               value: true | ||||||
|             - name: CLOUDFLARE_PROXY_URL |             - name: CLOUDFLARE_PROXY_URL | ||||||
|               value: http://localhost:8000 |               value: http://localhost:8000 | ||||||
|             - name: INGEST_DIR |             - name: INGEST_DIR | ||||||
| @@ -55,7 +55,7 @@ calibre-web-automated: | |||||||
|         bypass: |         bypass: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/sarperavci/cloudflarebypassforscraping |             repository: ghcr.io/sarperavci/cloudflarebypassforscraping | ||||||
|             tag: latest@sha256:c34ef70a768ddf35c057f893c5392b8f65465fc4fbac634ba68a16d6a9dd0cbb |             tag: latest@sha256:bd326a3c6ae0b7ed3e405bbaa230e43e252f444c98f57d179f7a1d78f273748b | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           resources: |           resources: | ||||||
|             requests: |             requests: | ||||||
|   | |||||||
| @@ -19,10 +19,10 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: code-server |     alias: code-server | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|   - name: cloudflared |   - name: cloudflared | ||||||
|     alias: cloudflared |     alias: cloudflared | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
|     version: 1.22.1 |     version: 1.15.0 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/visual-studio-code.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/visual-studio-code.png | ||||||
| appVersion: 4.100.2 | appVersion: 4.100.2 | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ code-server: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/linuxserver/code-server |             repository: ghcr.io/linuxserver/code-server | ||||||
|             tag: 4.105.1@sha256:aea1f1c92e70b84204e928d73378e8782b3a23af73b419efff0ac7f39b6c73f2 |             tag: 4.100.3@sha256:d7f2668cc91adc8a2826be20a1e2d7782d1484c037725f827bb888d040cd9f68 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
|   | |||||||
| @@ -8,10 +8,12 @@ keywords: | |||||||
| home: https://wiki.alexlebens.dev/s/c2d242de-dcaa-4801-86a2-c4761dc8bf9b | home: https://wiki.alexlebens.dev/s/c2d242de-dcaa-4801-86a2-c4761dc8bf9b | ||||||
| sources: | sources: | ||||||
|   - https://github.com/directus/directus |   - https://github.com/directus/directus | ||||||
|  |   - https://github.com/valkey-io/valkey | ||||||
|   - https://github.com/cloudflare/cloudflared |   - https://github.com/cloudflare/cloudflared | ||||||
|   - https://github.com/cloudnative-pg/cloudnative-pg |   - https://github.com/cloudnative-pg/cloudnative-pg | ||||||
|   - https://hub.docker.com/r/directus/directus |   - https://hub.docker.com/r/directus/directus | ||||||
|   - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template |   - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template | ||||||
|  |   - https://github.com/bitnami/charts/tree/main/bitnami/valkey | ||||||
|   - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared |   - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared | ||||||
|   - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster |   - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster | ||||||
| maintainers: | maintainers: | ||||||
| @@ -20,14 +22,17 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: directus |     alias: directus | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|  |   - name: valkey | ||||||
|  |     version: 3.0.12 | ||||||
|  |     repository: oci://harbor.alexlebens.net/proxy-registry-1.docker.io/bitnamicharts | ||||||
|   - name: cloudflared |   - name: cloudflared | ||||||
|     alias: cloudflared-directus |     alias: cloudflared-directus | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
|     version: 1.22.1 |     version: 1.15.0 | ||||||
|   - name: postgres-cluster |   - name: postgres-cluster | ||||||
|     alias: postgres-17-cluster |     alias: postgres-17-cluster | ||||||
|     version: 6.14.0 |     version: 5.1.0 | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/directus.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/directus.png | ||||||
| appVersion: 11.7.2 | appVersion: 11.7.2 | ||||||
|   | |||||||
| @@ -68,10 +68,10 @@ spec: | |||||||
| apiVersion: external-secrets.io/v1 | apiVersion: external-secrets.io/v1 | ||||||
| kind: ExternalSecret | kind: ExternalSecret | ||||||
| metadata: | metadata: | ||||||
|   name: directus-redis-config |   name: directus-valkey-config | ||||||
|   namespace: {{ .Release.Namespace }} |   namespace: {{ .Release.Namespace }} | ||||||
|   labels: |   labels: | ||||||
|     app.kubernetes.io/name: directus-redis-config |     app.kubernetes.io/name: directus-valkey-config | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |     app.kubernetes.io/instance: {{ .Release.Name }} | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||||
| spec: | spec: | ||||||
| @@ -83,14 +83,14 @@ spec: | |||||||
|       remoteRef: |       remoteRef: | ||||||
|         conversionStrategy: Default |         conversionStrategy: Default | ||||||
|         decodingStrategy: None |         decodingStrategy: None | ||||||
|         key: /cl01tl/directus/redis |         key: /cl01tl/directus/valkey | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: user |         property: user | ||||||
|     - secretKey: password |     - secretKey: password | ||||||
|       remoteRef: |       remoteRef: | ||||||
|         conversionStrategy: Default |         conversionStrategy: Default | ||||||
|         decodingStrategy: None |         decodingStrategy: None | ||||||
|         key: /cl01tl/directus/redis |         key: /cl01tl/directus/valkey | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: password |         property: password | ||||||
|  |  | ||||||
| @@ -176,33 +176,3 @@ spec: | |||||||
|         key: /digital-ocean/home-infra/postgres-backups |         key: /digital-ocean/home-infra/postgres-backups | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: secret |         property: secret | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: external-secrets.io/v1 |  | ||||||
| kind: ExternalSecret |  | ||||||
| metadata: |  | ||||||
|   name: directus-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: directus-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   secretStoreRef: |  | ||||||
|     kind: ClusterSecretStore |  | ||||||
|     name: vault |  | ||||||
|   data: |  | ||||||
|     - secretKey: ACCESS_KEY_ID |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_KEY_ID |  | ||||||
|     - secretKey: ACCESS_SECRET_KEY |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_SECRET_KEY |  | ||||||
|   | |||||||
| @@ -1,35 +0,0 @@ | |||||||
| apiVersion: redis.redis.opstreelabs.in/v1beta2 |  | ||||||
| kind: RedisReplication |  | ||||||
| metadata: |  | ||||||
|   name: redis-replication-directus |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: redis-replication-directus |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   clusterSize: 3 |  | ||||||
|   podSecurityContext: |  | ||||||
|     runAsUser: 1000 |  | ||||||
|     fsGroup: 1000 |  | ||||||
|   kubernetesConfig: |  | ||||||
|     image: quay.io/opstree/redis:v8.2.1 |  | ||||||
|     imagePullPolicy: IfNotPresent |  | ||||||
|     redisSecret: |  | ||||||
|       name: directus-redis-config |  | ||||||
|       key: password |  | ||||||
|     resources: |  | ||||||
|       requests: |  | ||||||
|         cpu: 50m |  | ||||||
|         memory: 128Mi |  | ||||||
|   storage: |  | ||||||
|     volumeClaimTemplate: |  | ||||||
|       spec: |  | ||||||
|         storageClassName: ceph-block |  | ||||||
|         accessModes: ["ReadWriteOnce"] |  | ||||||
|         resources: |  | ||||||
|           requests: |  | ||||||
|             storage: 1Gi |  | ||||||
|   redisExporter: |  | ||||||
|     enabled: true |  | ||||||
|     image: quay.io/opstree/redis-exporter:v1.76.0 |  | ||||||
| @@ -1,30 +0,0 @@ | |||||||
| apiVersion: redis.redis.opstreelabs.in/v1beta2 |  | ||||||
| kind: RedisSentinel |  | ||||||
| metadata: |  | ||||||
|   name: redis-sentinel-directus |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: redis-sentinel-directus |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   clusterSize: 3 |  | ||||||
|   podSecurityContext: |  | ||||||
|     runAsUser: 1000 |  | ||||||
|     fsGroup: 1000 |  | ||||||
|   redisSentinelConfig: |  | ||||||
|     redisReplicationName: redis-replication-directus |  | ||||||
|     redisReplicationPassword: |  | ||||||
|       secretKeyRef: |  | ||||||
|         name: directus-redis-config |  | ||||||
|         key: password |  | ||||||
|   kubernetesConfig: |  | ||||||
|     image: quay.io/opstree/redis-sentinel:v7.0.15 |  | ||||||
|     imagePullPolicy: IfNotPresent |  | ||||||
|     redisSecret: |  | ||||||
|       name: directus-redis-config |  | ||||||
|       key: password |  | ||||||
|     resources: |  | ||||||
|       requests: |  | ||||||
|         cpu: 10m |  | ||||||
|         memory: 128Mi |  | ||||||
| @@ -20,24 +20,3 @@ spec: | |||||||
|       bearerTokenSecret: |       bearerTokenSecret: | ||||||
|         name: directus-metric-token |         name: directus-metric-token | ||||||
|         key: metric-token |         key: metric-token | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: monitoring.coreos.com/v1 |  | ||||||
| kind: ServiceMonitor |  | ||||||
| metadata: |  | ||||||
|   name: redis-replication-directus |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: redis-replication-directus |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
|     redis-operator: "true" |  | ||||||
|     env: production |  | ||||||
| spec: |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       redis_setup_type: replication |  | ||||||
|   endpoints: |  | ||||||
|     - port: redis-exporter |  | ||||||
|       interval: 30s |  | ||||||
|       scrapeTimeout: 10s |  | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ directus: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: directus/directus |             repository: directus/directus | ||||||
|             tag: 11.12.0 |             tag: 11.8.0 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: PUBLIC_URL |             - name: PUBLIC_URL | ||||||
| @@ -63,25 +63,21 @@ directus: | |||||||
|                 secretKeyRef: |                 secretKeyRef: | ||||||
|                   name: directus-postgresql-17-cluster-app |                   name: directus-postgresql-17-cluster-app | ||||||
|                   key: password |                   key: password | ||||||
|             - name: SYNCHRONIZATION_STORE |  | ||||||
|               value: redis |  | ||||||
|             - name: CACHE_ENABLED |  | ||||||
|               value: true |  | ||||||
|             - name: CACHE_STORE |  | ||||||
|               value: redis |  | ||||||
|             - name: REDIS_ENABLED |             - name: REDIS_ENABLED | ||||||
|               value: true |               value: true | ||||||
|             - name: REDIS_HOST |             - name: REDIS_HOST | ||||||
|               value: redis-replication-directus-master |               value: directus-valkey-primary | ||||||
|  |             - name: REDIS_PORT | ||||||
|  |               value: 6379 | ||||||
|             - name: REDIS_USERNAME |             - name: REDIS_USERNAME | ||||||
|               valueFrom: |               valueFrom: | ||||||
|                 secretKeyRef: |                 secretKeyRef: | ||||||
|                   name: directus-redis-config |                   name: directus-valkey-config | ||||||
|                   key: user |                   key: user | ||||||
|             - name: REDIS_PASSWORD |             - name: REDIS_PASSWORD | ||||||
|               valueFrom: |               valueFrom: | ||||||
|                 secretKeyRef: |                 secretKeyRef: | ||||||
|                   name: directus-redis-config |                   name: directus-valkey-config | ||||||
|                   key: password |                   key: password | ||||||
|             - name: STORAGE_LOCATIONS |             - name: STORAGE_LOCATIONS | ||||||
|               value: s3 |               value: s3 | ||||||
| @@ -153,11 +149,35 @@ directus: | |||||||
|           port: 80 |           port: 80 | ||||||
|           targetPort: 8055 |           targetPort: 8055 | ||||||
|           protocol: TCP |           protocol: TCP | ||||||
|  | valkey: | ||||||
|  |   architecture: replication | ||||||
|  |   auth: | ||||||
|  |     enabled: true | ||||||
|  |     existingSecret: directus-valkey-config | ||||||
|  |     existingSecretPasswordKey: password | ||||||
|  |     usePasswordFiles: false | ||||||
|  |   primary: | ||||||
|  |     resources: | ||||||
|  |       requests: | ||||||
|  |         cpu: 100m | ||||||
|  |         memory: 64Mi | ||||||
|  |     persistence: | ||||||
|  |       enabled: true | ||||||
|  |       size: 1Gi | ||||||
|  |   replica: | ||||||
|  |     replicaCount: 1 | ||||||
|  |     resources: | ||||||
|  |       requests: | ||||||
|  |         cpu: 100m | ||||||
|  |         memory: 64Mi | ||||||
|  |     persistence: | ||||||
|  |       enabled: true | ||||||
|  |       size: 1Gi | ||||||
| cloudflared-directus: | cloudflared-directus: | ||||||
|   name: cloudflared-directus |   name: cloudflared-directus | ||||||
|   existingSecretName: directus-cloudflared-secret |   existingSecretName: directus-cloudflared-secret | ||||||
| postgres-17-cluster: | postgres-17-cluster: | ||||||
|   mode: recovery |   mode: standalone | ||||||
|   cluster: |   cluster: | ||||||
|     storage: |     storage: | ||||||
|       storageClass: local-path |       storageClass: local-path | ||||||
| @@ -170,30 +190,13 @@ postgres-17-cluster: | |||||||
|   recovery: |   recovery: | ||||||
|     method: objectStore |     method: objectStore | ||||||
|     objectStore: |     objectStore: | ||||||
|  |       endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/directus/directus-postgresql-17-cluster |       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/directus/directus-postgresql-17-cluster | ||||||
|       index: 1 |       endpointCredentials: directus-postgresql-17-cluster-backup-secret | ||||||
|  |       recoveryIndex: 2 | ||||||
|   backup: |   backup: | ||||||
|     objectStore: |     enabled: true | ||||||
|       - name: external |     endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/directus/directus-postgresql-17-cluster |     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/directus/directus-postgresql-17-cluster | ||||||
|         index: 1 |     endpointCredentials: directus-postgresql-17-cluster-backup-secret | ||||||
|         retentionPolicy: "2d" |     backupIndex: 2 | ||||||
|         isWALArchiver: true |  | ||||||
|       # - name: garage |  | ||||||
|       #   destinationPath: s3://postgres-backups/cl01tl/directus/directus-postgresql-17-cluster |  | ||||||
|       #   index: 1 |  | ||||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 |  | ||||||
|       #   endpointCredentials: directus-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|       #   retentionPolicy: "30d" |  | ||||||
|       #   data: |  | ||||||
|       #     compression: bzip2 |  | ||||||
|       #     jobs: 2 |  | ||||||
|     scheduledBackups: |  | ||||||
|       - name: daily-backup |  | ||||||
|         suspend: false |  | ||||||
|         schedule: "0 0 0 * * *" |  | ||||||
|         backupName: external |  | ||||||
|       # - name: weekly-backup |  | ||||||
|       #   suspend: false |  | ||||||
|       #   schedule: "0 0 4 * * SAT" |  | ||||||
|       #   backupName: garage |  | ||||||
|   | |||||||
							
								
								
									
										21
									
								
								clusters/cl01tl/applications/eigenfocus/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								clusters/cl01tl/applications/eigenfocus/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | |||||||
|  | apiVersion: v2 | ||||||
|  | name: eigenfocus | ||||||
|  | version: 1.0.0 | ||||||
|  | description: Eigenfocus | ||||||
|  | keywords: | ||||||
|  |   - eigenfocus | ||||||
|  |   - projects | ||||||
|  | home: https://wiki.alexlebens.dev/s/82548c75-cefe-4ad2-b60c-0b101127c31b | ||||||
|  | sources: | ||||||
|  |   - https://github.com/Eigenfocus/eigenfocus | ||||||
|  |   - https://hub.docker.com/r/eigenfocus/eigenfocus | ||||||
|  |   - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template | ||||||
|  | maintainers: | ||||||
|  |   - name: alexlebens | ||||||
|  | dependencies: | ||||||
|  |   - name: app-template | ||||||
|  |     alias: eigenfocus | ||||||
|  |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|  |     version: 4.0.1 | ||||||
|  | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/eigenfocus.png | ||||||
|  | appVersion: 1.1.0 | ||||||
| @@ -0,0 +1,55 @@ | |||||||
|  | apiVersion: external-secrets.io/v1 | ||||||
|  | kind: ExternalSecret | ||||||
|  | metadata: | ||||||
|  |   name: eigenfocus-data-backup-secret | ||||||
|  |   namespace: {{ .Release.Namespace }} | ||||||
|  |   labels: | ||||||
|  |     app.kubernetes.io/name: eigenfocus-data-backup-secret | ||||||
|  |     app.kubernetes.io/instance: {{ .Release.Name }} | ||||||
|  |     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||||
|  | spec: | ||||||
|  |   secretStoreRef: | ||||||
|  |     kind: ClusterSecretStore | ||||||
|  |     name: vault | ||||||
|  |   target: | ||||||
|  |     template: | ||||||
|  |       mergePolicy: Merge | ||||||
|  |       engineVersion: v2 | ||||||
|  |       data: | ||||||
|  |         RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/eigenfocus/eigenfocus-data" | ||||||
|  |   data: | ||||||
|  |     - secretKey: BUCKET_ENDPOINT | ||||||
|  |       remoteRef: | ||||||
|  |         conversionStrategy: Default | ||||||
|  |         decodingStrategy: None | ||||||
|  |         key: /cl01tl/volsync/restic/config | ||||||
|  |         metadataPolicy: None | ||||||
|  |         property: S3_BUCKET_ENDPOINT | ||||||
|  |     - secretKey: RESTIC_PASSWORD | ||||||
|  |       remoteRef: | ||||||
|  |         conversionStrategy: Default | ||||||
|  |         decodingStrategy: None | ||||||
|  |         key: /cl01tl/volsync/restic/config | ||||||
|  |         metadataPolicy: None | ||||||
|  |         property: RESTIC_PASSWORD | ||||||
|  |     - secretKey: AWS_DEFAULT_REGION | ||||||
|  |       remoteRef: | ||||||
|  |         conversionStrategy: Default | ||||||
|  |         decodingStrategy: None | ||||||
|  |         key: /cl01tl/volsync/restic/config | ||||||
|  |         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: access_key | ||||||
|  |     - secretKey: AWS_SECRET_ACCESS_KEY | ||||||
|  |       remoteRef: | ||||||
|  |         conversionStrategy: Default | ||||||
|  |         decodingStrategy: None | ||||||
|  |         key: /digital-ocean/home-infra/volsync-backups | ||||||
|  |         metadataPolicy: None | ||||||
|  |         property: secret_key | ||||||
| @@ -0,0 +1,28 @@ | |||||||
|  | apiVersion: gateway.networking.k8s.io/v1 | ||||||
|  | kind: HTTPRoute | ||||||
|  | metadata: | ||||||
|  |   name: http-route-eigenfocus | ||||||
|  |   namespace: {{ .Release.Namespace }} | ||||||
|  |   labels: | ||||||
|  |     app.kubernetes.io/name: http-route-eigenfocus | ||||||
|  |     app.kubernetes.io/instance: {{ .Release.Name }} | ||||||
|  |     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||||
|  | spec: | ||||||
|  |   parentRefs: | ||||||
|  |     - group: gateway.networking.k8s.io | ||||||
|  |       kind: Gateway | ||||||
|  |       name: traefik-gateway | ||||||
|  |       namespace: traefik | ||||||
|  |   hostnames: | ||||||
|  |     - eigenfocus.alexlebens.net | ||||||
|  |   rules: | ||||||
|  |     - matches: | ||||||
|  |       - path: | ||||||
|  |           type: PathPrefix | ||||||
|  |           value: / | ||||||
|  |       backendRefs: | ||||||
|  |         - group: '' | ||||||
|  |           kind: Service | ||||||
|  |           name: eigenfocus | ||||||
|  |           port: 80 | ||||||
|  |           weight: 100 | ||||||
| @@ -0,0 +1,25 @@ | |||||||
|  | apiVersion: volsync.backube/v1alpha1 | ||||||
|  | kind: ReplicationSource | ||||||
|  | metadata: | ||||||
|  |   name: eigenfocus-data-backup-source | ||||||
|  |   namespace: {{ .Release.Namespace }} | ||||||
|  |   labels: | ||||||
|  |     app.kubernetes.io/name: eigenfocus-data-backup-source | ||||||
|  |     app.kubernetes.io/instance: {{ .Release.Name }} | ||||||
|  |     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||||
|  | spec: | ||||||
|  |   sourcePVC: eigenfocus-data | ||||||
|  |   trigger: | ||||||
|  |     schedule: 0 4 * * * | ||||||
|  |   restic: | ||||||
|  |     pruneIntervalDays: 7 | ||||||
|  |     repository: eigenfocus-data-backup-secret | ||||||
|  |     retain: | ||||||
|  |       hourly: 1 | ||||||
|  |       daily: 3 | ||||||
|  |       weekly: 2 | ||||||
|  |       monthly: 2 | ||||||
|  |       yearly: 4 | ||||||
|  |     copyMethod: Snapshot | ||||||
|  |     storageClassName: ceph-block | ||||||
|  |     volumeSnapshotClassName: ceph-blockpool-snapshot | ||||||
							
								
								
									
										40
									
								
								clusters/cl01tl/applications/eigenfocus/values.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								clusters/cl01tl/applications/eigenfocus/values.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | |||||||
|  | eigenfocus: | ||||||
|  |   controllers: | ||||||
|  |     main: | ||||||
|  |       type: deployment | ||||||
|  |       replicas: 1 | ||||||
|  |       strategy: Recreate | ||||||
|  |       revisionHistoryLimit: 3 | ||||||
|  |       containers: | ||||||
|  |         main: | ||||||
|  |           image: | ||||||
|  |             repository: eigenfocus/eigenfocus | ||||||
|  |             tag: 1.1.0-free | ||||||
|  |             pullPolicy: IfNotPresent | ||||||
|  |           env: | ||||||
|  |             - name: DEFAULT_HOST_URL | ||||||
|  |               value: https://eigenfocus.alexlebens.net | ||||||
|  |           resources: | ||||||
|  |             requests: | ||||||
|  |               cpu: 10m | ||||||
|  |               memory: 128Mi | ||||||
|  |   service: | ||||||
|  |     main: | ||||||
|  |       controller: main | ||||||
|  |       ports: | ||||||
|  |         http: | ||||||
|  |           port: 80 | ||||||
|  |           targetPort: 3000 | ||||||
|  |           protocol: HTTP | ||||||
|  |   persistence: | ||||||
|  |     data: | ||||||
|  |       forceRename: eigenfocus-data | ||||||
|  |       storageClass: ceph-block | ||||||
|  |       accessMode: ReadWriteOnce | ||||||
|  |       size: 2Gi | ||||||
|  |       retain: true | ||||||
|  |       advancedMounts: | ||||||
|  |         main: | ||||||
|  |           main: | ||||||
|  |             - path: /eigenfocus-app/app-data | ||||||
|  |               readOnly: false | ||||||
| @@ -17,11 +17,11 @@ maintainers: | |||||||
|   - name: alexlebens |   - name: alexlebens | ||||||
| dependencies: | dependencies: | ||||||
|   - name: element-web |   - name: element-web | ||||||
|     version: 1.4.22 |     version: 1.4.12 | ||||||
|     repository: https://ananace.gitlab.io/charts |     repository: https://ananace.gitlab.io/charts | ||||||
|   - name: cloudflared |   - name: cloudflared | ||||||
|     alias: cloudflared |     alias: cloudflared | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
|     version: 1.22.1 |     version: 1.15.0 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/element.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/element.png | ||||||
| appVersion: v1.11.100 | appVersion: v1.11.100 | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ element-web: | |||||||
|   replicaCount: 1 |   replicaCount: 1 | ||||||
|   image: |   image: | ||||||
|     repository: vectorim/element-web |     repository: vectorim/element-web | ||||||
|     tag: v1.12.2 |     tag: v1.11.103 | ||||||
|     pullPolicy: IfNotPresent |     pullPolicy: IfNotPresent | ||||||
|   defaultServer: |   defaultServer: | ||||||
|     url: https://matrix.alexlebens.dev |     url: https://matrix.alexlebens.dev | ||||||
| @@ -12,8 +12,8 @@ element-web: | |||||||
|     disable_3pid_login: true |     disable_3pid_login: true | ||||||
|     brand: "Alex Lebens" |     brand: "Alex Lebens" | ||||||
|     branding: |     branding: | ||||||
|       welcome_background_url: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/background-5.png |       welcome_background_url: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/background-4.jpg | ||||||
|       auth_header_logo_url: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/logo-new-round.png |       auth_header_logo_url: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/icon_white.png | ||||||
|     sso_redirect_options: |     sso_redirect_options: | ||||||
|       immediate: true |       immediate: true | ||||||
|     default_theme: dark |     default_theme: dark | ||||||
|   | |||||||
| @@ -20,14 +20,14 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: freshrss |     alias: freshrss | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|   - name: cloudflared |   - name: cloudflared | ||||||
|     alias: cloudflared |     alias: cloudflared | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
|     version: 1.22.1 |     version: 1.15.0 | ||||||
|   - name: postgres-cluster |   - name: postgres-cluster | ||||||
|     alias: postgres-17-cluster |     alias: postgres-17-cluster | ||||||
|     version: 6.14.0 |     version: 5.1.0 | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/freshrss.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/freshrss.png | ||||||
| appVersion: 1.26.2 | appVersion: 1.26.2 | ||||||
|   | |||||||
| @@ -180,33 +180,3 @@ spec: | |||||||
|         key: /digital-ocean/home-infra/postgres-backups |         key: /digital-ocean/home-infra/postgres-backups | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: secret |         property: secret | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: external-secrets.io/v1 |  | ||||||
| kind: ExternalSecret |  | ||||||
| metadata: |  | ||||||
|   name: freshrss-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: freshrss-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   secretStoreRef: |  | ||||||
|     kind: ClusterSecretStore |  | ||||||
|     name: vault |  | ||||||
|   data: |  | ||||||
|     - secretKey: ACCESS_KEY_ID |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_KEY_ID |  | ||||||
|     - secretKey: ACCESS_SECRET_KEY |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_SECRET_KEY |  | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ freshrss: | |||||||
|             runAsUser: 0 |             runAsUser: 0 | ||||||
|           image: |           image: | ||||||
|             repository: alpine |             repository: alpine | ||||||
|             tag: 3.22.2 |             tag: 3.22.0 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           command: |           command: | ||||||
|             - /bin/sh |             - /bin/sh | ||||||
| @@ -35,7 +35,7 @@ freshrss: | |||||||
|             runAsUser: 0 |             runAsUser: 0 | ||||||
|           image: |           image: | ||||||
|             repository: alpine |             repository: alpine | ||||||
|             tag: 3.22.2 |             tag: 3.22.0 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           command: |           command: | ||||||
|             - /bin/sh |             - /bin/sh | ||||||
| @@ -49,29 +49,7 @@ freshrss: | |||||||
|               git checkout; |               git checkout; | ||||||
|               rm -rf /var/www/FreshRSS/extensions/xExtension-ImageProxy |               rm -rf /var/www/FreshRSS/extensions/xExtension-ImageProxy | ||||||
|               cp -r xExtension-ImageProxy /var/www/FreshRSS/extensions |               cp -r xExtension-ImageProxy /var/www/FreshRSS/extensions | ||||||
|               chown -R 568:568 /var/www/FreshRSS/extensions/xExtension-ImageProxy |               chown -R 568:568 /var/www/FreshRSS/extensions/xExtension-YouTubeChannel2RssFeed | ||||||
|           resources: |  | ||||||
|             requests: |  | ||||||
|               cpu: 10m |  | ||||||
|               memory: 128Mi |  | ||||||
|         init-download-extension-3: |  | ||||||
|           securityContext: |  | ||||||
|             runAsUser: 0 |  | ||||||
|           image: |  | ||||||
|             repository: alpine |  | ||||||
|             tag: 3.22.2 |  | ||||||
|             pullPolicy: IfNotPresent |  | ||||||
|           command: |  | ||||||
|             - /bin/sh |  | ||||||
|             - -ec |  | ||||||
|             - | |  | ||||||
|               cd /tmp; |  | ||||||
|               wget https://github.com/zimmra/xExtension-karakeep-button/archive/refs/tags/v1.1.tar.gz; |  | ||||||
|               tar -xvzf *.tar.gz; |  | ||||||
|               rm -rf /var/www/FreshRSS/extensions/xExtension-karakeep-button |  | ||||||
|               mkdir /var/www/FreshRSS/extensions/xExtension-karakeep-button |  | ||||||
|               cp -r /tmp/xExtension-karakeep-button-*/* /var/www/FreshRSS/extensions/xExtension-karakeep-button |  | ||||||
|               chown -R 568:568 /var/www/FreshRSS/extensions/xExtension-karakeep-button |  | ||||||
|           resources: |           resources: | ||||||
|             requests: |             requests: | ||||||
|               cpu: 10m |               cpu: 10m | ||||||
| @@ -80,7 +58,7 @@ freshrss: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: freshrss/freshrss |             repository: freshrss/freshrss | ||||||
|             tag: 1.27.1 |             tag: 1.26.3 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: PGID |             - name: PGID | ||||||
| @@ -185,16 +163,13 @@ freshrss: | |||||||
|           init-download-extension-2: |           init-download-extension-2: | ||||||
|             - path: /var/www/FreshRSS/extensions |             - path: /var/www/FreshRSS/extensions | ||||||
|               readOnly: false |               readOnly: false | ||||||
|           init-download-extension-3: |  | ||||||
|             - path: /var/www/FreshRSS/extensions |  | ||||||
|               readOnly: false |  | ||||||
|           main: |           main: | ||||||
|             - path: /var/www/FreshRSS/extensions |             - path: /var/www/FreshRSS/extensions | ||||||
|               readOnly: false |               readOnly: false | ||||||
| cloudflared: | cloudflared: | ||||||
|   existingSecretName: freshrss-cloudflared-secret |   existingSecretName: freshrss-cloudflared-secret | ||||||
| postgres-17-cluster: | postgres-17-cluster: | ||||||
|   mode: recovery |   mode: standalone | ||||||
|   cluster: |   cluster: | ||||||
|     storage: |     storage: | ||||||
|       storageClass: local-path |       storageClass: local-path | ||||||
| @@ -207,30 +182,13 @@ postgres-17-cluster: | |||||||
|   recovery: |   recovery: | ||||||
|     method: objectStore |     method: objectStore | ||||||
|     objectStore: |     objectStore: | ||||||
|  |       endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/freshrss/freshrss-postgresql-17-cluster |       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/freshrss/freshrss-postgresql-17-cluster | ||||||
|       index: 1 |       endpointCredentials: freshrss-postgresql-17-cluster-backup-secret | ||||||
|  |       recoveryIndex: 3 | ||||||
|   backup: |   backup: | ||||||
|     objectStore: |     enabled: true | ||||||
|       - name: external |     endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/freshrss/freshrss-postgresql-17-cluster |     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/freshrss/freshrss-postgresql-17-cluster | ||||||
|         index: 1 |     endpointCredentials: freshrss-postgresql-17-cluster-backup-secret | ||||||
|         retentionPolicy: "2d" |     backupIndex: 3 | ||||||
|         isWALArchiver: true |  | ||||||
|       # - name: garage |  | ||||||
|       #   destinationPath: s3://postgres-backups/cl01tl/freshrss/freshrss-postgresql-17-cluster |  | ||||||
|       #   index: 1 |  | ||||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 |  | ||||||
|       #   endpointCredentials: freshrss-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|       #   retentionPolicy: "30d" |  | ||||||
|       #   data: |  | ||||||
|       #     compression: bzip2 |  | ||||||
|       #     jobs: 2 |  | ||||||
|     scheduledBackups: |  | ||||||
|       - name: daily-backup |  | ||||||
|         suspend: false |  | ||||||
|         schedule: "0 0 0 * * *" |  | ||||||
|         backupName: external |  | ||||||
|       # - name: weekly-backup |  | ||||||
|       #   suspend: false |  | ||||||
|       #   schedule: "0 2 4 * * SAT" |  | ||||||
|       #   backupName: garage |  | ||||||
|   | |||||||
| @@ -1,8 +1,9 @@ | |||||||
| apiVersion: v2 | apiVersion: v2 | ||||||
| name: karakeep | name: hoarder | ||||||
| version: 1.0.0 | version: 1.0.0 | ||||||
| description: Karakeep | description: Karakeep | ||||||
| keywords: | keywords: | ||||||
|  |   - hoarder | ||||||
|   - karakeep |   - karakeep | ||||||
|   - bookmarks |   - bookmarks | ||||||
| home: https://wiki.alexlebens.dev/s/f8177591-8253-4e21-82d5-a556f0aeafad | home: https://wiki.alexlebens.dev/s/f8177591-8253-4e21-82d5-a556f0aeafad | ||||||
| @@ -18,15 +19,15 @@ maintainers: | |||||||
|   - name: alexlebens |   - name: alexlebens | ||||||
| dependencies: | dependencies: | ||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: karakeep |     alias: hoarder | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|   - name: meilisearch |   - name: meilisearch | ||||||
|     version: 0.17.1 |     version: 0.14.0 | ||||||
|     repository: https://meilisearch.github.io/meilisearch-kubernetes |     repository: https://meilisearch.github.io/meilisearch-kubernetes | ||||||
|   - name: cloudflared |   - name: cloudflared | ||||||
|     alias: cloudflared |     alias: cloudflared | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
|     version: 1.22.1 |     version: 1.15.0 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/webp/karakeep.webp | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/webp/karakeep.webp | ||||||
| appVersion: 0.26.0 | appVersion: 0.24.1 | ||||||
| @@ -19,13 +19,6 @@ spec: | |||||||
|         key: /cl01tl/karakeep/key |         key: /cl01tl/karakeep/key | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: key |         property: key | ||||||
|     - secretKey: prometheus-token |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /cl01tl/karakeep/key |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: prometheus-token |  | ||||||
| 
 | 
 | ||||||
| --- | --- | ||||||
| apiVersion: external-secrets.io/v1 | apiVersion: external-secrets.io/v1 | ||||||
| @@ -107,10 +100,10 @@ spec: | |||||||
| apiVersion: external-secrets.io/v1 | apiVersion: external-secrets.io/v1 | ||||||
| kind: ExternalSecret | kind: ExternalSecret | ||||||
| metadata: | metadata: | ||||||
|   name: karakeep-data-backup-secret |   name: hoarder-data-backup-secret | ||||||
|   namespace: {{ .Release.Namespace }} |   namespace: {{ .Release.Namespace }} | ||||||
|   labels: |   labels: | ||||||
|     app.kubernetes.io/name: karakeep-data-backup-secret |     app.kubernetes.io/name: hoarder-data-backup-secret | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |     app.kubernetes.io/instance: {{ .Release.Name }} | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||||
| spec: | spec: | ||||||
| @@ -122,7 +115,7 @@ spec: | |||||||
|       mergePolicy: Merge |       mergePolicy: Merge | ||||||
|       engineVersion: v2 |       engineVersion: v2 | ||||||
|       data: |       data: | ||||||
|         RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/karakeep/karakeep-data" |         RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/hoarder/hoarder-data" | ||||||
|   data: |   data: | ||||||
|     - secretKey: BUCKET_ENDPOINT |     - secretKey: BUCKET_ENDPOINT | ||||||
|       remoteRef: |       remoteRef: | ||||||
| @@ -1,19 +1,19 @@ | |||||||
| apiVersion: volsync.backube/v1alpha1 | apiVersion: volsync.backube/v1alpha1 | ||||||
| kind: ReplicationSource | kind: ReplicationSource | ||||||
| metadata: | metadata: | ||||||
|   name: karakeep-data-backup-source |   name: hoarder-data-backup-source | ||||||
|   namespace: {{ .Release.Namespace }} |   namespace: {{ .Release.Namespace }} | ||||||
|   labels: |   labels: | ||||||
|     app.kubernetes.io/name: karakeep-data-backup-source |     app.kubernetes.io/name: hoarder-data-backup-source | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |     app.kubernetes.io/instance: {{ .Release.Name }} | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||||
| spec: | spec: | ||||||
|   sourcePVC: karakeep-data |   sourcePVC: hoarder-data | ||||||
|   trigger: |   trigger: | ||||||
|     schedule: 0 4 * * * |     schedule: 0 4 * * * | ||||||
|   restic: |   restic: | ||||||
|     pruneIntervalDays: 7 |     pruneIntervalDays: 7 | ||||||
|     repository: karakeep-data-backup-secret |     repository: hoarder-data-backup-secret | ||||||
|     retain: |     retain: | ||||||
|       hourly: 1 |       hourly: 1 | ||||||
|       daily: 3 |       daily: 3 | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| karakeep: | hoarder: | ||||||
|   controllers: |   controllers: | ||||||
|     main: |     main: | ||||||
|       type: deployment |       type: deployment | ||||||
| @@ -9,13 +9,11 @@ karakeep: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/karakeep-app/karakeep |             repository: ghcr.io/karakeep-app/karakeep | ||||||
|             tag: 0.27.1 |             tag: 0.25.0 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: DATA_DIR |             - name: DATA_DIR | ||||||
|               value: /data |               value: /data | ||||||
|             - name: DB_WAL_MODE |  | ||||||
|               value: true |  | ||||||
|             - name: NEXTAUTH_URL |             - name: NEXTAUTH_URL | ||||||
|               value: https://karakeep.alexlebens.dev/ |               value: https://karakeep.alexlebens.dev/ | ||||||
|             - name: NEXTAUTH_SECRET |             - name: NEXTAUTH_SECRET | ||||||
| @@ -23,41 +21,15 @@ karakeep: | |||||||
|                 secretKeyRef: |                 secretKeyRef: | ||||||
|                   name: karakeep-key-secret |                   name: karakeep-key-secret | ||||||
|                   key: key |                   key: key | ||||||
|             - name: PROMETHEUS_AUTH_TOKEN |  | ||||||
|               valueFrom: |  | ||||||
|                 secretKeyRef: |  | ||||||
|                   name: karakeep-key-secret |  | ||||||
|                   key: prometheus-token |  | ||||||
|             - name: ASSET_STORE_S3_ENDPOINT |  | ||||||
|               value: http://rook-ceph-rgw-ceph-objectstore.rook-ceph.svc:80 |  | ||||||
|             - name: ASSET_STORE_S3_REGION |  | ||||||
|               value: us-east-1 |  | ||||||
|             - name: ASSET_STORE_S3_BUCKET |  | ||||||
|               valueFrom: |  | ||||||
|                 configMapKeyRef: |  | ||||||
|                   name: ceph-bucket-karakeep |  | ||||||
|                   key: BUCKET_NAME |  | ||||||
|             - name: ASSET_STORE_S3_ACCESS_KEY_ID |  | ||||||
|               valueFrom: |  | ||||||
|                 secretKeyRef: |  | ||||||
|                   name: ceph-bucket-karakeep |  | ||||||
|                   key: AWS_ACCESS_KEY_ID |  | ||||||
|             - name: ASSET_STORE_S3_SECRET_ACCESS_KEY |  | ||||||
|               valueFrom: |  | ||||||
|                 secretKeyRef: |  | ||||||
|                   name: ceph-bucket-karakeep |  | ||||||
|                   key: AWS_SECRET_ACCESS_KEY |  | ||||||
|             - name: ASSET_STORE_S3_FORCE_PATH_STYLE |  | ||||||
|               value: true |  | ||||||
|             - name: MEILI_ADDR |             - name: MEILI_ADDR | ||||||
|               value: http://karakeep-meilisearch.karakeep:7700 |               value: http://hoarder-meilisearch.hoarder:7700 | ||||||
|             - name: MEILI_MASTER_KEY |             - name: MEILI_MASTER_KEY | ||||||
|               valueFrom: |               valueFrom: | ||||||
|                 secretKeyRef: |                 secretKeyRef: | ||||||
|                   name: karakeep-meilisearch-master-key-secret |                   name: karakeep-meilisearch-master-key-secret | ||||||
|                   key: MEILI_MASTER_KEY |                   key: MEILI_MASTER_KEY | ||||||
|             - name: BROWSER_WEB_URL |             - name: BROWSER_WEB_URL | ||||||
|               value: http://karakeep.karakeep:9222 |               value: http://hoarder.hoarder:9222 | ||||||
|             - name: DISABLE_SIGNUPS |             - name: DISABLE_SIGNUPS | ||||||
|               value: false |               value: false | ||||||
|             - name: OAUTH_PROVIDER_NAME |             - name: OAUTH_PROVIDER_NAME | ||||||
| @@ -77,13 +49,13 @@ karakeep: | |||||||
|                   name: karakeep-oidc-secret |                   name: karakeep-oidc-secret | ||||||
|                   key: AUTHENTIK_CLIENT_SECRET |                   key: AUTHENTIK_CLIENT_SECRET | ||||||
|             - name: OLLAMA_BASE_URL |             - name: OLLAMA_BASE_URL | ||||||
|               value: http://ollama-server-3.ollama:11434 |               value: http://ollama-server-1.ollama:11434 | ||||||
|             - name: OLLAMA_KEEP_ALIVE |             - name: OLLAMA_KEEP_ALIVE | ||||||
|               value: 5m |               value: 5m | ||||||
|             - name: INFERENCE_TEXT_MODEL |             - name: INFERENCE_TEXT_MODEL | ||||||
|               value: gemma3:4b |               value: llama3.1:8b | ||||||
|             - name: INFERENCE_IMAGE_MODEL |             - name: INFERENCE_IMAGE_MODEL | ||||||
|               value: granite3.2-vision:2b |               value: llama3.2-vision:11b | ||||||
|             - name: EMBEDDING_TEXT_MODEL |             - name: EMBEDDING_TEXT_MODEL | ||||||
|               value: mxbai-embed-large |               value: mxbai-embed-large | ||||||
|             - name: INFERENCE_JOB_TIMEOUT_SEC |             - name: INFERENCE_JOB_TIMEOUT_SEC | ||||||
| @@ -122,6 +94,7 @@ karakeep: | |||||||
|           protocol: HTTP |           protocol: HTTP | ||||||
|   persistence: |   persistence: | ||||||
|     data: |     data: | ||||||
|  |       forceRename: hoarder-data | ||||||
|       storageClass: ceph-block |       storageClass: ceph-block | ||||||
|       accessMode: ReadWriteOnce |       accessMode: ReadWriteOnce | ||||||
|       size: 10Gi |       size: 10Gi | ||||||
| @@ -18,6 +18,6 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: home-assistant |     alias: home-assistant | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/home-assistant.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/home-assistant.png | ||||||
| appVersion: 2025.5.2 | appVersion: 2025.5.2 | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ home-assistant: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/home-assistant/home-assistant |             repository: ghcr.io/home-assistant/home-assistant | ||||||
|             tag: 2025.10.4 |             tag: 2025.5.3 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
| @@ -21,7 +21,7 @@ home-assistant: | |||||||
|         code-server: |         code-server: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/linuxserver/code-server |             repository: ghcr.io/linuxserver/code-server | ||||||
|             tag: 4.105.1@sha256:aea1f1c92e70b84204e928d73378e8782b3a23af73b419efff0ac7f39b6c73f2 |             tag: 4.100.3@sha256:d7f2668cc91adc8a2826be20a1e2d7782d1484c037725f827bb888d040cd9f68 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
|   | |||||||
| @@ -18,10 +18,10 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: homepage |     alias: homepage | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|   - name: cloudflared |   - name: cloudflared | ||||||
|     alias: cloudflared |     alias: cloudflared | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
|     version: 1.22.1 |     version: 1.15.0 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/homepage.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/homepage.png | ||||||
| appVersion: v1.2.0 | appVersion: v1.2.0 | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ homepage: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/gethomepage/homepage |             repository: ghcr.io/gethomepage/homepage | ||||||
|             tag: v1.5.0 |             tag: v1.3.2 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: HOMEPAGE_ALLOWED_HOSTS |             - name: HOMEPAGE_ALLOWED_HOSTS | ||||||
| @@ -27,18 +27,18 @@ homepage: | |||||||
|         docker.yaml: "" |         docker.yaml: "" | ||||||
|         kubernetes.yaml: "" |         kubernetes.yaml: "" | ||||||
|         settings.yaml: | |         settings.yaml: | | ||||||
|           favicon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/logo-new-round.svg |           favicon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/icon_white.png | ||||||
|           headerStyle: clean |           headerStyle: clean | ||||||
|           hideVersion: true |           hideVersion: true | ||||||
|           color: zinc |           color: zinc | ||||||
|           background: |           background: | ||||||
|             image: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/background-5.png |             image: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/background-4.jpg | ||||||
|             brightness: 50 |             brightness: 50 | ||||||
|           theme: dark |           theme: dark | ||||||
|           disableCollapse: true |           disableCollapse: true | ||||||
|         widgets.yaml: | |         widgets.yaml: | | ||||||
|           - logo: |           - logo: | ||||||
|               icon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/logo-new-round.png |               icon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/icon_white.png | ||||||
|           - datetime: |           - datetime: | ||||||
|               text_size: xl |               text_size: xl | ||||||
|               format: |               format: | ||||||
| @@ -75,7 +75,7 @@ homepage: | |||||||
|                   siteMonitor: https://codeserver.alexlebens.dev |                   siteMonitor: https://codeserver.alexlebens.dev | ||||||
|                   statusStyle: dot |                   statusStyle: dot | ||||||
|               - Site: |               - Site: | ||||||
|                   icon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/logo-new-round.png |                   icon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/icon_white.png | ||||||
|                   description: Profile Website |                   description: Profile Website | ||||||
|                   href: https://www.alexlebens.dev |                   href: https://www.alexlebens.dev | ||||||
|                   siteMonitor: https://www.alexlebens.dev |                   siteMonitor: https://www.alexlebens.dev | ||||||
|   | |||||||
| @@ -16,6 +16,6 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: homepage |     alias: homepage | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/homepage.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/homepage.png | ||||||
| appVersion: v1.2.0 | appVersion: v1.2.0 | ||||||
|   | |||||||
| @@ -28,19 +28,3 @@ metadata: | |||||||
| spec: | spec: | ||||||
|   externalName: placeholder |   externalName: placeholder | ||||||
|   type: ExternalName |   type: ExternalName | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: Service |  | ||||||
| metadata: |  | ||||||
|   name: garage-ps10rp |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: garage-ps10rp |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
|   annotations: |  | ||||||
|     tailscale.com/tailnet-fqdn: garage-ps10rp.boreal-beaufort.ts.net |  | ||||||
| spec: |  | ||||||
|   externalName: placeholder |  | ||||||
|   type: ExternalName |  | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ homepage: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/gethomepage/homepage |             repository: ghcr.io/gethomepage/homepage | ||||||
|             tag: v1.5.0 |             tag: v1.3.2 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: HOMEPAGE_ALLOWED_HOSTS |             - name: HOMEPAGE_ALLOWED_HOSTS | ||||||
| @@ -39,12 +39,12 @@ homepage: | |||||||
|         kubernetes.yaml: | |         kubernetes.yaml: | | ||||||
|           mode: cluster |           mode: cluster | ||||||
|         settings.yaml: | |         settings.yaml: | | ||||||
|           favicon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/logo-new-round.svg |           favicon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/icon_white.png | ||||||
|           headerStyle: clean |           headerStyle: clean | ||||||
|           hideVersion: true |           hideVersion: true | ||||||
|           color: zinc |           color: zinc | ||||||
|           background: |           background: | ||||||
|             image: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/background-5.png |             image: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/background-4.jpg | ||||||
|             brightness: 50 |             brightness: 50 | ||||||
|           theme: dark |           theme: dark | ||||||
|           disableCollapse: true |           disableCollapse: true | ||||||
| @@ -99,7 +99,7 @@ homepage: | |||||||
|                 icon: mdi-cloud-#ffffff |                 icon: mdi-cloud-#ffffff | ||||||
|         widgets.yaml: | |         widgets.yaml: | | ||||||
|           - logo: |           - logo: | ||||||
|               icon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/logo-new-round.png |               icon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/icon_white.png | ||||||
|           - kubernetes: |           - kubernetes: | ||||||
|               cluster: |               cluster: | ||||||
|                 show: true |                 show: true | ||||||
| @@ -132,21 +132,21 @@ homepage: | |||||||
|                   href: https://plex.alexlebens.net |                   href: https://plex.alexlebens.net | ||||||
|                   siteMonitor: http://plex.plex:32400 |                   siteMonitor: http://plex.plex:32400 | ||||||
|                   statusStyle: dot |                   statusStyle: dot | ||||||
|               - Jellyfin: |  | ||||||
|                   icon: sh-jellyfin.webp |  | ||||||
|                   description: Media server |  | ||||||
|                   href: https://jellyfin.alexlebens.net |  | ||||||
|                   siteMonitor: http://jellyfin.jellyfin:80 |  | ||||||
|                   statusStyle: dot |  | ||||||
|               - Media Requests: |               - Media Requests: | ||||||
|                   icon: sh-overseerr.webp |                   icon: sh-overseerr.webp | ||||||
|                   description: Overseer |                   description: Overseer | ||||||
|                   href: https://overseerr.alexlebens.net |                   href: https://overseerr.alexlebens.net | ||||||
|                   siteMonitor: http://overseerr.overseerr:80 |                   siteMonitor: http://overseerr.overseerr:80 | ||||||
|                   statusStyle: dot |                   statusStyle: dot | ||||||
|               - Media Tracking: |               - Jellyfin: | ||||||
|  |                   icon: sh-jellyfin.webp | ||||||
|  |                   description: Media server | ||||||
|  |                   href: https://jellyfin.alexlebens.net | ||||||
|  |                   siteMonitor: http://jellyfin.jellyfin:80 | ||||||
|  |                   statusStyle: dot | ||||||
|  |               - Yamtrack: | ||||||
|                   icon: sh-yamtrack.webp |                   icon: sh-yamtrack.webp | ||||||
|                   description: Yamtrack |                   description: Watched Media Tracking | ||||||
|                   href: https://yamtrack.alexlebens.net |                   href: https://yamtrack.alexlebens.net | ||||||
|                   siteMonitor: http://yamtrack.yamtrack:80 |                   siteMonitor: http://yamtrack.yamtrack:80 | ||||||
|                   statusStyle: dot |                   statusStyle: dot | ||||||
| @@ -182,7 +182,7 @@ homepage: | |||||||
|                   statusStyle: dot |                   statusStyle: dot | ||||||
|           - Public: |           - Public: | ||||||
|               - Site: |               - Site: | ||||||
|                   icon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/logo-new-round.png |                   icon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/icon_white.png | ||||||
|                   description: Profile Website |                   description: Profile Website | ||||||
|                   href: https://www.alexlebens.dev |                   href: https://www.alexlebens.dev | ||||||
|                   siteMonitor: https://www.alexlebens.dev |                   siteMonitor: https://www.alexlebens.dev | ||||||
| @@ -242,6 +242,12 @@ homepage: | |||||||
|                   href: https://actual.alexlebens.net |                   href: https://actual.alexlebens.net | ||||||
|                   siteMonitor: http://actual.actual:80 |                   siteMonitor: http://actual.actual:80 | ||||||
|                   statusStyle: dot |                   statusStyle: dot | ||||||
|  |               - Project Management: | ||||||
|  |                   icon: sh-eigenfocus.webp | ||||||
|  |                   description: Eigenfocus | ||||||
|  |                   href: https://eigenfocus.alexlebens.net | ||||||
|  |                   siteMonitor: http://eigenfocus.eigenfocus:80 | ||||||
|  |                   statusStyle: dot | ||||||
|               - AI: |               - AI: | ||||||
|                   icon: sh-ollama.webp |                   icon: sh-ollama.webp | ||||||
|                   description: Ollama |                   description: Ollama | ||||||
| @@ -288,8 +294,8 @@ homepage: | |||||||
|               - Code (ps10rp): |               - Code (ps10rp): | ||||||
|                   icon: sh-gitea.webp |                   icon: sh-gitea.webp | ||||||
|                   description: Gitea |                   description: Gitea | ||||||
|                   href: https://gitea-ps10rp.boreal-beaufort.ts.net |                   href: https://gitea.lebens-home.net | ||||||
|                   siteMonitor: https://gitea-ps10rp.boreal-beaufort.ts.net |                   siteMonitor: https://gitea.lebens-home.net | ||||||
|                   statusStyle: dot |                   statusStyle: dot | ||||||
|               - IDE (Public): |               - IDE (Public): | ||||||
|                   icon: sh-visual-studio-code.webp |                   icon: sh-visual-studio-code.webp | ||||||
| @@ -313,7 +319,7 @@ homepage: | |||||||
|                   icon: sh-komodo-light.webp |                   icon: sh-komodo-light.webp | ||||||
|                   description: Komodo |                   description: Komodo | ||||||
|                   href: https://komodo.alexlebens.net |                   href: https://komodo.alexlebens.net | ||||||
|                   siteMonitor: http://komodo-main.komodo:80 |                   siteMonitor: http://komodo.komodo:80 | ||||||
|                   statusStyle: dot |                   statusStyle: dot | ||||||
|           - Automation: |           - Automation: | ||||||
|               - Deployment Workflows: |               - Deployment Workflows: | ||||||
| @@ -492,12 +498,6 @@ homepage: | |||||||
|                   href: https://ceph.alexlebens.net |                   href: https://ceph.alexlebens.net | ||||||
|                   siteMonitor: http://rook-ceph-mgr-dashboard.rook-ceph:7000 |                   siteMonitor: http://rook-ceph-mgr-dashboard.rook-ceph:7000 | ||||||
|                   statusStyle: dot |                   statusStyle: dot | ||||||
|               - Remote Storage: |  | ||||||
|                   icon: sh-garage.webp |  | ||||||
|                   description: Garage |  | ||||||
|                   href: https://garage-ps10rp.boreal-beaufort.ts.net |  | ||||||
|                   siteMonitor: https://garage-ps10rp.boreal-beaufort.ts.net |  | ||||||
|                   statusStyle: dot |  | ||||||
|               - Database: |               - Database: | ||||||
|                   icon: sh-pgadmin-light.webp |                   icon: sh-pgadmin-light.webp | ||||||
|                   description: PGAdmin |                   description: PGAdmin | ||||||
| @@ -627,11 +627,11 @@ homepage: | |||||||
|                   siteMonitor: http://slskd.slskd:5030 |                   siteMonitor: http://slskd.slskd:5030 | ||||||
|                   statusStyle: dot |                   statusStyle: dot | ||||||
|           - Services (Servarr): |           - Services (Servarr): | ||||||
|               - qUI: |               - qBittorrent: | ||||||
|                   icon: https://raw.githubusercontent.com/autobrr/qui/8487c818886df9abb2b1456f43b54e0ba180a2bd/web/public/icons.svg |                   icon: sh-qbittorrent.webp | ||||||
|                   description: qbitorrent |                   description: P2P Downloads | ||||||
|                   href: https://qui.alexlebens.net |                   href: https://qbittorrent.alexlebens.net | ||||||
|                   siteMonitor: http://qbittorrent-qui.qbittorrent:80 |                   siteMonitor: http://qbittorrent.qbittorrent:8080 | ||||||
|                   statusStyle: dot |                   statusStyle: dot | ||||||
|                   widget: |                   widget: | ||||||
|                     type: qbittorrent |                     type: qbittorrent | ||||||
|   | |||||||
| @@ -16,6 +16,6 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: huntarr |     alias: huntarr | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/huntarr.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/huntarr.png | ||||||
| appVersion: 7.0.0 | appVersion: 7.0.0 | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ huntarr: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/plexguide/huntarr |             repository: ghcr.io/plexguide/huntarr | ||||||
|             tag: 8.2.10 |             tag: 7.7.1 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
| @@ -31,7 +31,7 @@ huntarr: | |||||||
|       forceRename: huntarr-config |       forceRename: huntarr-config | ||||||
|       storageClass: ceph-block |       storageClass: ceph-block | ||||||
|       accessMode: ReadWriteOnce |       accessMode: ReadWriteOnce | ||||||
|       size: 5Gi |       size: 1Gi | ||||||
|       advancedMounts: |       advancedMounts: | ||||||
|         main: |         main: | ||||||
|           main: |           main: | ||||||
|   | |||||||
| @@ -8,8 +8,10 @@ keywords: | |||||||
| home: https://wiki.alexlebens.dev/s/9377ae08-2041-4b6d-bc2b-61a4f5e8faae | home: https://wiki.alexlebens.dev/s/9377ae08-2041-4b6d-bc2b-61a4f5e8faae | ||||||
| sources: | sources: | ||||||
|   - https://github.com/immich-app/immich |   - https://github.com/immich-app/immich | ||||||
|  |   - https://github.com/valkey-io/valkey | ||||||
|   - https://github.com/cloudnative-pg/cloudnative-pg |   - https://github.com/cloudnative-pg/cloudnative-pg | ||||||
|   - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template |   - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template | ||||||
|  |   - https://github.com/bitnami/charts/tree/main/bitnami/valkey | ||||||
|   - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster |   - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster | ||||||
| maintainers: | maintainers: | ||||||
|   - name: alexlebens |   - name: alexlebens | ||||||
| @@ -17,10 +19,13 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: immich |     alias: immich | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|  |   - name: valkey | ||||||
|  |     version: 3.0.12 | ||||||
|  |     repository: oci://harbor.alexlebens.net/proxy-registry-1.docker.io/bitnamicharts | ||||||
|   - name: postgres-cluster |   - name: postgres-cluster | ||||||
|     alias: postgres-17-cluster |     alias: postgres-16-cluster | ||||||
|     version: 6.14.0 |     version: 5.1.0 | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/immich.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/immich.png | ||||||
| appVersion: v2.0.1 | appVersion: v1.132.3 | ||||||
|   | |||||||
| @@ -24,10 +24,10 @@ spec: | |||||||
| apiVersion: external-secrets.io/v1 | apiVersion: external-secrets.io/v1 | ||||||
| kind: ExternalSecret | kind: ExternalSecret | ||||||
| metadata: | metadata: | ||||||
|   name: immich-postgresql-17-cluster-backup-secret |   name: immich-postgresql-16-cluster-backup-secret | ||||||
|   namespace: {{ .Release.Namespace }} |   namespace: {{ .Release.Namespace }} | ||||||
|   labels: |   labels: | ||||||
|     app.kubernetes.io/name: immich-postgresql-17-cluster-backup-secret |     app.kubernetes.io/name: immich-postgresql-16-cluster-backup-secret | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |     app.kubernetes.io/instance: {{ .Release.Name }} | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||||
| spec: | spec: | ||||||
| @@ -49,33 +49,3 @@ spec: | |||||||
|         key: /digital-ocean/home-infra/postgres-backups |         key: /digital-ocean/home-infra/postgres-backups | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: secret |         property: secret | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: external-secrets.io/v1 |  | ||||||
| kind: ExternalSecret |  | ||||||
| metadata: |  | ||||||
|   name: immich-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: immich-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   secretStoreRef: |  | ||||||
|     kind: ClusterSecretStore |  | ||||||
|     name: vault |  | ||||||
|   data: |  | ||||||
|     - secretKey: ACCESS_KEY_ID |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_KEY_ID |  | ||||||
|     - secretKey: ACCESS_SECRET_KEY |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_SECRET_KEY |  | ||||||
|   | |||||||
| @@ -1,32 +0,0 @@ | |||||||
| apiVersion: redis.redis.opstreelabs.in/v1beta2 |  | ||||||
| kind: RedisReplication |  | ||||||
| metadata: |  | ||||||
|   name: redis-replication-immich |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: redis-replication-immich |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   clusterSize: 3 |  | ||||||
|   podSecurityContext: |  | ||||||
|     runAsUser: 1000 |  | ||||||
|     fsGroup: 1000 |  | ||||||
|   kubernetesConfig: |  | ||||||
|     image: quay.io/opstree/redis:v8.0.3 |  | ||||||
|     imagePullPolicy: IfNotPresent |  | ||||||
|     resources: |  | ||||||
|       requests: |  | ||||||
|         cpu: 50m |  | ||||||
|         memory: 128Mi |  | ||||||
|   storage: |  | ||||||
|     volumeClaimTemplate: |  | ||||||
|       spec: |  | ||||||
|         storageClassName: ceph-block |  | ||||||
|         accessModes: ["ReadWriteOnce"] |  | ||||||
|         resources: |  | ||||||
|           requests: |  | ||||||
|             storage: 1Gi |  | ||||||
|   redisExporter: |  | ||||||
|     enabled: true |  | ||||||
|     image: quay.io/opstree/redis-exporter:v1.48.0 |  | ||||||
| @@ -21,24 +21,3 @@ spec: | |||||||
|       interval: 3m |       interval: 3m | ||||||
|       scrapeTimeout: 1m |       scrapeTimeout: 1m | ||||||
|       path: /metrics |       path: /metrics | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: monitoring.coreos.com/v1 |  | ||||||
| kind: ServiceMonitor |  | ||||||
| metadata: |  | ||||||
|   name: redis-replication-immich |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: redis-replication-immich |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
|     redis-operator: "true" |  | ||||||
|     env: production |  | ||||||
| spec: |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       redis_setup_type: replication |  | ||||||
|   endpoints: |  | ||||||
|     - port: redis-exporter |  | ||||||
|       interval: 30s |  | ||||||
|       scrapeTimeout: 10s |  | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ immich: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/immich-app/immich-server |             repository: ghcr.io/immich-app/immich-server | ||||||
|             tag: v2.1.0 |             tag: v1.132.3 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
| @@ -21,33 +21,33 @@ immich: | |||||||
|             - name: IMMICH_MACHINE_LEARNING_URL |             - name: IMMICH_MACHINE_LEARNING_URL | ||||||
|               value: http://immich-machine-learning.immich:3003 |               value: http://immich-machine-learning.immich:3003 | ||||||
|             - name: REDIS_HOSTNAME |             - name: REDIS_HOSTNAME | ||||||
|               value: redis-replication-immich-master |               value: immich-valkey-primary | ||||||
|             - name: DB_VECTOR_EXTENSION |             - name: DB_VECTOR_EXTENSION | ||||||
|               value: vectorchord |               value: pgvecto.rs | ||||||
|             - name: DB_HOSTNAME |             - name: DB_HOSTNAME | ||||||
|               valueFrom: |               valueFrom: | ||||||
|                 secretKeyRef: |                 secretKeyRef: | ||||||
|                   name: immich-postgresql-17-cluster-app |                   name: immich-postgresql-16-cluster-app | ||||||
|                   key: host |                   key: host | ||||||
|             - name: DB_DATABASE_NAME |             - name: DB_DATABASE_NAME | ||||||
|               valueFrom: |               valueFrom: | ||||||
|                 secretKeyRef: |                 secretKeyRef: | ||||||
|                   name: immich-postgresql-17-cluster-app |                   name: immich-postgresql-16-cluster-app | ||||||
|                   key: dbname |                   key: dbname | ||||||
|             - name: DB_PORT |             - name: DB_PORT | ||||||
|               valueFrom: |               valueFrom: | ||||||
|                 secretKeyRef: |                 secretKeyRef: | ||||||
|                   name: immich-postgresql-17-cluster-app |                   name: immich-postgresql-16-cluster-app | ||||||
|                   key: port |                   key: port | ||||||
|             - name: DB_USERNAME |             - name: DB_USERNAME | ||||||
|               valueFrom: |               valueFrom: | ||||||
|                 secretKeyRef: |                 secretKeyRef: | ||||||
|                   name: immich-postgresql-17-cluster-app |                   name: immich-postgresql-16-cluster-app | ||||||
|                   key: user |                   key: user | ||||||
|             - name: DB_PASSWORD |             - name: DB_PASSWORD | ||||||
|               valueFrom: |               valueFrom: | ||||||
|                 secretKeyRef: |                 secretKeyRef: | ||||||
|                   name: immich-postgresql-17-cluster-app |                   name: immich-postgresql-16-cluster-app | ||||||
|                   key: password |                   key: password | ||||||
|           probes: |           probes: | ||||||
|             liveness: |             liveness: | ||||||
| @@ -99,7 +99,7 @@ immich: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/immich-app/immich-machine-learning |             repository: ghcr.io/immich-app/immich-machine-learning | ||||||
|             tag: v2.1.0 |             tag: v1.134.0 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TRANSFORMERS_CACHE |             - name: TRANSFORMERS_CACHE | ||||||
| @@ -188,16 +188,48 @@ immich: | |||||||
|           main: |           main: | ||||||
|             - path: /usr/src/app/upload |             - path: /usr/src/app/upload | ||||||
|               readOnly: false |               readOnly: false | ||||||
| postgres-17-cluster: | valkey: | ||||||
|  |   architecture: replication | ||||||
|  |   auth: | ||||||
|  |     enabled: false | ||||||
|  |     usePasswordFiles: false | ||||||
|  |   primary: | ||||||
|  |     resources: | ||||||
|  |       requests: | ||||||
|  |         cpu: 100m | ||||||
|  |         memory: 64Mi | ||||||
|  |     persistence: | ||||||
|  |       enabled: true | ||||||
|  |       size: 1Gi | ||||||
|  |   replica: | ||||||
|  |     replicaCount: 1 | ||||||
|  |     resources: | ||||||
|  |       requests: | ||||||
|  |         cpu: 100m | ||||||
|  |         memory: 64Mi | ||||||
|  |     persistence: | ||||||
|  |       enabled: true | ||||||
|  |       size: 1Gi | ||||||
|  | postgres-16-cluster: | ||||||
|  |   # Tensorchord | ||||||
|  |   #--- https://github.com/immich-app/immich/discussions/9060 | ||||||
|  |   #--- https://docs.pgvecto.rs/admin/kubernetes.html | ||||||
|  |   #--- https://github.com/tensorchord/cloudnative-pgvecto.rs | ||||||
|  |   #--- https://github.com/immich-app/immich/discussions/17025 | ||||||
|  |   type: tensorchord | ||||||
|   mode: recovery |   mode: recovery | ||||||
|   cluster: |   cluster: | ||||||
|     image: |     image: | ||||||
|       repository: ghcr.io/tensorchord/cloudnative-vectorchord |       repository: ghcr.io/tensorchord/cloudnative-pgvecto.rs | ||||||
|       tag: 17.5-0.4.3 |       tag: 16.3-v0.2.1 | ||||||
|     storage: |     storage: | ||||||
|       storageClass: local-path |       storageClass: local-path | ||||||
|     walStorage: |     walStorage: | ||||||
|       storageClass: local-path |       storageClass: local-path | ||||||
|  |     resources: | ||||||
|  |       requests: | ||||||
|  |         memory: 384Mi | ||||||
|  |         cpu: 200m | ||||||
|     monitoring: |     monitoring: | ||||||
|       enabled: true |       enabled: true | ||||||
|       prometheusRule: |       prometheusRule: | ||||||
| @@ -205,41 +237,16 @@ postgres-17-cluster: | |||||||
|     postgresql: |     postgresql: | ||||||
|       parameters: |       parameters: | ||||||
|         shared_buffers: 256MB |         shared_buffers: 256MB | ||||||
|       shared_preload_libraries: |  | ||||||
|         - "vchord.so" |  | ||||||
|     initdb: |  | ||||||
|       postInitSQL: |  | ||||||
|         - CREATE EXTENSION IF NOT EXISTS "vector"; |  | ||||||
|         - CREATE EXTENSION IF NOT EXISTS "vchord" CASCADE; |  | ||||||
|         - CREATE EXTENSION IF NOT EXISTS "cube" CASCADE; |  | ||||||
|         - CREATE EXTENSION IF NOT EXISTS "earthdistance" CASCADE; |  | ||||||
|   recovery: |   recovery: | ||||||
|     method: objectStore |     method: objectStore | ||||||
|     objectStore: |     objectStore: | ||||||
|  |       endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/immich/immich-postgresql-17-cluster |       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/immich/immich-postgresql-17-cluster | ||||||
|       index: 2 |       endpointCredentials: immich-postgresql-17-cluster-backup-secret | ||||||
|  |       recoveryIndex: 2 | ||||||
|   backup: |   backup: | ||||||
|     objectStore: |     enabled: true | ||||||
|       - name: external |     endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|         destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/immich/immich-postgresql-17-cluster |     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/immich/immich-postgresql-16-cluster | ||||||
|         index: 2 |     endpointCredentials: immich-postgresql-16-cluster-backup-secret | ||||||
|         retentionPolicy: "2d" |     backupIndex: 2 | ||||||
|         isWALArchiver: true |  | ||||||
|       # - name: garage |  | ||||||
|       #   destinationPath: s3://postgres-backups/cl01tl/immich/immich-postgresql-17-cluster |  | ||||||
|       #   index: 1 |  | ||||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 |  | ||||||
|       #   endpointCredentials: immich-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|       #   retentionPolicy: "30d" |  | ||||||
|       #   data: |  | ||||||
|       #     compression: bzip2 |  | ||||||
|       #     jobs: 2 |  | ||||||
|     scheduledBackups: |  | ||||||
|       - name: daily-backup |  | ||||||
|         suspend: false |  | ||||||
|         schedule: "0 0 0 * * *" |  | ||||||
|         backupName: external |  | ||||||
|       # - name: weekly-backup |  | ||||||
|       #   suspend: false |  | ||||||
|       #   schedule: "0 4 4 * * SAT" |  | ||||||
|       #   backupName: garage |  | ||||||
|   | |||||||
| @@ -20,6 +20,6 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: jellyfin |     alias: jellyfin | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/jellyfin.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/jellyfin.png | ||||||
| appVersion: 10.10.7 | appVersion: 10.10.7 | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ jellyfin: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/jellyfin/jellyfin |             repository: ghcr.io/jellyfin/jellyfin | ||||||
|             tag: 10.11.0 |             tag: 10.10.7 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
|   | |||||||
| @@ -18,10 +18,10 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: jellystat |     alias: jellystat | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|   - name: postgres-cluster |   - name: postgres-cluster | ||||||
|     alias: postgres-17-cluster |     alias: postgres-17-cluster | ||||||
|     version: 6.14.0 |     version: 5.1.0 | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/jellystat.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/jellystat.png | ||||||
| appVersion: 1.1.6 | appVersion: 1.1.6 | ||||||
|   | |||||||
| @@ -120,33 +120,3 @@ spec: | |||||||
|         key: /digital-ocean/home-infra/postgres-backups |         key: /digital-ocean/home-infra/postgres-backups | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: secret |         property: secret | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: external-secrets.io/v1 |  | ||||||
| kind: ExternalSecret |  | ||||||
| metadata: |  | ||||||
|   name: jellystat-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: jellystat-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   secretStoreRef: |  | ||||||
|     kind: ClusterSecretStore |  | ||||||
|     name: vault |  | ||||||
|   data: |  | ||||||
|     - secretKey: ACCESS_KEY_ID |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_KEY_ID |  | ||||||
|     - secretKey: ACCESS_SECRET_KEY |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_SECRET_KEY |  | ||||||
|   | |||||||
| @@ -79,7 +79,7 @@ jellystat: | |||||||
|             - path: /app/backend/backup-data |             - path: /app/backend/backup-data | ||||||
|               readOnly: false |               readOnly: false | ||||||
| postgres-17-cluster: | postgres-17-cluster: | ||||||
|   mode: recovery |   mode: standalone | ||||||
|   cluster: |   cluster: | ||||||
|     storage: |     storage: | ||||||
|       storageClass: local-path |       storageClass: local-path | ||||||
| @@ -92,30 +92,14 @@ postgres-17-cluster: | |||||||
|   recovery: |   recovery: | ||||||
|     method: objectStore |     method: objectStore | ||||||
|     objectStore: |     objectStore: | ||||||
|  |       endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/jellystat/jellystat-postgresql-17-cluster |       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/jellystat/jellystat-postgresql-17-cluster | ||||||
|       index: 1 |       endpointCredentials: jellystat-postgresql-17-cluster-backup-secret | ||||||
|  |       recoveryIndex: 2 | ||||||
|   backup: |   backup: | ||||||
|     objectStore: |     enabled: true | ||||||
|       - name: external |     endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/jellystat/jellystat-postgresql-17-cluster |     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/jellystat/jellystat-postgresql-17-cluster | ||||||
|         index: 1 |     endpointCredentials: jellystat-postgresql-17-cluster-backup-secret | ||||||
|         retentionPolicy: "2d" |     backupIndex: 2 | ||||||
|         isWALArchiver: true |     retentionPolicy: "7d" | ||||||
|       # - name: garage |  | ||||||
|       #   destinationPath: s3://postgres-backups/cl01tl/jellystat/jellystat-postgresql-17-cluster |  | ||||||
|       #   index: 1 |  | ||||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 |  | ||||||
|       #   endpointCredentials: jellystat-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|       #   retentionPolicy: "30d" |  | ||||||
|       #   data: |  | ||||||
|       #     compression: bzip2 |  | ||||||
|       #     jobs: 2 |  | ||||||
|     scheduledBackups: |  | ||||||
|       - name: daily-backup |  | ||||||
|         suspend: false |  | ||||||
|         schedule: "0 0 0 * * *" |  | ||||||
|         backupName: external |  | ||||||
|       # - name: weekly-backup |  | ||||||
|       #   suspend: false |  | ||||||
|       #   schedule: "0 6 4 * * SAT" |  | ||||||
|       #   backupName: garage |  | ||||||
|   | |||||||
| @@ -1,11 +0,0 @@ | |||||||
| apiVersion: objectbucket.io/v1alpha1 |  | ||||||
| kind: ObjectBucketClaim |  | ||||||
| metadata: |  | ||||||
|   name: ceph-bucket-karakeep |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: ceph-bucket-karakeep |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   generateBucketName: bucket-karakeep |  | ||||||
|   storageClassName: ceph-bucket |  | ||||||
| @@ -1,23 +0,0 @@ | |||||||
| apiVersion: monitoring.coreos.com/v1 |  | ||||||
| kind: ServiceMonitor |  | ||||||
| metadata: |  | ||||||
|   name: karakeep |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: karakeep |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   endpoints: |  | ||||||
|     - port: http |  | ||||||
|       interval: 30s |  | ||||||
|       scrapeTimeout: 15s |  | ||||||
|       path: /api/metrics |  | ||||||
|       authorization: |  | ||||||
|         credentials: |  | ||||||
|           key: prometheus-token |  | ||||||
|           name: karakeep-key-secret |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       app.kubernetes.io/name: karakeep |  | ||||||
|       app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
| @@ -16,6 +16,6 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: kiwix |     alias: kiwix | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kiwix-dark.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kiwix-dark.png | ||||||
| appVersion: 3.7.0 | appVersion: 3.7.0 | ||||||
|   | |||||||
| @@ -17,6 +17,6 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: libation |     alias: libation | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/libation.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/libation.png | ||||||
| appVersion: 12.4.3 | appVersion: 12.4.3 | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ libation: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: rmcrackan/libation |             repository: rmcrackan/libation | ||||||
|             tag: 12.5.6 |             tag: 12.4.3 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: SLEEP_TIME |             - name: SLEEP_TIME | ||||||
|   | |||||||
| @@ -21,10 +21,10 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: lidarr |     alias: lidarr | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|   - name: postgres-cluster |   - name: postgres-cluster | ||||||
|     alias: postgres-17-cluster |     alias: postgres-17-cluster | ||||||
|     version: 6.14.0 |     version: 5.1.0 | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/lidarr.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/lidarr.png | ||||||
| appVersion: 2.13.3 | appVersion: 2.11.2 | ||||||
|   | |||||||
| @@ -83,33 +83,3 @@ spec: | |||||||
|         key: /digital-ocean/home-infra/postgres-backups |         key: /digital-ocean/home-infra/postgres-backups | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: secret |         property: secret | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: external-secrets.io/v1 |  | ||||||
| kind: ExternalSecret |  | ||||||
| metadata: |  | ||||||
|   name: lidarr-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: lidarr-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   secretStoreRef: |  | ||||||
|     kind: ClusterSecretStore |  | ||||||
|     name: vault |  | ||||||
|   data: |  | ||||||
|     - secretKey: ACCESS_KEY_ID |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_KEY_ID |  | ||||||
|     - secretKey: ACCESS_SECRET_KEY |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_SECRET_KEY |  | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ lidarr: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/linuxserver/lidarr |             repository: ghcr.io/linuxserver/lidarr | ||||||
|             tag: 2.14.5@sha256:5f58fcb45a15cb33ef153f74b14c724ba073553afdc9b078e7701f15b7ce1433 |             tag: 2.12.4@sha256:71fe6d5702691c6ac8961b9b1042fdea1ff833a49c82c5e165346fa88999a48a | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
| @@ -31,7 +31,7 @@ lidarr: | |||||||
|         metrics: |         metrics: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/onedr0p/exportarr |             repository: ghcr.io/onedr0p/exportarr | ||||||
|             tag: v2.3.0 |             tag: v2.2.0 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           args: ["lidarr"] |           args: ["lidarr"] | ||||||
|           env: |           env: | ||||||
| @@ -85,20 +85,21 @@ lidarr: | |||||||
|               readOnly: false |               readOnly: false | ||||||
| postgres-17-cluster: | postgres-17-cluster: | ||||||
|   nameOverride: lidarr2-postgresql-17 |   nameOverride: lidarr2-postgresql-17 | ||||||
|   mode: recovery |   mode: standalone | ||||||
|   cluster: |   cluster: | ||||||
|     storage: |     storage: | ||||||
|       storageClass: local-path |       storageClass: local-path | ||||||
|     walStorage: |     walStorage: | ||||||
|       storageClass: local-path |       storageClass: local-path | ||||||
|     monitoring: |  | ||||||
|       enabled: true |  | ||||||
|       prometheusRule: |  | ||||||
|         enabled: true |  | ||||||
|     resources: |     resources: | ||||||
|       requests: |       requests: | ||||||
|         memory: 1Gi |         memory: 1Gi | ||||||
|         cpu: 200m |         cpu: 200m | ||||||
|  |     monitoring: | ||||||
|  |       enabled: true | ||||||
|  |       prometheusRule: | ||||||
|  |         enabled: true | ||||||
|  |   bootstrap: | ||||||
|     initdb: |     initdb: | ||||||
|       postInitSQL: |       postInitSQL: | ||||||
|         - CREATE DATABASE "lidarr-main" OWNER "app"; |         - CREATE DATABASE "lidarr-main" OWNER "app"; | ||||||
| @@ -106,32 +107,14 @@ postgres-17-cluster: | |||||||
|   recovery: |   recovery: | ||||||
|     method: objectStore |     method: objectStore | ||||||
|     objectStore: |     objectStore: | ||||||
|  |       endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/lidarr2/lidarr2-postgresql-17-cluster |       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/lidarr2/lidarr2-postgresql-17-cluster | ||||||
|       index: 1 |  | ||||||
|       endpointCredentials: lidarr-postgresql-17-cluster-backup-secret |       endpointCredentials: lidarr-postgresql-17-cluster-backup-secret | ||||||
|  |       recoveryIndex: 3 | ||||||
|   backup: |   backup: | ||||||
|     objectStore: |     enabled: true | ||||||
|       - name: external |     endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/lidarr2/lidarr2-postgresql-17-cluster |     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/lidarr2/lidarr2-postgresql-17-cluster | ||||||
|         index: 1 |  | ||||||
|     endpointCredentials: lidarr-postgresql-17-cluster-backup-secret |     endpointCredentials: lidarr-postgresql-17-cluster-backup-secret | ||||||
|         retentionPolicy: "1d" |     backupIndex: 3 | ||||||
|         isWALArchiver: true |     retentionPolicy: "7d" | ||||||
|       # - name: garage |  | ||||||
|       #   destinationPath: s3://postgres-backups/cl01tl/lidarr/lidarr2-postgresql-17-cluster |  | ||||||
|       #   index: 1 |  | ||||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 |  | ||||||
|       #   endpointCredentials: lidarr-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|       #   retentionPolicy: "30d" |  | ||||||
|       #   data: |  | ||||||
|       #     compression: bzip2 |  | ||||||
|       #     jobs: 2 |  | ||||||
|     scheduledBackups: |  | ||||||
|       - name: daily-backup |  | ||||||
|         suspend: false |  | ||||||
|         schedule: "0 0 */12 * * *" |  | ||||||
|         backupName: external |  | ||||||
|       # - name: weekly-backup |  | ||||||
|       #   suspend: false |  | ||||||
|       #   schedule: "0 8 4 * * SAT" |  | ||||||
|       #   backupName: garage |  | ||||||
|   | |||||||
| @@ -17,6 +17,6 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: lidatube |     alias: lidatube | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/lidatube.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/lidatube.png | ||||||
| appVersion: 0.2.22 | appVersion: 0.2.22 | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ lidatube: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: thewicklowwolf/lidatube |             repository: thewicklowwolf/lidatube | ||||||
|             tag: 0.2.40 |             tag: 0.2.26 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: PUID |             - name: PUID | ||||||
|   | |||||||
| @@ -15,6 +15,6 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: omni-tools |     alias: omni-tools | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/omnitools.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/omnitools.png | ||||||
| appVersion: 0.4.0 | appVersion: 0.4.0 | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ omni-tools: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: iib0011/omni-tools |             repository: iib0011/omni-tools | ||||||
|             tag: 0.6.0 |             tag: 0.4.0 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           resources: |           resources: | ||||||
|             requests: |             requests: | ||||||
|   | |||||||
| @@ -9,10 +9,12 @@ keywords: | |||||||
| home: https://wiki.alexlebens.dev/s/c530c2b9-82b7-44df-b7ef-870c8b29242f | home: https://wiki.alexlebens.dev/s/c530c2b9-82b7-44df-b7ef-870c8b29242f | ||||||
| sources: | sources: | ||||||
|   - https://github.com/outline/outline |   - https://github.com/outline/outline | ||||||
|  |   - https://github.com/valkey-io/valkey | ||||||
|   - https://github.com/cloudflare/cloudflared |   - https://github.com/cloudflare/cloudflared | ||||||
|   - https://github.com/cloudnative-pg/cloudnative-pg |   - https://github.com/cloudnative-pg/cloudnative-pg | ||||||
|   - https://hub.docker.com/r/outlinewiki/outline |   - https://hub.docker.com/r/outlinewiki/outline | ||||||
|   - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template |   - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template | ||||||
|  |   - https://github.com/bitnami/charts/tree/main/bitnami/valkey | ||||||
|   - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared |   - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared | ||||||
|   - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster |   - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster | ||||||
| maintainers: | maintainers: | ||||||
| @@ -21,14 +23,17 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: outline |     alias: outline | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|  |   - name: valkey | ||||||
|  |     version: 3.0.12 | ||||||
|  |     repository: oci://harbor.alexlebens.net/proxy-registry-1.docker.io/bitnamicharts | ||||||
|   - name: cloudflared |   - name: cloudflared | ||||||
|     alias: cloudflared-outline |     alias: cloudflared-outline | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
|     version: 1.22.1 |     version: 1.15.0 | ||||||
|   - name: postgres-cluster |   - name: postgres-cluster | ||||||
|     alias: postgres-17-cluster |     alias: postgres-17-cluster | ||||||
|     version: 6.14.0 |     version: 5.1.0 | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/outline.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/outline.png | ||||||
| appVersion: 0.84.0 | appVersion: 0.84.0 | ||||||
|   | |||||||
| @@ -109,33 +109,3 @@ spec: | |||||||
|         key: /digital-ocean/home-infra/postgres-backups |         key: /digital-ocean/home-infra/postgres-backups | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: secret |         property: secret | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: external-secrets.io/v1 |  | ||||||
| kind: ExternalSecret |  | ||||||
| metadata: |  | ||||||
|   name: outline-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: outline-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   secretStoreRef: |  | ||||||
|     kind: ClusterSecretStore |  | ||||||
|     name: vault |  | ||||||
|   data: |  | ||||||
|     - secretKey: ACCESS_KEY_ID |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_KEY_ID |  | ||||||
|     - secretKey: ACCESS_SECRET_KEY |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_SECRET_KEY |  | ||||||
|   | |||||||
| @@ -1,32 +0,0 @@ | |||||||
| apiVersion: redis.redis.opstreelabs.in/v1beta2 |  | ||||||
| kind: RedisReplication |  | ||||||
| metadata: |  | ||||||
|   name: redis-replication-outline |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: redis-replication-outline |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   clusterSize: 3 |  | ||||||
|   podSecurityContext: |  | ||||||
|     runAsUser: 1000 |  | ||||||
|     fsGroup: 1000 |  | ||||||
|   kubernetesConfig: |  | ||||||
|     image: quay.io/opstree/redis:v8.0.3 |  | ||||||
|     imagePullPolicy: IfNotPresent |  | ||||||
|     resources: |  | ||||||
|       requests: |  | ||||||
|         cpu: 50m |  | ||||||
|         memory: 128Mi |  | ||||||
|   storage: |  | ||||||
|     volumeClaimTemplate: |  | ||||||
|       spec: |  | ||||||
|         storageClassName: ceph-block |  | ||||||
|         accessModes: ["ReadWriteOnce"] |  | ||||||
|         resources: |  | ||||||
|           requests: |  | ||||||
|             storage: 1Gi |  | ||||||
|   redisExporter: |  | ||||||
|     enabled: true |  | ||||||
|     image: quay.io/opstree/redis-exporter:v1.48.0 |  | ||||||
| @@ -1,19 +0,0 @@ | |||||||
| apiVersion: monitoring.coreos.com/v1 |  | ||||||
| kind: ServiceMonitor |  | ||||||
| metadata: |  | ||||||
|   name: redis-replication-outline |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: redis-replication-outline |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
|     redis-operator: "true" |  | ||||||
|     env: production |  | ||||||
| spec: |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       redis_setup_type: replication |  | ||||||
|   endpoints: |  | ||||||
|     - port: redis-exporter |  | ||||||
|       interval: 30s |  | ||||||
|       scrapeTimeout: 10s |  | ||||||
| @@ -9,7 +9,7 @@ outline: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: outlinewiki/outline |             repository: outlinewiki/outline | ||||||
|             tag: 0.87.4 |             tag: 0.84.0 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: NODE_ENV |             - name: NODE_ENV | ||||||
| @@ -64,7 +64,7 @@ outline: | |||||||
|             - name: PGSSLMODE |             - name: PGSSLMODE | ||||||
|               value: disable |               value: disable | ||||||
|             - name: REDIS_URL |             - name: REDIS_URL | ||||||
|               value: redis://redis-replication-outline-master.outline:6379 |               value: redis://outline-valkey-primary.outline:6379 | ||||||
|             - name: FILE_STORAGE |             - name: FILE_STORAGE | ||||||
|               value: s3 |               value: s3 | ||||||
|             - name: AWS_ACCESS_KEY_ID |             - name: AWS_ACCESS_KEY_ID | ||||||
| @@ -142,11 +142,33 @@ outline: | |||||||
|           port: 3000 |           port: 3000 | ||||||
|           targetPort: 3000 |           targetPort: 3000 | ||||||
|           protocol: HTTP |           protocol: HTTP | ||||||
|  | valkey: | ||||||
|  |   architecture: replication | ||||||
|  |   auth: | ||||||
|  |     enabled: false | ||||||
|  |     usePasswordFiles: false | ||||||
|  |   primary: | ||||||
|  |     resources: | ||||||
|  |       requests: | ||||||
|  |         cpu: 100m | ||||||
|  |         memory: 64Mi | ||||||
|  |     persistence: | ||||||
|  |       enabled: true | ||||||
|  |       size: 1Gi | ||||||
|  |   replica: | ||||||
|  |     replicaCount: 1 | ||||||
|  |     resources: | ||||||
|  |       requests: | ||||||
|  |         cpu: 100m | ||||||
|  |         memory: 64Mi | ||||||
|  |     persistence: | ||||||
|  |       enabled: true | ||||||
|  |       size: 1Gi | ||||||
| cloudflared-outline: | cloudflared-outline: | ||||||
|   existingSecretName: outline-cloudflared-secret |   existingSecretName: outline-cloudflared-secret | ||||||
|   name: cloudflared-outline |   name: cloudflared-outline | ||||||
| postgres-17-cluster: | postgres-17-cluster: | ||||||
|   mode: recovery |   mode: standalone | ||||||
|   cluster: |   cluster: | ||||||
|     storage: |     storage: | ||||||
|       storageClass: local-path |       storageClass: local-path | ||||||
| @@ -159,30 +181,13 @@ postgres-17-cluster: | |||||||
|   recovery: |   recovery: | ||||||
|     method: objectStore |     method: objectStore | ||||||
|     objectStore: |     objectStore: | ||||||
|  |       endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/outline/outline-postgresql-17-cluster |       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/outline/outline-postgresql-17-cluster | ||||||
|       index: 1 |       endpointCredentials: outline-postgresql-17-cluster-backup-secret | ||||||
|  |       recoveryIndex: 2 | ||||||
|   backup: |   backup: | ||||||
|     objectStore: |     enabled: true | ||||||
|       - name: external |     endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/outline/outline-postgresql-17-cluster |     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/outline/outline-postgresql-17-cluster | ||||||
|         index: 1 |     endpointCredentials: outline-postgresql-17-cluster-backup-secret | ||||||
|         retentionPolicy: "2d" |     backupIndex: 2 | ||||||
|         isWALArchiver: true |  | ||||||
|       # - name: garage |  | ||||||
|       #   destinationPath: s3://postgres-backups/cl01tl/outline/outline-postgresql-17-cluster |  | ||||||
|       #   index: 1 |  | ||||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 |  | ||||||
|       #   endpointCredentials: outline-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|       #   retentionPolicy: "30d" |  | ||||||
|       #   data: |  | ||||||
|       #     compression: bzip2 |  | ||||||
|       #     jobs: 2 |  | ||||||
|     scheduledBackups: |  | ||||||
|       - name: daily-backup |  | ||||||
|         suspend: false |  | ||||||
|         schedule: "0 0 0 * * *" |  | ||||||
|         backupName: external |  | ||||||
|       # - name: weekly-backup |  | ||||||
|       #   suspend: false |  | ||||||
|       #   schedule: "0 10 4 * * SAT" |  | ||||||
|       #   backupName: garage |  | ||||||
|   | |||||||
| @@ -16,6 +16,6 @@ maintainers: | |||||||
| dependencies: | dependencies: | ||||||
|   - name: app-template |   - name: app-template | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/overseerr.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/overseerr.png | ||||||
| appVersion: 1.34.0 | appVersion: 1.34.0 | ||||||
|   | |||||||
| @@ -17,10 +17,10 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: photoview |     alias: photoview | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|   - name: postgres-cluster |   - name: postgres-cluster | ||||||
|     alias: postgres-17-cluster |     alias: postgres-17-cluster | ||||||
|     version: 6.14.0 |     version: 5.1.0 | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/photoview.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/photoview.png | ||||||
| appVersion: 2.4.0 | appVersion: 2.4.0 | ||||||
|   | |||||||
| @@ -26,33 +26,3 @@ spec: | |||||||
|         key: /digital-ocean/home-infra/postgres-backups |         key: /digital-ocean/home-infra/postgres-backups | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: secret |         property: secret | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: external-secrets.io/v1 |  | ||||||
| kind: ExternalSecret |  | ||||||
| metadata: |  | ||||||
|   name: photoview-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: photoview-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   secretStoreRef: |  | ||||||
|     kind: ClusterSecretStore |  | ||||||
|     name: vault |  | ||||||
|   data: |  | ||||||
|     - secretKey: ACCESS_KEY_ID |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_KEY_ID |  | ||||||
|     - secretKey: ACCESS_SECRET_KEY |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_SECRET_KEY |  | ||||||
|   | |||||||
| @@ -73,7 +73,7 @@ photoview: | |||||||
|             - path: /photos |             - path: /photos | ||||||
|               readOnly: true |               readOnly: true | ||||||
| postgres-17-cluster: | postgres-17-cluster: | ||||||
|   mode: recovery |   mode: standalone | ||||||
|   cluster: |   cluster: | ||||||
|     storage: |     storage: | ||||||
|       storageClass: local-path |       storageClass: local-path | ||||||
| @@ -86,30 +86,14 @@ postgres-17-cluster: | |||||||
|   recovery: |   recovery: | ||||||
|     method: objectStore |     method: objectStore | ||||||
|     objectStore: |     objectStore: | ||||||
|  |       endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/photoview/photoview-postgresql-17-cluster |       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/photoview/photoview-postgresql-17-cluster | ||||||
|       index: 1 |       endpointCredentials: photoview-postgresql-17-cluster-backup-secret | ||||||
|  |       recoveryIndex: 3 | ||||||
|   backup: |   backup: | ||||||
|     objectStore: |     enabled: true | ||||||
|       - name: external |     endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/photoview/photoview-postgresql-17-cluster |     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/photoview/photoview-postgresql-17-cluster | ||||||
|         index: 1 |     endpointCredentials: photoview-postgresql-17-cluster-backup-secret | ||||||
|         retentionPolicy: "2d" |     backupIndex: 3 | ||||||
|         isWALArchiver: true |     retentionPolicy: "7d" | ||||||
|       # - name: garage |  | ||||||
|       #   destinationPath: s3://postgres-backups/cl01tl/photoview/photoview-postgresql-17-cluster |  | ||||||
|       #   index: 1 |  | ||||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 |  | ||||||
|       #   endpointCredentials: photoview-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|       #   retentionPolicy: "30d" |  | ||||||
|       #   data: |  | ||||||
|       #     compression: bzip2 |  | ||||||
|       #     jobs: 2 |  | ||||||
|     scheduledBackups: |  | ||||||
|       - name: daily-backup |  | ||||||
|         suspend: false |  | ||||||
|         schedule: "0 0 0 * * *" |  | ||||||
|         backupName: external |  | ||||||
|       # - name: weekly-backup |  | ||||||
|       #   suspend: false |  | ||||||
|       #   schedule: "0 12 4 * * SAT" |  | ||||||
|       #   backupName: garage |  | ||||||
|   | |||||||
| @@ -21,6 +21,6 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: plex |     alias: plex | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/plex.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/plex.png | ||||||
| appVersion: 1.41.6 | appVersion: 1.41.6 | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ plex: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/linuxserver/plex |             repository: ghcr.io/linuxserver/plex | ||||||
|             tag: 1.42.2@sha256:b13c1a01150225d88085214dc3deabb41985fa5427766c0126c84780d156b9a9 |             tag: 1.41.8@sha256:7794c25926494a63da421fabf2898dd38c4d6190f9146450fc0e29da8025ed2c | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
|   | |||||||
| @@ -8,10 +8,12 @@ keywords: | |||||||
| home: https://wiki.alexlebens.dev/s/f483a06b-860b-423c-8d51-a1ce82e0fd43 | home: https://wiki.alexlebens.dev/s/f483a06b-860b-423c-8d51-a1ce82e0fd43 | ||||||
| sources: | sources: | ||||||
|   - https://github.com/gitroomhq/postiz-app |   - https://github.com/gitroomhq/postiz-app | ||||||
|  |   - https://github.com/valkey-io/valkey | ||||||
|   - https://github.com/cloudflare/cloudflared |   - https://github.com/cloudflare/cloudflared | ||||||
|   - https://github.com/cloudnative-pg/cloudnative-pg |   - https://github.com/cloudnative-pg/cloudnative-pg | ||||||
|   - https://github.com/gitroomhq/postiz-app/pkgs/container/postiz-app |   - https://github.com/gitroomhq/postiz-app/pkgs/container/postiz-app | ||||||
|   - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template |   - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template | ||||||
|  |   - https://github.com/bitnami/charts/tree/main/bitnami/valkey | ||||||
|   - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared |   - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared | ||||||
|   - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster |   - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster | ||||||
| maintainers: | maintainers: | ||||||
| @@ -20,13 +22,16 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: postiz |     alias: postiz | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|  |   - name: valkey | ||||||
|  |     version: 3.0.12 | ||||||
|  |     repository: oci://harbor.alexlebens.net/proxy-registry-1.docker.io/bitnamicharts | ||||||
|   - name: cloudflared |   - name: cloudflared | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
|     version: 1.22.1 |     version: 1.15.0 | ||||||
|   - name: postgres-cluster |   - name: postgres-cluster | ||||||
|     alias: postgres-17-cluster |     alias: postgres-17-cluster | ||||||
|     version: 6.14.0 |     version: 5.1.0 | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/postiz.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/postiz.png | ||||||
| appVersion: v1.43.3 | appVersion: v1.43.3 | ||||||
|   | |||||||
| @@ -24,10 +24,10 @@ spec: | |||||||
| apiVersion: external-secrets.io/v1 | apiVersion: external-secrets.io/v1 | ||||||
| kind: ExternalSecret | kind: ExternalSecret | ||||||
| metadata: | metadata: | ||||||
|   name: postiz-redis-config |   name: postiz-valkey-config | ||||||
|   namespace: {{ .Release.Namespace }} |   namespace: {{ .Release.Namespace }} | ||||||
|   labels: |   labels: | ||||||
|     app.kubernetes.io/name: postiz-redis-config |     app.kubernetes.io/name: postiz-valkey-config | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |     app.kubernetes.io/instance: {{ .Release.Name }} | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||||
| spec: | spec: | ||||||
| @@ -35,27 +35,27 @@ spec: | |||||||
|     kind: ClusterSecretStore |     kind: ClusterSecretStore | ||||||
|     name: vault |     name: vault | ||||||
|   data: |   data: | ||||||
|     - secretKey: REDIS_URL |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /cl01tl/postiz/redis |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: REDIS_URL |  | ||||||
|     - secretKey: user |     - secretKey: user | ||||||
|       remoteRef: |       remoteRef: | ||||||
|         conversionStrategy: Default |         conversionStrategy: Default | ||||||
|         decodingStrategy: None |         decodingStrategy: None | ||||||
|         key: /cl01tl/postiz/redis |         key: /cl01tl/postiz/valkey | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: user |         property: user | ||||||
|     - secretKey: password |     - secretKey: password | ||||||
|       remoteRef: |       remoteRef: | ||||||
|         conversionStrategy: Default |         conversionStrategy: Default | ||||||
|         decodingStrategy: None |         decodingStrategy: None | ||||||
|         key: /cl01tl/postiz/redis |         key: /cl01tl/postiz/valkey | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: password |         property: password | ||||||
|  |     - secretKey: REDIS_URL | ||||||
|  |       remoteRef: | ||||||
|  |         conversionStrategy: Default | ||||||
|  |         decodingStrategy: None | ||||||
|  |         key: /cl01tl/postiz/valkey | ||||||
|  |         metadataPolicy: None | ||||||
|  |         property: REDIS_URL | ||||||
|  |  | ||||||
| --- | --- | ||||||
| apiVersion: external-secrets.io/v1 | apiVersion: external-secrets.io/v1 | ||||||
| @@ -253,33 +253,3 @@ spec: | |||||||
|         key: /digital-ocean/home-infra/postgres-backups |         key: /digital-ocean/home-infra/postgres-backups | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: secret |         property: secret | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: external-secrets.io/v1 |  | ||||||
| kind: ExternalSecret |  | ||||||
| metadata: |  | ||||||
|   name: postiz-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: postiz-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   secretStoreRef: |  | ||||||
|     kind: ClusterSecretStore |  | ||||||
|     name: vault |  | ||||||
|   data: |  | ||||||
|     - secretKey: ACCESS_KEY_ID |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_KEY_ID |  | ||||||
|     - secretKey: ACCESS_SECRET_KEY |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_SECRET_KEY |  | ||||||
|   | |||||||
| @@ -1,35 +0,0 @@ | |||||||
| apiVersion: redis.redis.opstreelabs.in/v1beta2 |  | ||||||
| kind: RedisReplication |  | ||||||
| metadata: |  | ||||||
|   name: redis-replication-postiz |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: redis-replication-postiz |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   clusterSize: 3 |  | ||||||
|   podSecurityContext: |  | ||||||
|     runAsUser: 1000 |  | ||||||
|     fsGroup: 1000 |  | ||||||
|   kubernetesConfig: |  | ||||||
|     image: quay.io/opstree/redis:v8.0.3 |  | ||||||
|     imagePullPolicy: IfNotPresent |  | ||||||
|     redisSecret: |  | ||||||
|       name: postiz-redis-config |  | ||||||
|       key: password |  | ||||||
|     resources: |  | ||||||
|       requests: |  | ||||||
|         cpu: 50m |  | ||||||
|         memory: 128Mi |  | ||||||
|   storage: |  | ||||||
|     volumeClaimTemplate: |  | ||||||
|       spec: |  | ||||||
|         storageClassName: ceph-block |  | ||||||
|         accessModes: ["ReadWriteOnce"] |  | ||||||
|         resources: |  | ||||||
|           requests: |  | ||||||
|             storage: 1Gi |  | ||||||
|   redisExporter: |  | ||||||
|     enabled: true |  | ||||||
|     image: quay.io/opstree/redis-exporter:v1.48.0 |  | ||||||
| @@ -1,19 +0,0 @@ | |||||||
| apiVersion: monitoring.coreos.com/v1 |  | ||||||
| kind: ServiceMonitor |  | ||||||
| metadata: |  | ||||||
|   name: redis-replication-postiz |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: redis-replication-postiz |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
|     redis-operator: "true" |  | ||||||
|     env: production |  | ||||||
| spec: |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       redis_setup_type: replication |  | ||||||
|   endpoints: |  | ||||||
|     - port: redis-exporter |  | ||||||
|       interval: 30s |  | ||||||
|       scrapeTimeout: 10s |  | ||||||
| @@ -9,7 +9,7 @@ postiz: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/gitroomhq/postiz-app |             repository: ghcr.io/gitroomhq/postiz-app | ||||||
|             tag: v2.7.0 |             tag: v1.50.0 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: MAIN_URL |             - name: MAIN_URL | ||||||
| @@ -31,12 +31,12 @@ postiz: | |||||||
|             - name: REDIS_URL |             - name: REDIS_URL | ||||||
|               valueFrom: |               valueFrom: | ||||||
|                 secretKeyRef: |                 secretKeyRef: | ||||||
|                   name: postiz-redis-config |                   name: postiz-valkey-config | ||||||
|                   key: REDIS_URL |                   key: REDIS_URL | ||||||
|             - name: BACKEND_INTERNAL_URL |             - name: BACKEND_INTERNAL_URL | ||||||
|               value: http://localhost:3000 |               value: http://localhost:3000 | ||||||
|             - name: IS_GENERAL |             - name: IS_GENERAL | ||||||
|               value: "true" |               value: 'true' | ||||||
|             - name: STORAGE_PROVIDER |             - name: STORAGE_PROVIDER | ||||||
|               value: local |               value: local | ||||||
|             - name: UPLOAD_DIRECTORY |             - name: UPLOAD_DIRECTORY | ||||||
| @@ -48,7 +48,7 @@ postiz: | |||||||
|             - name: NEXT_PUBLIC_POSTIZ_OAUTH_LOGO_URL |             - name: NEXT_PUBLIC_POSTIZ_OAUTH_LOGO_URL | ||||||
|               value: https://cdn.jsdelivr.net/gh/selfhst/icons/png/authentik.png |               value: https://cdn.jsdelivr.net/gh/selfhst/icons/png/authentik.png | ||||||
|             - name: POSTIZ_GENERIC_OAUTH |             - name: POSTIZ_GENERIC_OAUTH | ||||||
|               value: "true" |               value: 'true' | ||||||
|             - name: POSTIZ_OAUTH_URL |             - name: POSTIZ_OAUTH_URL | ||||||
|               value: https://auth.alexlebens.dev |               value: https://auth.alexlebens.dev | ||||||
|             - name: POSTIZ_OAUTH_AUTH_URL |             - name: POSTIZ_OAUTH_AUTH_URL | ||||||
| @@ -102,11 +102,35 @@ postiz: | |||||||
|           main: |           main: | ||||||
|             - path: /uploads |             - path: /uploads | ||||||
|               readOnly: false |               readOnly: false | ||||||
|  | valkey: | ||||||
|  |   architecture: replication | ||||||
|  |   auth: | ||||||
|  |     enabled: true | ||||||
|  |     existingSecret: postiz-valkey-config | ||||||
|  |     existingSecretPasswordKey: password | ||||||
|  |     usePasswordFiles: false | ||||||
|  |   primary: | ||||||
|  |     resources: | ||||||
|  |       requests: | ||||||
|  |         cpu: 100m | ||||||
|  |         memory: 64Mi | ||||||
|  |     persistence: | ||||||
|  |       enabled: true | ||||||
|  |       size: 1Gi | ||||||
|  |   replica: | ||||||
|  |     replicaCount: 1 | ||||||
|  |     resources: | ||||||
|  |       requests: | ||||||
|  |         cpu: 100m | ||||||
|  |         memory: 64Mi | ||||||
|  |     persistence: | ||||||
|  |       enabled: true | ||||||
|  |       size: 1Gi | ||||||
| cloudflared: | cloudflared: | ||||||
|   name: cloudflared-postiz |   name: cloudflared-postiz | ||||||
|   existingSecretName: postiz-cloudflared-secret |   existingSecretName: postiz-cloudflared-secret | ||||||
| postgres-17-cluster: | postgres-17-cluster: | ||||||
|   mode: recovery |   mode: standalone | ||||||
|   cluster: |   cluster: | ||||||
|     storage: |     storage: | ||||||
|       storageClass: local-path |       storageClass: local-path | ||||||
| @@ -119,30 +143,13 @@ postgres-17-cluster: | |||||||
|   recovery: |   recovery: | ||||||
|     method: objectStore |     method: objectStore | ||||||
|     objectStore: |     objectStore: | ||||||
|  |       endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/postiz/postiz-postgresql-17-cluster |       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/postiz/postiz-postgresql-17-cluster | ||||||
|       index: 2 |       endpointCredentials: postiz-postgresql-17-cluster-backup-secret | ||||||
|  |       recoveryIndex: 1 | ||||||
|   backup: |   backup: | ||||||
|     objectStore: |     enabled: true | ||||||
|       - name: external |     endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/postiz/postiz-postgresql-17-cluster |     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/postiz/postiz-postgresql-17-cluster | ||||||
|         index: 2 |     endpointCredentials: postiz-postgresql-17-cluster-backup-secret | ||||||
|         retentionPolicy: "2d" |     backupIndex: 1 | ||||||
|         isWALArchiver: true |  | ||||||
|       # - name: garage |  | ||||||
|       #   destinationPath: s3://postgres-backups/cl01tl/postiz/postiz-postgresql-17-cluster |  | ||||||
|       #   index: 1 |  | ||||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 |  | ||||||
|       #   endpointCredentials: postiz-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|       #   retentionPolicy: "30d" |  | ||||||
|       #   data: |  | ||||||
|       #     compression: bzip2 |  | ||||||
|       #     jobs: 2 |  | ||||||
|     scheduledBackups: |  | ||||||
|       - name: daily-backup |  | ||||||
|         suspend: false |  | ||||||
|         schedule: "0 0 0 * * *" |  | ||||||
|         backupName: external |  | ||||||
|       # - name: weekly-backup |  | ||||||
|       #   suspend: false |  | ||||||
|       #   schedule: "0 14 4 * * SAT" |  | ||||||
|       #   backupName: garage |  | ||||||
|   | |||||||
| @@ -18,6 +18,6 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: prowlarr |     alias: prowlarr | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/prowlarr.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/prowlarr.png | ||||||
| appVersion: 1.35.1 | appVersion: 1.35.1 | ||||||
|   | |||||||
| @@ -20,7 +20,7 @@ prowlarr: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/linuxserver/prowlarr |             repository: ghcr.io/linuxserver/prowlarr | ||||||
|             tag: 2.0.5@sha256:608935c38763920b25622a3d404bb14ea08fcaa7c2a9b1c93ce9bac61ad4b11d |             tag: 1.37.0@sha256:b058be8a4e083e0cba238f03759994617a559abe0c89e5ed66454b44395da6a9 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
|   | |||||||
| @@ -24,10 +24,10 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: radarr-4k |     alias: radarr-4k | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|   - name: postgres-cluster |   - name: postgres-cluster | ||||||
|     alias: postgres-17-cluster |     alias: postgres-17-cluster | ||||||
|     version: 6.14.0 |     version: 5.1.0 | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr-4k.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr-4k.png | ||||||
| appVersion: 5.22.4 | appVersion: 5.22.4 | ||||||
|   | |||||||
| @@ -83,33 +83,3 @@ spec: | |||||||
|         key: /digital-ocean/home-infra/postgres-backups |         key: /digital-ocean/home-infra/postgres-backups | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: secret |         property: secret | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: external-secrets.io/v1 |  | ||||||
| kind: ExternalSecret |  | ||||||
| metadata: |  | ||||||
|   name: radarr-4k-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: radarr-4k-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   secretStoreRef: |  | ||||||
|     kind: ClusterSecretStore |  | ||||||
|     name: vault |  | ||||||
|   data: |  | ||||||
|     - secretKey: ACCESS_KEY_ID |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_KEY_ID |  | ||||||
|     - secretKey: ACCESS_SECRET_KEY |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_SECRET_KEY |  | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ radarr-4k: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/linuxserver/radarr |             repository: ghcr.io/linuxserver/radarr | ||||||
|             tag: 5.28.0@sha256:fae2aafa6ecace3524fc79d102f5bfd25fb151caed6a454cee46479236ac33bf |             tag: 5.25.0@sha256:36e43720c130ec2d3ed80726d2134af3c6644729f4750abc830fdda7fa71d1e1 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
| @@ -31,7 +31,7 @@ radarr-4k: | |||||||
|         metrics: |         metrics: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/onedr0p/exportarr |             repository: ghcr.io/onedr0p/exportarr | ||||||
|             tag: v2.3.0 |             tag: v2.2.0 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           args: ["radarr"] |           args: ["radarr"] | ||||||
|           env: |           env: | ||||||
| @@ -85,7 +85,7 @@ radarr-4k: | |||||||
|               readOnly: false |               readOnly: false | ||||||
| postgres-17-cluster: | postgres-17-cluster: | ||||||
|   nameOverride: radarr5-4k-postgresql-17 |   nameOverride: radarr5-4k-postgresql-17 | ||||||
|   mode: recovery |   mode: standalone | ||||||
|   cluster: |   cluster: | ||||||
|     storage: |     storage: | ||||||
|       storageClass: local-path |       storageClass: local-path | ||||||
| @@ -95,43 +95,24 @@ postgres-17-cluster: | |||||||
|       enabled: true |       enabled: true | ||||||
|       prometheusRule: |       prometheusRule: | ||||||
|         enabled: true |         enabled: true | ||||||
|     resources: |   bootstrap: | ||||||
|       requests: |  | ||||||
|         memory: 1Gi |  | ||||||
|         cpu: 200m |  | ||||||
|     initdb: |     initdb: | ||||||
|  |       database: app | ||||||
|  |       owner: app | ||||||
|       postInitSQL: |       postInitSQL: | ||||||
|         - CREATE DATABASE "radarr-main" OWNER "app"; |         - CREATE DATABASE "radarr-main" OWNER "app"; | ||||||
|         - CREATE DATABASE "radarr-log" OWNER "app"; |         - CREATE DATABASE "radarr-log" OWNER "app"; | ||||||
|   recovery: |   recovery: | ||||||
|     method: objectStore |     method: objectStore | ||||||
|     objectStore: |     objectStore: | ||||||
|  |       endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr5-4k/radarr5-4k-postgresql-17-cluster |       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr5-4k/radarr5-4k-postgresql-17-cluster | ||||||
|       index: 1 |  | ||||||
|       endpointCredentials: radarr-4k-postgresql-17-cluster-backup-secret |       endpointCredentials: radarr-4k-postgresql-17-cluster-backup-secret | ||||||
|  |       recoveryIndex: 3 | ||||||
|   backup: |   backup: | ||||||
|     objectStore: |     enabled: true | ||||||
|       - name: external |     endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr5-4k/radarr5-4k-postgresql-17-cluster |     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr5-4k/radarr5-4k-postgresql-17-cluster | ||||||
|         index: 1 |  | ||||||
|     endpointCredentials: radarr-4k-postgresql-17-cluster-backup-secret |     endpointCredentials: radarr-4k-postgresql-17-cluster-backup-secret | ||||||
|         retentionPolicy: "2d" |     backupIndex: 3 | ||||||
|         isWALArchiver: true |     retentionPolicy: "7d" | ||||||
|       # - name: garage |  | ||||||
|       #   destinationPath: s3://postgres-backups/cl01tl/radarr-4k/radarr5-4k-postgresql-17-cluster |  | ||||||
|       #   index: 1 |  | ||||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 |  | ||||||
|       #   endpointCredentials: radarr-4k-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|       #   retentionPolicy: "30d" |  | ||||||
|       #   data: |  | ||||||
|       #     compression: bzip2 |  | ||||||
|       #     jobs: 2 |  | ||||||
|     scheduledBackups: |  | ||||||
|       - name: daily-backup |  | ||||||
|         suspend: false |  | ||||||
|         schedule: "0 0 0 * * *" |  | ||||||
|         backupName: external |  | ||||||
|       # - name: weekly-backup |  | ||||||
|       #   suspend: false |  | ||||||
|       #   schedule: "0 18 4 * * SAT" |  | ||||||
|       #   backupName: garage |  | ||||||
|   | |||||||
| @@ -24,10 +24,10 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: radarr-anime |     alias: radarr-anime | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|   - name: postgres-cluster |   - name: postgres-cluster | ||||||
|     alias: postgres-17-cluster |     alias: postgres-17-cluster | ||||||
|     version: 6.14.0 |     version: 5.1.0 | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr-anime.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr-anime.png | ||||||
| appVersion: 5.22.4 | appVersion: 5.22.4 | ||||||
|   | |||||||
| @@ -83,33 +83,3 @@ spec: | |||||||
|         key: /digital-ocean/home-infra/postgres-backups |         key: /digital-ocean/home-infra/postgres-backups | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: secret |         property: secret | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: external-secrets.io/v1 |  | ||||||
| kind: ExternalSecret |  | ||||||
| metadata: |  | ||||||
|   name: radarr-anime-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: radarr-anime-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   secretStoreRef: |  | ||||||
|     kind: ClusterSecretStore |  | ||||||
|     name: vault |  | ||||||
|   data: |  | ||||||
|     - secretKey: ACCESS_KEY_ID |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_KEY_ID |  | ||||||
|     - secretKey: ACCESS_SECRET_KEY |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_SECRET_KEY |  | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ radarr-anime: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/linuxserver/radarr |             repository: ghcr.io/linuxserver/radarr | ||||||
|             tag: 5.28.0@sha256:fae2aafa6ecace3524fc79d102f5bfd25fb151caed6a454cee46479236ac33bf |             tag: 5.25.0@sha256:36e43720c130ec2d3ed80726d2134af3c6644729f4750abc830fdda7fa71d1e1 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
| @@ -29,7 +29,7 @@ radarr-anime: | |||||||
|         metrics: |         metrics: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/onedr0p/exportarr |             repository: ghcr.io/onedr0p/exportarr | ||||||
|             tag: v2.3.0 |             tag: v2.2.0 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           args: ["radarr"] |           args: ["radarr"] | ||||||
|           env: |           env: | ||||||
| @@ -83,7 +83,7 @@ radarr-anime: | |||||||
|               readOnly: false |               readOnly: false | ||||||
| postgres-17-cluster: | postgres-17-cluster: | ||||||
|   nameOverride: radarr5-anime-postgresql-17 |   nameOverride: radarr5-anime-postgresql-17 | ||||||
|   mode: recovery |   mode: standalone | ||||||
|   cluster: |   cluster: | ||||||
|     storage: |     storage: | ||||||
|       storageClass: local-path |       storageClass: local-path | ||||||
| @@ -93,39 +93,24 @@ postgres-17-cluster: | |||||||
|       enabled: true |       enabled: true | ||||||
|       prometheusRule: |       prometheusRule: | ||||||
|         enabled: true |         enabled: true | ||||||
|  |   bootstrap: | ||||||
|     initdb: |     initdb: | ||||||
|  |       database: app | ||||||
|  |       owner: app | ||||||
|       postInitSQL: |       postInitSQL: | ||||||
|         - CREATE DATABASE "radarr-main" OWNER "app"; |         - CREATE DATABASE "radarr-main" OWNER "app"; | ||||||
|         - CREATE DATABASE "radarr-log" OWNER "app"; |         - CREATE DATABASE "radarr-log" OWNER "app"; | ||||||
|   recovery: |   recovery: | ||||||
|     method: objectStore |     method: objectStore | ||||||
|     objectStore: |     objectStore: | ||||||
|  |       endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr5-anime/radarr5-anime-postgresql-17-cluster |       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr5-anime/radarr5-anime-postgresql-17-cluster | ||||||
|       index: 1 |  | ||||||
|       endpointCredentials: radarr-anime-postgresql-17-cluster-backup-secret |       endpointCredentials: radarr-anime-postgresql-17-cluster-backup-secret | ||||||
|  |       recoveryIndex: 2 | ||||||
|   backup: |   backup: | ||||||
|     objectStore: |     enabled: true | ||||||
|       - name: external |     endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr5-anime/radarr5-anime-postgresql-17-cluster |     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr5-anime/radarr5-anime-postgresql-17-cluster | ||||||
|         index: 1 |  | ||||||
|     endpointCredentials: radarr-anime-postgresql-17-cluster-backup-secret |     endpointCredentials: radarr-anime-postgresql-17-cluster-backup-secret | ||||||
|         retentionPolicy: "2d" |     backupIndex: 3 | ||||||
|         isWALArchiver: true |     retentionPolicy: "7d" | ||||||
|       # - name: garage |  | ||||||
|       #   destinationPath: s3://postgres-backups/cl01tl/radarr-anime/radarr5-anime-postgresql-17-cluster |  | ||||||
|       #   index: 1 |  | ||||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 |  | ||||||
|       #   endpointCredentials: radarr-anime-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|       #   retentionPolicy: "30d" |  | ||||||
|       #   data: |  | ||||||
|       #     compression: bzip2 |  | ||||||
|       #     jobs: 2 |  | ||||||
|     scheduledBackups: |  | ||||||
|       - name: daily-backup |  | ||||||
|         suspend: false |  | ||||||
|         schedule: "0 0 0 * * *" |  | ||||||
|         backupName: external |  | ||||||
|       # - name: weekly-backup |  | ||||||
|       #   suspend: false |  | ||||||
|       #   schedule: "0 20 4 * * SAT" |  | ||||||
|       #   backupName: garage |  | ||||||
|   | |||||||
| @@ -23,10 +23,10 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: radarr-standup |     alias: radarr-standup | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|   - name: postgres-cluster |   - name: postgres-cluster | ||||||
|     alias: postgres-17-cluster |     alias: postgres-17-cluster | ||||||
|     version: 6.14.0 |     version: 5.1.0 | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr.png | ||||||
| appVersion: 5.22.4 | appVersion: 5.22.4 | ||||||
|   | |||||||
| @@ -83,33 +83,3 @@ spec: | |||||||
|         key: /digital-ocean/home-infra/postgres-backups |         key: /digital-ocean/home-infra/postgres-backups | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: secret |         property: secret | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: external-secrets.io/v1 |  | ||||||
| kind: ExternalSecret |  | ||||||
| metadata: |  | ||||||
|   name: radarr-standup-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: radarr-standup-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   secretStoreRef: |  | ||||||
|     kind: ClusterSecretStore |  | ||||||
|     name: vault |  | ||||||
|   data: |  | ||||||
|     - secretKey: ACCESS_KEY_ID |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_KEY_ID |  | ||||||
|     - secretKey: ACCESS_SECRET_KEY |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_SECRET_KEY |  | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ radarr-standup: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/linuxserver/radarr |             repository: ghcr.io/linuxserver/radarr | ||||||
|             tag: 5.28.0@sha256:fae2aafa6ecace3524fc79d102f5bfd25fb151caed6a454cee46479236ac33bf |             tag: 5.25.0@sha256:36e43720c130ec2d3ed80726d2134af3c6644729f4750abc830fdda7fa71d1e1 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
| @@ -29,7 +29,7 @@ radarr-standup: | |||||||
|         metrics: |         metrics: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/onedr0p/exportarr |             repository: ghcr.io/onedr0p/exportarr | ||||||
|             tag: v2.3.0 |             tag: v2.2.0 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           args: ["radarr"] |           args: ["radarr"] | ||||||
|           env: |           env: | ||||||
| @@ -83,7 +83,7 @@ radarr-standup: | |||||||
|               readOnly: false |               readOnly: false | ||||||
| postgres-17-cluster: | postgres-17-cluster: | ||||||
|   nameOverride: radarr5-standup-postgresql-17 |   nameOverride: radarr5-standup-postgresql-17 | ||||||
|   mode: recovery |   mode: standalone | ||||||
|   cluster: |   cluster: | ||||||
|     storage: |     storage: | ||||||
|       storageClass: local-path |       storageClass: local-path | ||||||
| @@ -93,39 +93,24 @@ postgres-17-cluster: | |||||||
|       enabled: true |       enabled: true | ||||||
|       prometheusRule: |       prometheusRule: | ||||||
|         enabled: true |         enabled: true | ||||||
|  |   bootstrap: | ||||||
|     initdb: |     initdb: | ||||||
|  |       database: app | ||||||
|  |       owner: app | ||||||
|       postInitSQL: |       postInitSQL: | ||||||
|         - CREATE DATABASE "radarr-main" OWNER "app"; |         - CREATE DATABASE "radarr-main" OWNER "app"; | ||||||
|         - CREATE DATABASE "radarr-log" OWNER "app"; |         - CREATE DATABASE "radarr-log" OWNER "app"; | ||||||
|   recovery: |   recovery: | ||||||
|     method: objectStore |     method: objectStore | ||||||
|     objectStore: |     objectStore: | ||||||
|  |       endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr5-standup/radarr5-standup-postgresql-17-cluster |       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr5-standup/radarr5-standup-postgresql-17-cluster | ||||||
|       index: 1 |  | ||||||
|       endpointCredentials: radarr-standup-postgresql-17-cluster-backup-secret |       endpointCredentials: radarr-standup-postgresql-17-cluster-backup-secret | ||||||
|  |       recoveryIndex: 3 | ||||||
|   backup: |   backup: | ||||||
|     objectStore: |     enabled: true | ||||||
|       - name: external |     endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr5-standup/radarr5-standup-postgresql-17-cluster |     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr5-standup/radarr5-standup-postgresql-17-cluster | ||||||
|         index: 1 |  | ||||||
|     endpointCredentials: radarr-standup-postgresql-17-cluster-backup-secret |     endpointCredentials: radarr-standup-postgresql-17-cluster-backup-secret | ||||||
|         retentionPolicy: "2d" |     backupIndex: 3 | ||||||
|         isWALArchiver: true |     retentionPolicy: "7d" | ||||||
|       # - name: garage |  | ||||||
|       #   destinationPath: s3://postgres-backups/cl01tl/radarr-standup/radarr5-standup-postgresql-17-cluster |  | ||||||
|       #   index: 1 |  | ||||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 |  | ||||||
|       #   endpointCredentials: radarr-standup-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|       #   retentionPolicy: "30d" |  | ||||||
|       #   data: |  | ||||||
|       #     compression: bzip2 |  | ||||||
|       #     jobs: 2 |  | ||||||
|     scheduledBackups: |  | ||||||
|       - name: daily-backup |  | ||||||
|         suspend: false |  | ||||||
|         schedule: "0 0 0 * * *" |  | ||||||
|         backupName: external |  | ||||||
|       # - name: weekly-backup |  | ||||||
|       #   suspend: false |  | ||||||
|       #   schedule: "0 22 4 * * SAT" |  | ||||||
|       #   backupName: garage |  | ||||||
|   | |||||||
| @@ -23,10 +23,10 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: radarr |     alias: radarr | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|   - name: postgres-cluster |   - name: postgres-cluster | ||||||
|     alias: postgres-17-cluster |     alias: postgres-17-cluster | ||||||
|     version: 6.14.0 |     version: 5.1.0 | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr.png | ||||||
| appVersion: 5.22.4 | appVersion: 5.22.4 | ||||||
|   | |||||||
| @@ -83,33 +83,3 @@ spec: | |||||||
|         key: /digital-ocean/home-infra/postgres-backups |         key: /digital-ocean/home-infra/postgres-backups | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: secret |         property: secret | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: external-secrets.io/v1 |  | ||||||
| kind: ExternalSecret |  | ||||||
| metadata: |  | ||||||
|   name: radarr-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: radarr-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   secretStoreRef: |  | ||||||
|     kind: ClusterSecretStore |  | ||||||
|     name: vault |  | ||||||
|   data: |  | ||||||
|     - secretKey: ACCESS_KEY_ID |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_KEY_ID |  | ||||||
|     - secretKey: ACCESS_SECRET_KEY |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_SECRET_KEY |  | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ radarr: | |||||||
|         main: |         main: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/linuxserver/radarr |             repository: ghcr.io/linuxserver/radarr | ||||||
|             tag: 5.28.0@sha256:fae2aafa6ecace3524fc79d102f5bfd25fb151caed6a454cee46479236ac33bf |             tag: 5.25.0@sha256:36e43720c130ec2d3ed80726d2134af3c6644729f4750abc830fdda7fa71d1e1 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: TZ |             - name: TZ | ||||||
| @@ -31,7 +31,7 @@ radarr: | |||||||
|         metrics: |         metrics: | ||||||
|           image: |           image: | ||||||
|             repository: ghcr.io/onedr0p/exportarr |             repository: ghcr.io/onedr0p/exportarr | ||||||
|             tag: v2.3.0 |             tag: v2.2.0 | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           args: ["radarr"] |           args: ["radarr"] | ||||||
|           env: |           env: | ||||||
| @@ -85,53 +85,38 @@ radarr: | |||||||
|               readOnly: false |               readOnly: false | ||||||
| postgres-17-cluster: | postgres-17-cluster: | ||||||
|   nameOverride: radarr5-postgresql-17 |   nameOverride: radarr5-postgresql-17 | ||||||
|   mode: recovery |   mode: standalone | ||||||
|   cluster: |   cluster: | ||||||
|     storage: |     storage: | ||||||
|       storageClass: local-path |       storageClass: local-path | ||||||
|     walStorage: |     walStorage: | ||||||
|       storageClass: local-path |       storageClass: local-path | ||||||
|     monitoring: |  | ||||||
|       enabled: true |  | ||||||
|       prometheusRule: |  | ||||||
|         enabled: true |  | ||||||
|     resources: |     resources: | ||||||
|       requests: |       requests: | ||||||
|         memory: 1Gi |         memory: 1Gi | ||||||
|         cpu: 200m |         cpu: 200m | ||||||
|  |     monitoring: | ||||||
|  |       enabled: true | ||||||
|  |       prometheusRule: | ||||||
|  |         enabled: true | ||||||
|  |   bootstrap: | ||||||
|     initdb: |     initdb: | ||||||
|  |       database: app | ||||||
|  |       owner: app | ||||||
|       postInitSQL: |       postInitSQL: | ||||||
|         - CREATE DATABASE "radarr-main" OWNER "app"; |         - CREATE DATABASE "radarr-main" OWNER "app"; | ||||||
|         - CREATE DATABASE "radarr-log" OWNER "app"; |         - CREATE DATABASE "radarr-log" OWNER "app"; | ||||||
|   recovery: |   recovery: | ||||||
|     method: objectStore |     method: objectStore | ||||||
|     objectStore: |     objectStore: | ||||||
|  |       endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr5/radarr5-postgresql-17-cluster |       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr5/radarr5-postgresql-17-cluster | ||||||
|       index: 2 |  | ||||||
|       endpointCredentials: radarr-postgresql-17-cluster-backup-secret |       endpointCredentials: radarr-postgresql-17-cluster-backup-secret | ||||||
|  |       recoveryIndex: 3 | ||||||
|   backup: |   backup: | ||||||
|     objectStore: |     enabled: true | ||||||
|       - name: external |     endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr5/radarr5-postgresql-17-cluster |     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/radarr5/radarr5-postgresql-17-cluster | ||||||
|         index: 2 |  | ||||||
|     endpointCredentials: radarr-postgresql-17-cluster-backup-secret |     endpointCredentials: radarr-postgresql-17-cluster-backup-secret | ||||||
|         retentionPolicy: "1d" |     backupIndex: 3 | ||||||
|         isWALArchiver: true |     retentionPolicy: "7d" | ||||||
|       # - name: garage |  | ||||||
|       #   destinationPath: s3://postgres-backups/cl01tl/radarr/radarr5-postgresql-17-cluster |  | ||||||
|       #   index: 1 |  | ||||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 |  | ||||||
|       #   endpointCredentials: radarr-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|       #   retentionPolicy: "30d" |  | ||||||
|       #   data: |  | ||||||
|       #     compression: bzip2 |  | ||||||
|       #     jobs: 2 |  | ||||||
|     scheduledBackups: |  | ||||||
|       - name: daily-backup |  | ||||||
|         suspend: false |  | ||||||
|         schedule: "0 0 */12 * * *" |  | ||||||
|         backupName: external |  | ||||||
|       # - name: weekly-backup |  | ||||||
|       #   suspend: false |  | ||||||
|       #   schedule: "0 16 4 * * SAT" |  | ||||||
|       #   backupName: garage |  | ||||||
|   | |||||||
| @@ -18,10 +18,10 @@ dependencies: | |||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: roundcube |     alias: roundcube | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|   - name: postgres-cluster |   - name: postgres-cluster | ||||||
|     alias: postgres-17-cluster |     alias: postgres-17-cluster | ||||||
|     version: 6.14.0 |     version: 5.1.0 | ||||||
|     repository: oci://harbor.alexlebens.net/helm-charts |     repository: oci://harbor.alexlebens.net/helm-charts | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/roundcube.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/roundcube.png | ||||||
| appVersion: 1.6.10 | appVersion: 1.6.10 | ||||||
|   | |||||||
| @@ -106,33 +106,3 @@ spec: | |||||||
|         key: /digital-ocean/home-infra/postgres-backups |         key: /digital-ocean/home-infra/postgres-backups | ||||||
|         metadataPolicy: None |         metadataPolicy: None | ||||||
|         property: secret |         property: secret | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: external-secrets.io/v1 |  | ||||||
| kind: ExternalSecret |  | ||||||
| metadata: |  | ||||||
|   name: roundcube-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|   namespace: {{ .Release.Namespace }} |  | ||||||
|   labels: |  | ||||||
|     app.kubernetes.io/name: roundcube-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|     app.kubernetes.io/instance: {{ .Release.Name }} |  | ||||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} |  | ||||||
| spec: |  | ||||||
|   secretStoreRef: |  | ||||||
|     kind: ClusterSecretStore |  | ||||||
|     name: vault |  | ||||||
|   data: |  | ||||||
|     - secretKey: ACCESS_KEY_ID |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_KEY_ID |  | ||||||
|     - secretKey: ACCESS_SECRET_KEY |  | ||||||
|       remoteRef: |  | ||||||
|         conversionStrategy: Default |  | ||||||
|         decodingStrategy: None |  | ||||||
|         key: /garage/home-infra/postgres-backups |  | ||||||
|         metadataPolicy: None |  | ||||||
|         property: ACCESS_SECRET_KEY |  | ||||||
|   | |||||||
| @@ -58,7 +58,7 @@ roundcube: | |||||||
|         nginx: |         nginx: | ||||||
|           image: |           image: | ||||||
|             repository: nginx |             repository: nginx | ||||||
|             tag: 1.29.2-alpine |             tag: 1.28.0-alpine | ||||||
|             pullPolicy: IfNotPresent |             pullPolicy: IfNotPresent | ||||||
|           env: |           env: | ||||||
|             - name: NGINX_HOST |             - name: NGINX_HOST | ||||||
| @@ -206,7 +206,7 @@ roundcube: | |||||||
|               mountPropagation: None |               mountPropagation: None | ||||||
|               subPath: default.conf |               subPath: default.conf | ||||||
| postgres-17-cluster: | postgres-17-cluster: | ||||||
|   mode: recovery |   mode: standalone | ||||||
|   cluster: |   cluster: | ||||||
|     storage: |     storage: | ||||||
|       storageClass: local-path |       storageClass: local-path | ||||||
| @@ -219,30 +219,13 @@ postgres-17-cluster: | |||||||
|   recovery: |   recovery: | ||||||
|     method: objectStore |     method: objectStore | ||||||
|     objectStore: |     objectStore: | ||||||
|  |       endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/roundcube/roundcube-postgresql-17-cluster |       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/roundcube/roundcube-postgresql-17-cluster | ||||||
|       index: 2 |       endpointCredentials: roundcube-postgresql-17-cluster-backup-secret | ||||||
|  |       recoveryIndex: 2 | ||||||
|   backup: |   backup: | ||||||
|     objectStore: |     enabled: true | ||||||
|       - name: external |     endpointURL: https://nyc3.digitaloceanspaces.com | ||||||
|     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/roundcube/roundcube-postgresql-17-cluster |     destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/roundcube/roundcube-postgresql-17-cluster | ||||||
|         index: 2 |     endpointCredentials: roundcube-postgresql-17-cluster-backup-secret | ||||||
|         retentionPolicy: "2d" |     backupIndex: 2 | ||||||
|         isWALArchiver: true |  | ||||||
|       # - name: garage |  | ||||||
|       #   destinationPath: s3://postgres-backups/cl01tl/roundcube/roundcube-postgresql-17-cluster |  | ||||||
|       #   index: 1 |  | ||||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 |  | ||||||
|       #   endpointCredentials: roundcube-postgresql-17-cluster-backup-secret-weekly |  | ||||||
|       #   retentionPolicy: "30d" |  | ||||||
|       #   data: |  | ||||||
|       #     compression: bzip2 |  | ||||||
|       #     jobs: 2 |  | ||||||
|     scheduledBackups: |  | ||||||
|       - name: daily-backup |  | ||||||
|         suspend: false |  | ||||||
|         schedule: "0 0 0 * * *" |  | ||||||
|         backupName: external |  | ||||||
|       # - name: weekly-backup |  | ||||||
|       #   suspend: false |  | ||||||
|       #   schedule: "0 24 4 * * SAT" |  | ||||||
|       #   backupName: garage |  | ||||||
|   | |||||||
| @@ -8,13 +8,18 @@ keywords: | |||||||
| home: https://wiki.alexlebens.dev/s/6c6da68a-8725-4439-93c8-990ce824be54 | home: https://wiki.alexlebens.dev/s/6c6da68a-8725-4439-93c8-990ce824be54 | ||||||
| sources: | sources: | ||||||
|   - https://github.com/searxng/searxng |   - https://github.com/searxng/searxng | ||||||
|  |   - https://github.com/valkey-io/valkey | ||||||
|   - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template |   - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template | ||||||
|  |   - https://github.com/bitnami/charts/tree/main/bitnami/valkey | ||||||
| maintainers: | maintainers: | ||||||
|   - name: alexlebens |   - name: alexlebens | ||||||
| dependencies: | dependencies: | ||||||
|   - name: app-template |   - name: app-template | ||||||
|     alias: searxng |     alias: searxng | ||||||
|     repository: https://bjw-s-labs.github.io/helm-charts/ |     repository: https://bjw-s-labs.github.io/helm-charts/ | ||||||
|     version: 4.4.0 |     version: 4.0.1 | ||||||
|  |   - name: valkey | ||||||
|  |     version: 3.0.12 | ||||||
|  |     repository: oci://harbor.alexlebens.net/proxy-registry-1.docker.io/bitnamicharts | ||||||
| icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/searxng.png | icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/searxng.png | ||||||
| appVersion: 1.0.0 | appVersion: 1.0.0 | ||||||
|   | |||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user