Compare commits

..

1 Commits

Author SHA1 Message Date
c66af8bc97 Update docker.io/postgres Docker tag to v18
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
lint-test-helm / lint-helm (pull_request) Failing after 23s
lint-test-docker / lint-docker-compose (pull_request) Successful in 23s
2025-12-06 18:03:19 +00:00
128 changed files with 410 additions and 736 deletions

View File

@@ -36,20 +36,14 @@ jobs:
id: branch-exists id: branch-exists
if: github.event_name == 'push' || steps.check-branch-exists.outputs.exists == 'true' && github.event_name == 'pull_request' if: github.event_name == 'push' || steps.check-branch-exists.outputs.exists == 'true' && github.event_name == 'pull_request'
run: | run: |
if [ ${{ github.event_name == 'push' }} ]; then
echo ">> Action is from a push event, will continue with linting"
else
echo ">> Branch ${{ gitea.base_ref }} exists, will continue with linting" echo ">> Branch ${{ gitea.base_ref }} exists, will continue with linting"
fi
echo "----" echo "----"
echo "exists=true" >> $GITEA_OUTPUT echo "exists=true" >> $GITEA_OUTPUT
- name: Set up Node.js - name: Set up Node.js
if: steps.branch-exists.outputs.exists == 'true' if: steps.check-branch-exists.outputs.exists == 'true'
uses: actions/setup-node@v6 uses: actions/setup-node@v6
with: with:
node-version: '24' node-version: '24'
@@ -65,11 +59,11 @@ jobs:
if [ "${{ github.event_name }}" == "pull_request" ]; then if [ "${{ github.event_name }}" == "pull_request" ]; then
echo "" echo ""
echo ">> Checking for changes in a pull request ..." echo ">> Checking for changes in a pull request ..."
GIT_DIFF=$(git diff --name-only "${BASE_BRANCH}" | xargs -I {} dirname {} | sort -u) GIT_DIFF=$(git diff --name-only "${BASE_BRANCH}" | xargs -I {} dirname {} | sort -u | grep -E "hosts/[^/]+/[^/]+")
else else
echo "" echo ""
echo ">> Checking for changes from a push ..." echo ">> Checking for changes from a push ..."
GIT_DIFF=$(git diff --name-only ${{ gitea.event.before }}..HEAD | xargs -I {} dirname {} | sort -u) GIT_DIFF=$(git diff --name-only ${{ gitea.event.before }}..HEAD | xargs -I {} dirname {} | sort -u | grep -E "hosts/[^/]+/[^/]+")
fi fi
if [ -n "${GIT_DIFF}" ]; then if [ -n "${GIT_DIFF}" ]; then
@@ -78,12 +72,7 @@ jobs:
echo "$GIT_DIFF" echo "$GIT_DIFF"
for path in $GIT_DIFF; do for path in $GIT_DIFF; do
if echo "$path" | grep -q -E "hosts/[^/]+/[^/]+"; then
echo ""
echo ">> Adding path: $path"
CHANGED_COMPOSE+=$(echo "$path") CHANGED_COMPOSE+=$(echo "$path")
CHANGED_COMPOSE+=$(echo " ")
fi
done done
else else
@@ -95,32 +84,27 @@ jobs:
if [ -n "${CHANGED_COMPOSE}" ]; then if [ -n "${CHANGED_COMPOSE}" ]; then
echo "" echo ""
echo ">> Compose to Lint:" echo ">> Compose to Lint:"
echo "$(echo "${CHANGED_COMPOSE}" | sort -u)" echo "$(echo "${CHANGED_COMPOSE[@]}" | sort -u)"
echo "----" echo "----"
echo "changes-detected=true" >> $GITEA_OUTPUT echo "changes-detected=true" >> $GITEA_OUTPUT
echo "compose-dir<<EOF" >> $GITEA_OUTPUT echo "compose-dir<<EOF" >> $GITEA_OUTPUT
echo "$(echo "${CHANGED_COMPOSE}" | sort -u)" >> $GITEA_OUTPUT echo "$(echo "${CHANGED_COMPOSE[@]}" | sort -u)" >> $GITEA_OUTPUT
echo "EOF" >> $GITEA_OUTPUT echo "EOF" >> $GITEA_OUTPUT
else else
echo ""
echo ">> Did not find any docker compose files to lint"
echo "----"
echo "changes-detected=false" >> $GITEA_OUTPUT echo "changes-detected=false" >> $GITEA_OUTPUT
fi fi
- name: Lint Docker Compose - name: Lint Docker Compose
if: steps.check-dir-changes.outputs.changes-detected == 'true' if: steps.check-branch-exists.outputs.exists == 'true'
env: env:
CHANGED_COMPOSE: ${{ steps.check-dir-changes.outputs.compose-dir }} CHANGED_COMPOSE: ${{ steps.check-dir-changes.outputs.compose-dir }}
run: | run: |
echo ">> Running dclint on changed compose files:" echo ">> Running dclint on changed compose files:"
echo "$CHANGED_COMPOSE" echo "$CHANGED_COMPOSE"
for compose in $CHANGED_COMPOSE; do echo "$CHANGED_COMPOSE" | while read -r compose; do
echo ">> Linting $compose ..." echo ">> Linting $compose ..."
npx dclint $compose npx dclint $compose
done done

View File

@@ -37,14 +37,8 @@ jobs:
id: branch-exists id: branch-exists
if: github.event_name == 'push' || steps.check-branch-exists.outputs.exists == 'true' && github.event_name == 'pull_request' if: github.event_name == 'push' || steps.check-branch-exists.outputs.exists == 'true' && github.event_name == 'pull_request'
run: | run: |
if [ ${{ github.event_name == 'push' }} ]; then
echo ">> Action is from a push event, will continue with linting"
else
echo ">> Branch ${{ gitea.base_ref }} exists, will continue with linting" echo ">> Branch ${{ gitea.base_ref }} exists, will continue with linting"
fi
echo "----" echo "----"
echo "exists=true" >> $GITEA_OUTPUT echo "exists=true" >> $GITEA_OUTPUT
@@ -54,7 +48,7 @@ jobs:
uses: azure/setup-helm@v4 uses: azure/setup-helm@v4
with: with:
token: ${{ secrets.GITEA_TOKEN }} token: ${{ secrets.GITEA_TOKEN }}
version: v3.19.2 version: v3
- name: Check Directories for Changes - name: Check Directories for Changes
id: check-dir-changes id: check-dir-changes
@@ -67,11 +61,11 @@ jobs:
if [ "${{ github.event_name }}" == "pull_request" ]; then if [ "${{ github.event_name }}" == "pull_request" ]; then
echo "" echo ""
echo ">> Checking for changes in a pull request ..." echo ">> Checking for changes in a pull request ..."
GIT_DIFF=$(git diff --name-only "${BASE_BRANCH}" | xargs -I {} dirname {} | sort -u) GIT_DIFF=$(git diff --name-only "${BASE_BRANCH}" | xargs -I {} dirname {} | sort -u | grep -E "clusters/[^/]+/helm/[^/]+")
else else
echo "" echo ""
echo ">> Checking for changes from a push ..." echo ">> Checking for changes from a push ..."
GIT_DIFF=$(git diff --name-only ${{ gitea.event.before }}..HEAD | xargs -I {} dirname {} | sort -u) GIT_DIFF=$(git diff --name-only ${{ gitea.event.before }}..HEAD | xargs -I {} dirname {} | sort -u | grep -E "clusters/[^/]+/helm/[^/]+")
fi fi
if [ -n "${GIT_DIFF}" ]; then if [ -n "${GIT_DIFF}" ]; then
@@ -80,12 +74,7 @@ jobs:
echo "$GIT_DIFF" echo "$GIT_DIFF"
for path in $GIT_DIFF; do for path in $GIT_DIFF; do
if echo "$path" | grep -q -E "clusters/[^/]+/helm/[^/]+"; then
echo ""
echo ">> Adding path: $path"
CHANGED_CHARTS+=$(echo "$path" | awk -F '/' '{print $4}') CHANGED_CHARTS+=$(echo "$path" | awk -F '/' '{print $4}')
CHANGED_CHARTS+=$(echo " ")
fi
done done
else else
@@ -97,20 +86,15 @@ jobs:
if [ -n "${CHANGED_CHARTS}" ]; then if [ -n "${CHANGED_CHARTS}" ]; then
echo "" echo ""
echo ">> Chart to Lint:" echo ">> Chart to Lint:"
echo "$(echo "${CHANGED_CHARTS}" | sort -u)" echo "$(echo "${CHANGED_CHARTS[@]}" | sort -u)"
echo "----" echo "----"
echo "changes-detected=true" >> $GITEA_OUTPUT echo "changes-detected=true" >> $GITEA_OUTPUT
echo "chart-dir<<EOF" >> $GITEA_OUTPUT echo "chart-dir<<EOF" >> $GITEA_OUTPUT
echo "$(echo "${CHANGED_CHARTS}" | sort -u)" >> $GITEA_OUTPUT echo "$(echo "${CHANGED_CHARTS[@]}" | sort -u)" >> $GITEA_OUTPUT
echo "EOF" >> $GITEA_OUTPUT echo "EOF" >> $GITEA_OUTPUT
else else
echo ""
echo ">> Did not find any helm charts files to lint"
echo "----"
echo "changes-detected=false" >> $GITEA_OUTPUT echo "changes-detected=false" >> $GITEA_OUTPUT
fi fi

View File

@@ -191,12 +191,7 @@ jobs:
echo "" echo ""
echo ">> Formating rendered template ..." echo ">> Formating rendered template ..."
echo "$TEMPLATE" | yq '... comments=""' | yq 'select(. != null)' | yq -s '"'"$OUTPUT_FOLDER"'" + .kind + "-" + .metadata.name + ".yaml"' echo "$TEMPLATE" | yq 'select(. != null)' | yq -s '"'"$OUTPUT_FOLDER"'" + .kind + "-" + .metadata.name + ".yaml"'
# Strip comments again to ensure formatting correctness
for file in "$OUTPUT_FOLDER"/*; do
yq -i '... comments=""' $file
done
echo "" echo ""
echo ">> Manifests for $chart_name rendered to $OUTPUT_FOLDER" echo ">> Manifests for $chart_name rendered to $OUTPUT_FOLDER"

View File

@@ -176,12 +176,7 @@ jobs:
echo "" echo ""
echo ">> Formating rendered template ..." echo ">> Formating rendered template ..."
echo "$TEMPLATE" | yq '... comments=""' | yq 'select(. != null)' | yq -s '"'"$OUTPUT_FOLDER"'" + .kind + "-" + .metadata.name + ".yaml"' echo "$TEMPLATE" | yq 'select(. != null)' | yq -s '"'"$OUTPUT_FOLDER"'" + .kind + "-" + .metadata.name + ".yaml"'
# Strip comments again to ensure formatting correctness
for file in "$OUTPUT_FOLDER"/*; do
yq -i '... comments=""' $file
done
echo "" echo ""
echo ">> Manifests for $chart_name rendered to $OUTPUT_FOLDER" echo ">> Manifests for $chart_name rendered to $OUTPUT_FOLDER"

View File

@@ -196,12 +196,7 @@ jobs:
echo "" echo ""
echo ">> Formating rendered template ..." echo ">> Formating rendered template ..."
echo "$TEMPLATE" | yq '... comments=""' | yq 'select(. != null)' | yq -s '"'"$OUTPUT_FOLDER"'" + .kind + "-" + .metadata.name + ".yaml"' echo "$TEMPLATE" | yq 'select(. != null)' | yq -s '"'"$OUTPUT_FOLDER"'" + .kind + "-" + .metadata.name + ".yaml"'
# Strip comments again to ensure formatting correctness
for file in "$OUTPUT_FOLDER"/*; do
yq -i '... comments=""' $file
done
echo "" echo ""
echo ">> Manifests for $chart_name rendered to $OUTPUT_FOLDER" echo ">> Manifests for $chart_name rendered to $OUTPUT_FOLDER"

View File

@@ -194,12 +194,7 @@ jobs:
echo "" echo ""
echo ">> Formating rendered template ..." echo ">> Formating rendered template ..."
echo "$TEMPLATE" | yq '... comments=""' | yq 'select(. != null)' | yq -s '"'"$OUTPUT_FOLDER"'" + .kind + "-" + .metadata.name + ".yaml"' echo "$TEMPLATE" | yq 'select(. != null)' | yq -s '"'"$OUTPUT_FOLDER"'" + .kind + "-" + .metadata.name + ".yaml"'
# Strip comments again to ensure formatting correctness
for file in "$OUTPUT_FOLDER"/*; do
yq -i '... comments=""' $file
done
echo "" echo ""
echo ">> Manifests for $chart_name rendered to $OUTPUT_FOLDER" echo ">> Manifests for $chart_name rendered to $OUTPUT_FOLDER"

View File

@@ -18,4 +18,4 @@ dependencies:
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.5.0 version: 4.5.0
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: 25.12.0 appVersion: 25.11.0

View File

@@ -1,12 +1,12 @@
dependencies: dependencies:
- name: argo-workflows - name: argo-workflows
repository: https://argoproj.github.io/argo-helm repository: https://argoproj.github.io/argo-helm
version: 0.46.2 version: 0.46.1
- name: argo-events - name: argo-events
repository: https://argoproj.github.io/argo-helm repository: https://argoproj.github.io/argo-helm
version: 2.4.19 version: 2.4.18
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1 version: 6.16.1
digest: sha256:40a93dfcabbc5746682bac631e9a620588cf0cb6fdf79a42446a823e93a531c8 digest: sha256:6cc24f6ce2b7f67c2eeab9bb6f64ebfedc082a2e809fc1f03f691f99a3006143
generated: "2025-12-11T15:49:57.970719-06:00" generated: "2025-12-04T01:01:06.532396136Z"

View File

@@ -18,14 +18,14 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: argo-workflows - name: argo-workflows
version: 0.46.2 version: 0.46.1
repository: https://argoproj.github.io/argo-helm repository: https://argoproj.github.io/argo-helm
- name: argo-events - name: argo-events
version: 2.4.19 version: 2.4.18
repository: https://argoproj.github.io/argo-helm repository: https://argoproj.github.io/argo-helm
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-17-cluster
version: 6.16.1 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png
appVersion: v3.7.6 appVersion: v3.6.7

View File

@@ -31,10 +31,10 @@ spec:
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: argo-workflows-postgresql-18-cluster-backup-secret name: argo-workflows-postgresql-17-cluster-backup-secret
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: argo-workflows-postgresql-18-cluster-backup-secret app.kubernetes.io/name: argo-workflows-postgresql-17-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:
@@ -61,10 +61,10 @@ spec:
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: argo-workflows-postgresql-18-cluster-backup-secret-garage name: argo-workflows-postgresql-17-cluster-backup-secret-garage
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: argo-workflows-postgresql-18-cluster-backup-secret-garage app.kubernetes.io/name: argo-workflows-postgresql-17-cluster-backup-secret-garage
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:

View File

@@ -9,15 +9,15 @@ argo-workflows:
nodeStatusOffLoad: true nodeStatusOffLoad: true
archive: true archive: true
postgresql: postgresql:
host: argo-workflows-postgresql-18-cluster-rw host: argo-workflows-postgresql-17-cluster-rw
port: 5432 port: 5432
database: app database: app
tableName: app tableName: app
userNameSecret: userNameSecret:
name: argo-workflows-postgresql-18-cluster-app name: argo-workflows-postgresql-17-cluster-app
key: username key: username
passwordSecret: passwordSecret:
name: argo-workflows-postgresql-18-cluster-app name: argo-workflows-postgresql-17-cluster-app
key: password key: password
ssl: false ssl: false
sslMode: disable sslMode: disable
@@ -59,6 +59,20 @@ argo-workflows:
useStaticCredentials: true useStaticCredentials: true
artifactRepository: artifactRepository:
archiveLogs: false archiveLogs: false
s3: {}
# accessKeySecret:
# name: "{{ .Release.Name }}-minio"
# key: accesskey
# secretKeySecret:
# name: "{{ .Release.Name }}-minio"
# key: secretkey
# insecure: true
# bucket:
# endpoint:
# region:
# encryptionOptions:
# enableEncryption: true
argo-events: argo-events:
controller: controller:
resources: resources:
@@ -75,12 +89,9 @@ argo-events:
requests: requests:
cpu: 10m cpu: 10m
memory: 128Mi memory: 128Mi
postgres-18-cluster: postgres-17-cluster:
mode: recovery mode: recovery
cluster: cluster:
image:
repository: ghcr.io/cloudnative-pg/postgresql
tag: 18.1-standard-trixie
storage: storage:
storageClass: local-path storageClass: local-path
walStorage: walStorage:
@@ -92,30 +103,30 @@ postgres-18-cluster:
recovery: recovery:
method: objectStore method: objectStore
objectStore: objectStore:
destinationPath: s3://postgres-backups/cl01tl/argo-workflows/argo-workflows-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/argo-workflows/argo-workflows-postgresql-17-cluster
endpointURL: http://garage-main.garage:3900 endpointURL: http://garage-main.garage:3900
index: 1 index: 1
endpointCredentials: argo-workflows-postgresql-18-cluster-backup-secret-garage endpointCredentials: argo-workflows-postgresql-17-cluster-backup-secret-garage
backup: backup:
objectStore: objectStore:
- name: external - name: external
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/argo-workflows/argo-workflows-postgresql-18-cluster destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/argo-workflows/argo-workflows-postgresql-17-cluster
index: 1 index: 1
retentionPolicy: "30d" retentionPolicy: "30d"
isWALArchiver: false isWALArchiver: false
- name: garage-local - name: garage-local
destinationPath: s3://postgres-backups/cl01tl/argo-workflows/argo-workflows-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/argo-workflows/argo-workflows-postgresql-17-cluster
index: 1 index: 1
endpointURL: http://garage-main.garage:3900 endpointURL: http://garage-main.garage:3900
endpointCredentials: argo-workflows-postgresql-18-cluster-backup-secret-garage endpointCredentials: argo-workflows-postgresql-17-cluster-backup-secret-garage
endpointCredentialsIncludeRegion: true endpointCredentialsIncludeRegion: true
retentionPolicy: "3d" retentionPolicy: "3d"
isWALArchiver: true isWALArchiver: true
# - name: garage-remote # - name: garage-remote
# destinationPath: s3://postgres-backups/cl01tl/argo-workflows/argo-workflows-postgresql-18-cluster # destinationPath: s3://postgres-backups/cl01tl/argo-workflows/argo-workflows-postgresql-17-cluster
# index: 1 # index: 1
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 # endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
# endpointCredentials: argo-workflows-postgresql-18-cluster-backup-secret-garage # endpointCredentials: argo-workflows-postgresql-17-cluster-backup-secret-garage
# endpointCredentialsIncludeRegion: true # endpointCredentialsIncludeRegion: true
# retentionPolicy: "30d" # retentionPolicy: "30d"
# data: # data:
@@ -123,7 +134,6 @@ postgres-18-cluster:
scheduledBackups: scheduledBackups:
- name: daily-backup - name: daily-backup
suspend: false suspend: false
immediate: true
schedule: "0 0 0 * * *" schedule: "0 0 0 * * *"
backupName: external backupName: external
- name: live-backup - name: live-backup
@@ -133,6 +143,5 @@ postgres-18-cluster:
backupName: garage-local backupName: garage-local
# - name: weekly-backup # - name: weekly-backup
# suspend: true # suspend: true
# immediate: true
# schedule: "0 0 4 * * SAT" # schedule: "0 0 4 * * SAT"
# backupName: garage-remote # backupName: garage-remote

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: argo-cd - name: argo-cd
repository: https://argoproj.github.io/argo-helm repository: https://argoproj.github.io/argo-helm
version: 9.1.7 version: 9.1.6
digest: sha256:ed1ae26f3e642750f6dd970c1adc4fa14a627fad13daf74169213199f74425b3 digest: sha256:488b8e826e7cc7179f154c1b7555e2cec78b69becb9f8cdbe4937b3546d87e5d
generated: "2025-12-09T23:01:55.027301875Z" generated: "2025-12-05T04:02:40.060511766Z"

View File

@@ -15,7 +15,7 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: argo-cd - name: argo-cd
version: 9.1.7 version: 9.1.6
repository: https://argoproj.github.io/argo-helm repository: https://argoproj.github.io/argo-helm
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png
appVersion: v3.2.1 appVersion: 3.0.0

View File

@@ -60,7 +60,7 @@ argo-cd:
enabled: true enabled: true
auth: false auth: false
redisSecretInit: redisSecretInit:
enabled: false enabled: true
server: server:
replicas: 2 replicas: 2
extensions: extensions:
@@ -279,7 +279,7 @@ argo-cd:
- description: Application has degraded - description: Application has degraded
send: send:
- app-health-degraded - app-health-degraded
when: app.status.health.status == 'Degraded' when: app.status.health.status == 'Degraded' and time.Now().Sub(time.Parse(app.status.health.lastTransitionTime).Minutes() >= 15
trigger.on-sync-failed: | trigger.on-sync-failed: |
- description: Application syncing has failed - description: Application syncing has failed
send: send:

View File

@@ -20,4 +20,4 @@ dependencies:
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.5.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/audiobookshelf.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/audiobookshelf.png
appVersion: 2.31.0 appVersion: 2.21.0

View File

@@ -4,9 +4,9 @@ dependencies:
version: 2025.10.2 version: 2025.10.2
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1 version: 6.16.1
digest: sha256:fdd5cc597cf958ca0f6f43dd403915c89c45718eff80920c2d322264dc8b09e1 digest: sha256:c3bafb322ca02710c8f325fefef20678957a8c6fd86894e44e5e318997e5cb80
generated: "2025-12-11T16:14:14.729827-06:00" generated: "2025-12-03T23:59:57.54998859Z"

View File

@@ -26,10 +26,10 @@ dependencies:
- name: cloudflared - name: cloudflared
alias: cloudflared alias: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-17-cluster
version: 6.16.1 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/authentik.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/authentik.png
appVersion: 2025.10.2 appVersion: 2025.4.1

View File

@@ -47,10 +47,10 @@ spec:
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: authentik-postgresql-18-cluster-backup-secret name: authentik-postgresql-17-cluster-backup-secret
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: authentik-postgresql-18-cluster-backup-secret app.kubernetes.io/name: authentik-postgresql-17-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:
@@ -77,10 +77,10 @@ spec:
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: authentik-postgresql-18-cluster-backup-secret-garage name: authentik-postgresql-17-cluster-backup-secret-garage
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: authentik-postgresql-18-cluster-backup-secret-garage app.kubernetes.io/name: authentik-postgresql-17-cluster-backup-secret-garage
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:

View File

@@ -13,7 +13,7 @@ spec:
runAsUser: 1000 runAsUser: 1000
fsGroup: 1000 fsGroup: 1000
kubernetesConfig: kubernetesConfig:
image: quay.io/opstree/redis:v8.4.0 image: quay.io/opstree/redis:v8.0.3
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
resources: resources:
requests: requests:
@@ -29,4 +29,4 @@ spec:
storage: 1Gi storage: 1Gi
redisExporter: redisExporter:
enabled: true enabled: true
image: quay.io/opstree/redis-exporter:v1.80.1 image: quay.io/opstree/redis-exporter:v1.48.0

View File

@@ -9,22 +9,22 @@ authentik:
- name: AUTHENTIK_POSTGRESQL__HOST - name: AUTHENTIK_POSTGRESQL__HOST
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: authentik-postgresql-18-cluster-app name: authentik-postgresql-17-cluster-app
key: host key: host
- name: AUTHENTIK_POSTGRESQL__NAME - name: AUTHENTIK_POSTGRESQL__NAME
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: authentik-postgresql-18-cluster-app name: authentik-postgresql-17-cluster-app
key: dbname key: dbname
- name: AUTHENTIK_POSTGRESQL__USER - name: AUTHENTIK_POSTGRESQL__USER
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: authentik-postgresql-18-cluster-app name: authentik-postgresql-17-cluster-app
key: user key: user
- name: AUTHENTIK_POSTGRESQL__PASSWORD - name: AUTHENTIK_POSTGRESQL__PASSWORD
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: authentik-postgresql-18-cluster-app name: authentik-postgresql-17-cluster-app
key: password key: password
authentik: authentik:
redis: redis:
@@ -50,12 +50,9 @@ authentik:
enabled: false enabled: false
cloudflared: cloudflared:
existingSecretName: authentik-cloudflared-secret existingSecretName: authentik-cloudflared-secret
postgres-18-cluster: postgres-17-cluster:
mode: recovery mode: recovery
cluster: cluster:
image:
repository: ghcr.io/cloudnative-pg/postgresql
tag: 18.1-standard-trixie
storage: storage:
storageClass: local-path storageClass: local-path
walStorage: walStorage:
@@ -67,30 +64,30 @@ postgres-18-cluster:
recovery: recovery:
method: objectStore method: objectStore
objectStore: objectStore:
destinationPath: s3://postgres-backups/cl01tl/authentik/authentik-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/authentik/authentik-postgresql-17-cluster
endpointURL: http://garage-main.garage:3900 endpointURL: http://garage-main.garage:3900
index: 1 index: 1
endpointCredentials: authentik-postgresql-18-cluster-backup-secret-garage endpointCredentials: authentik-postgresql-17-cluster-backup-secret-garage
backup: backup:
objectStore: objectStore:
- name: external - name: external
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/authentik/authentik-postgresql-18-cluster destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/authentik/authentik-postgresql-17-cluster
index: 1 index: 1
retentionPolicy: "30d" retentionPolicy: "30d"
isWALArchiver: false isWALArchiver: false
- name: garage-local - name: garage-local
destinationPath: s3://postgres-backups/cl01tl/authentik/authentik-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/authentik/authentik-postgresql-17-cluster
index: 1 index: 1
endpointURL: http://garage-main.garage:3900 endpointURL: http://garage-main.garage:3900
endpointCredentials: authentik-postgresql-18-cluster-backup-secret-garage endpointCredentials: authentik-postgresql-17-cluster-backup-secret-garage
endpointCredentialsIncludeRegion: true endpointCredentialsIncludeRegion: true
retentionPolicy: "3d" retentionPolicy: "3d"
isWALArchiver: true isWALArchiver: true
# - name: garage-remote # - name: garage-remote
# destinationPath: s3://postgres-backups/cl01tl/authentik/authentik-postgresql-18-cluster # destinationPath: s3://postgres-backups/cl01tl/authentik/authentik-postgresql-17-cluster
# index: 1 # index: 1
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 # endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
# endpointCredentials: authentik-postgresql-18-cluster-backup-secret-garage # endpointCredentials: authentik-postgresql-17-cluster-backup-secret-garage
# retentionPolicy: "30d" # retentionPolicy: "30d"
# data: # data:
# compression: bzip2 # compression: bzip2
@@ -98,7 +95,6 @@ postgres-18-cluster:
scheduledBackups: scheduledBackups:
- name: daily-backup - name: daily-backup
suspend: false suspend: false
immediate: true
schedule: "0 0 0 * * *" schedule: "0 0 0 * * *"
backupName: external backupName: external
- name: live-backup - name: live-backup
@@ -108,6 +104,5 @@ postgres-18-cluster:
backupName: garage-local backupName: garage-local
# - name: weekly-backup # - name: weekly-backup
# suspend: false # suspend: false
# immediate: true
# schedule: "0 0 4 * * SAT" # schedule: "0 0 4 * * SAT"
# backupName: garage-remote # backupName: garage-remote

View File

@@ -20,4 +20,4 @@ dependencies:
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.5.0 version: 4.5.0
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.3 appVersion: 1.5.2

View File

@@ -15,7 +15,7 @@ bazarr:
main: main:
image: image:
repository: ghcr.io/linuxserver/bazarr repository: ghcr.io/linuxserver/bazarr
tag: 1.5.3@sha256:4aa1e82d1e96ae712095d881b7e3840e6db6ca862c335be5b00001f31156650b tag: 1.5.3@sha256:ec11e988e8e13411c994a4d9f43ed9b97409aa92c1da54d9f23926c3da7c2032
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: TZ - name: TZ

View File

@@ -18,4 +18,4 @@ dependencies:
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.5.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/blocky.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/blocky.png
appVersion: v0.28.2 appVersion: v0.25

View File

@@ -13,7 +13,7 @@ spec:
runAsUser: 1000 runAsUser: 1000
fsGroup: 1000 fsGroup: 1000
kubernetesConfig: kubernetesConfig:
image: quay.io/opstree/redis:v8.4.0 image: quay.io/opstree/redis:v8.0.3
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
resources: resources:
requests: requests:
@@ -29,4 +29,4 @@ spec:
storage: 1Gi storage: 1Gi
redisExporter: redisExporter:
enabled: true enabled: true
image: quay.io/opstree/redis-exporter:v1.80.1 image: quay.io/opstree/redis-exporter:v1.48.0

View File

@@ -156,7 +156,6 @@ blocky:
radarr-anime IN CNAME traefik-cl01tl radarr-anime IN CNAME traefik-cl01tl
radarr-standup IN CNAME traefik-cl01tl radarr-standup IN CNAME traefik-cl01tl
searxng IN CNAME traefik-cl01tl searxng IN CNAME traefik-cl01tl
seerr IN CNAME traefik-cl01tl
slskd IN CNAME traefik-cl01tl slskd IN CNAME traefik-cl01tl
sonarr IN CNAME traefik-cl01tl sonarr IN CNAME traefik-cl01tl
sonarr-4k IN CNAME traefik-cl01tl sonarr-4k IN CNAME traefik-cl01tl

View File

@@ -21,4 +21,4 @@ dependencies:
version: 25.10.2 version: 25.10.2
repository: https://helm.mariadb.com/mariadb-operator repository: https://helm.mariadb.com/mariadb-operator
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/booklore.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/booklore.png
appVersion: v1.13.2 appVersion: v.1.10.0

View File

@@ -9,7 +9,7 @@ booklore:
main: main:
image: image:
repository: ghcr.io/booklore-app/booklore repository: ghcr.io/booklore-app/booklore
tag: v1.13.2 tag: v1.13.1
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: TZ - name: TZ

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: cert-manager - name: cert-manager
repository: https://charts.jetstack.io repository: https://charts.jetstack.io
version: v1.19.2 version: v1.19.1
digest: sha256:b02bda9b9f2fc886af11d017a27a5761513defee603f9e3aa1d7add2749b925c digest: sha256:0b1238a5552bc6d457d4b1a2a1f387a3e7f2c19f820ecb64e14d20481a1ed1ce
generated: "2025-12-10T15:01:57.196895547Z" generated: "2025-12-01T20:25:17.762628-06:00"

View File

@@ -14,7 +14,7 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: cert-manager - name: cert-manager
version: v1.19.2 version: v1.19.1
repository: https://charts.jetstack.io repository: https://charts.jetstack.io
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/cert-manager.png icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/cert-manager.png
appVersion: v1.19.2 appVersion: v1.17.2

View File

@@ -18,4 +18,4 @@ dependencies:
version: 1.18.4 version: 1.18.4
repository: https://helm.cilium.io/ repository: https://helm.cilium.io/
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/cilium.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/cilium.png
appVersion: 1.18.4 appVersion: 1.17.3

View File

@@ -1,9 +1,9 @@
dependencies: dependencies:
- name: cloudnative-pg - name: cloudnative-pg
repository: https://cloudnative-pg.io/charts/ repository: https://cloudnative-pg.io/charts/
version: 0.27.0 version: 0.26.1
- name: plugin-barman-cloud - name: plugin-barman-cloud
repository: https://cloudnative-pg.io/charts/ repository: https://cloudnative-pg.io/charts/
version: 0.3.1 version: 0.3.1
digest: sha256:14aa30b7bf75571b03bda19af68cd50c1e7908b883351b196a260609a5b85551 digest: sha256:b38e5104d77ab1737a27a2542eda958e82038443940f07b7c2cbe3b0a477e1e6
generated: "2025-12-10T19:25:17.952954019Z" generated: "2025-12-01T20:25:20.341325-06:00"

View File

@@ -16,10 +16,10 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: cloudnative-pg - name: cloudnative-pg
version: 0.27.0 version: 0.26.1
repository: https://cloudnative-pg.io/charts/ repository: https://cloudnative-pg.io/charts/
- name: plugin-barman-cloud - name: plugin-barman-cloud
version: 0.3.1 version: 0.3.1
repository: https://cloudnative-pg.io/charts/ repository: https://cloudnative-pg.io/charts/
icon: https://avatars.githubusercontent.com/u/100373852?s=200&v=4 icon: https://avatars.githubusercontent.com/u/100373852?s=200&v=4
appVersion: 1.28.0 appVersion: 1.26.0

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.5.0 version: 4.5.0
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
digest: sha256:3cf78630cd7670e1157a87fc7ccbeca248ef4ced8a3170e69140ea3e1b0ff564 digest: sha256:97b29950cc5c263835abebd7ef2ca9c98510eb4122b4a0877af6f305c4615673
generated: "2025-12-07T02:54:11.675097664Z" generated: "2025-12-05T17:03:32.780722525Z"

View File

@@ -23,6 +23,6 @@ dependencies:
- name: cloudflared - name: cloudflared
alias: cloudflared alias: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
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.106.3 appVersion: 4.100.2

View File

@@ -18,4 +18,4 @@ dependencies:
version: 1.45.0 version: 1.45.0
repository: https://coredns.github.io/helm repository: https://coredns.github.io/helm
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/coredns.png icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/coredns.png
appVersion: v1.13.2 appVersion: v1.12.1

View File

@@ -17,4 +17,4 @@ dependencies:
version: 0.34.0 version: 0.34.0
repository: https://kubernetes-sigs.github.io/descheduler/ repository: https://kubernetes-sigs.github.io/descheduler/
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png
appVersion: 0.34.0 appVersion: 0.33.0

View File

@@ -39,27 +39,16 @@ descheduler:
- name: RemovePodsViolatingNodeTaints - name: RemovePodsViolatingNodeTaints
- name: RemovePodsViolatingInterPodAntiAffinity - name: RemovePodsViolatingInterPodAntiAffinity
- name: RemovePodsViolatingTopologySpreadConstraint - name: RemovePodsViolatingTopologySpreadConstraint
- name: "HighNodeUtilization"
args:
thresholds:
cpu : 80
memory: 80
pods: 90
evictableNamespaces:
exclude:
- "kube-system"
evictionModes:
- "OnlyThresholdingResources"
- name: LowNodeUtilization - name: LowNodeUtilization
args: args:
thresholds: thresholds:
cpu: 30 cpu: 20
memory: 30 memory: 20
pods: 50 pods: 20
targetThresholds: targetThresholds:
cpu: 60 cpu: 60
memory: 40 memory: 60
pods: 80 pods: 60
plugins: plugins:
balance: balance:
enabled: enabled:

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.5.0 version: 4.5.0
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1 version: 6.16.1
digest: sha256:636b200b79efdd6ea36afdf29a5e85f3741b362dfcbf2af47c7aff9e55f02812 digest: sha256:0d195cd3f8ac9e0a48b4c793a29b9a35f880aa2a695e605825109d3f461573f6
generated: "2025-12-11T16:47:16.317535-06:00" generated: "2025-12-05T17:03:46.167997289Z"

View File

@@ -24,10 +24,10 @@ dependencies:
- 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.23.2 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-17-cluster
version: 6.16.1 version: 6.16.1
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.14.0 appVersion: 11.7.2

View File

@@ -151,10 +151,10 @@ spec:
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: directus-postgresql-18-cluster-backup-secret name: directus-postgresql-17-cluster-backup-secret
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: directus-postgresql-18-cluster-backup-secret app.kubernetes.io/name: directus-postgresql-17-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:
@@ -181,10 +181,40 @@ spec:
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: directus-postgresql-18-cluster-backup-secret-garage name: directus-postgresql-17-cluster-backup-secret-weekly
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: directus-postgresql-18-cluster-backup-secret-garage 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
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: directus-postgresql-17-cluster-backup-secret-garage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: directus-postgresql-17-cluster-backup-secret-garage
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:

View File

@@ -13,7 +13,7 @@ spec:
runAsUser: 1000 runAsUser: 1000
fsGroup: 1000 fsGroup: 1000
kubernetesConfig: kubernetesConfig:
image: quay.io/opstree/redis:v8.4.0 image: quay.io/opstree/redis:v8.2.1
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
redisSecret: redisSecret:
name: directus-redis-config name: directus-redis-config
@@ -32,4 +32,4 @@ spec:
storage: 1Gi storage: 1Gi
redisExporter: redisExporter:
enabled: true enabled: true
image: quay.io/opstree/redis-exporter:v1.80.1 image: quay.io/opstree/redis-exporter:v1.76.0

View File

@@ -19,7 +19,7 @@ spec:
name: directus-redis-config name: directus-redis-config
key: password key: password
kubernetesConfig: kubernetesConfig:
image: quay.io/opstree/redis-sentinel:v8.4.0 image: quay.io/opstree/redis-sentinel:v7.0.15
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
redisSecret: redisSecret:
name: directus-redis-config name: directus-redis-config

View File

@@ -9,7 +9,7 @@ directus:
main: main:
image: image:
repository: directus/directus repository: directus/directus
tag: 11.14.0 tag: 11.13.4
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: PUBLIC_URL - name: PUBLIC_URL
@@ -41,27 +41,27 @@ directus:
- name: DB_HOST - name: DB_HOST
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: directus-postgresql-18-cluster-app name: directus-postgresql-17-cluster-app
key: host key: host
- name: DB_DATABASE - name: DB_DATABASE
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: directus-postgresql-18-cluster-app name: directus-postgresql-17-cluster-app
key: dbname key: dbname
- name: DB_PORT - name: DB_PORT
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: directus-postgresql-18-cluster-app name: directus-postgresql-17-cluster-app
key: port key: port
- name: DB_USER - name: DB_USER
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: directus-postgresql-18-cluster-app name: directus-postgresql-17-cluster-app
key: user key: user
- name: DB_PASSWORD - name: DB_PASSWORD
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: directus-postgresql-18-cluster-app name: directus-postgresql-17-cluster-app
key: password key: password
- name: SYNCHRONIZATION_STORE - name: SYNCHRONIZATION_STORE
value: redis value: redis
@@ -156,12 +156,9 @@ directus:
cloudflared-directus: cloudflared-directus:
name: cloudflared-directus name: cloudflared-directus
existingSecretName: directus-cloudflared-secret existingSecretName: directus-cloudflared-secret
postgres-18-cluster: postgres-17-cluster:
mode: recovery mode: recovery
cluster: cluster:
image:
repository: ghcr.io/cloudnative-pg/postgresql
tag: 18.1-standard-trixie
storage: storage:
storageClass: local-path storageClass: local-path
walStorage: walStorage:
@@ -173,30 +170,30 @@ postgres-18-cluster:
recovery: recovery:
method: objectStore method: objectStore
objectStore: objectStore:
destinationPath: s3://postgres-backups/cl01tl/directus/directus-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/directus/directus-postgresql-17-cluster
endpointURL: http://garage-main.garage:3900 endpointURL: http://garage-main.garage:3900
index: 1 index: 1
endpointCredentials: directus-postgresql-18-cluster-backup-secret-garage endpointCredentials: directus-postgresql-17-cluster-backup-secret-garage
backup: backup:
objectStore: objectStore:
- name: external - name: external
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/directus/directus-postgresql-18-cluster destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/directus/directus-postgresql-17-cluster
index: 1 index: 1
retentionPolicy: "30d" retentionPolicy: "30d"
isWALArchiver: false isWALArchiver: false
- name: garage-local - name: garage-local
destinationPath: s3://postgres-backups/cl01tl/directus/directus-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/directus/directus-postgresql-17-cluster
index: 1 index: 1
endpointURL: http://garage-main.garage:3900 endpointURL: http://garage-main.garage:3900
endpointCredentials: directus-postgresql-18-cluster-backup-secret-garage endpointCredentials: directus-postgresql-17-cluster-backup-secret-garage
endpointCredentialsIncludeRegion: true endpointCredentialsIncludeRegion: true
retentionPolicy: "3d" retentionPolicy: "3d"
isWALArchiver: true isWALArchiver: true
# - name: garage-remote # - name: garage-remote
# destinationPath: s3://postgres-backups/cl01tl/directus/directus-postgresql-18-cluster # destinationPath: s3://postgres-backups/cl01tl/directus/directus-postgresql-17-cluster
# index: 1 # index: 1
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 # endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
# endpointCredentials: directus-postgresql-18-cluster-backup-secret-garage # endpointCredentials: directus-postgresql-17-cluster-backup-secret-garage
# retentionPolicy: "30d" # retentionPolicy: "30d"
# data: # data:
# compression: bzip2 # compression: bzip2
@@ -204,7 +201,6 @@ postgres-18-cluster:
scheduledBackups: scheduledBackups:
- name: daily-backup - name: daily-backup
suspend: false suspend: false
immediate: true
schedule: "0 0 0 * * *" schedule: "0 0 0 * * *"
backupName: external backupName: external
- name: live-backup - name: live-backup
@@ -214,6 +210,5 @@ postgres-18-cluster:
backupName: garage-local backupName: garage-local
# - name: weekly-backup # - name: weekly-backup
# suspend: false # suspend: false
# immediate: true
# schedule: "0 0 4 * * SAT" # schedule: "0 0 4 * * SAT"
# backupName: garage-remote # backupName: garage-remote

View File

@@ -18,4 +18,4 @@ dependencies:
version: 3.2.0 version: 3.2.0
repository: https://helm.elastic.co repository: https://helm.elastic.co
icon: https://helm.elastic.co/icons/eck.png icon: https://helm.elastic.co/icons/eck.png
appVersion: v3.2.0 appVersion: 1.26.0

View File

@@ -4,6 +4,6 @@ dependencies:
version: 1.4.26 version: 1.4.26
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
digest: sha256:f9196cbede894c6da6ecedd9ae05d3f1fd0e20304eca8ca38c18334a923b2235 digest: sha256:601cbb43296add7470b663f64b7bc18a2220d3cfff7bef397f72174929d9ff76
generated: "2025-12-07T02:54:29.895481505Z" generated: "2025-12-03T23:41:18.74872215Z"

View File

@@ -22,6 +22,6 @@ dependencies:
- name: cloudflared - name: cloudflared
alias: cloudflared alias: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/element.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/element.png
appVersion: v1.12.6 appVersion: v1.11.100

View File

@@ -17,4 +17,4 @@ dependencies:
version: 1.4.1 version: 1.4.1
repository: https://eraser-dev.github.io/eraser/charts repository: https://eraser-dev.github.io/eraser/charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png
appVersion: v1.4.1 appVersion: v1.3.1

View File

@@ -19,4 +19,4 @@ dependencies:
version: 1.19.0 version: 1.19.0
repository: https://kubernetes-sigs.github.io/external-dns/ repository: https://kubernetes-sigs.github.io/external-dns/
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png
appVersion: v0.20.0 appVersion: 1.16.1

View File

@@ -15,4 +15,4 @@ dependencies:
version: 1.1.1 version: 1.1.1
repository: https://charts.external-secrets.io repository: https://charts.external-secrets.io
icon: https://avatars.githubusercontent.com/u/68335991?s=48&v=4 icon: https://avatars.githubusercontent.com/u/68335991?s=48&v=4
appVersion: v1.1.1 appVersion: 0.17.0

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.5.0 version: 4.5.0
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1 version: 6.16.1
digest: sha256:dc8829a1f2cea88033bfda5d412dee8124154e26bfbe9e1bd67b8bb351ad7904 digest: sha256:9b9282efd9c59c36abcc2cad640a57a402f99474bd4154efcf4e6850a096b5ba
generated: "2025-12-11T17:07:50.35548-06:00" generated: "2025-12-05T17:04:16.909780215Z"

View File

@@ -24,10 +24,10 @@ dependencies:
- name: cloudflared - name: cloudflared
alias: cloudflared alias: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-17-cluster
version: 6.16.1 version: 6.16.1
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.27.1 appVersion: 1.26.2

View File

@@ -155,10 +155,10 @@ spec:
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: freshrss-postgresql-18-cluster-backup-secret name: freshrss-postgresql-17-cluster-backup-secret
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: freshrss-postgresql-18-cluster-backup-secret app.kubernetes.io/name: freshrss-postgresql-17-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:
@@ -185,10 +185,10 @@ spec:
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: freshrss-postgresql-18-cluster-backup-secret-garage name: freshrss-postgresql-17-cluster-backup-secret-garage
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: freshrss-postgresql-18-cluster-backup-secret-garage app.kubernetes.io/name: freshrss-postgresql-17-cluster-backup-secret-garage
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:

View File

@@ -98,22 +98,22 @@ freshrss:
- name: DB_HOST - name: DB_HOST
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: freshrss-postgresql-18-cluster-app name: freshrss-postgresql-17-cluster-app
key: host key: host
- name: DB_BASE - name: DB_BASE
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: freshrss-postgresql-18-cluster-app name: freshrss-postgresql-17-cluster-app
key: dbname key: dbname
- name: DB_USER - name: DB_USER
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: freshrss-postgresql-18-cluster-app name: freshrss-postgresql-17-cluster-app
key: user key: user
- name: DB_PASSWORD - name: DB_PASSWORD
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: freshrss-postgresql-18-cluster-app name: freshrss-postgresql-17-cluster-app
key: password key: password
- name: FRESHRSS_INSTALL - name: FRESHRSS_INSTALL
value: | value: |
@@ -193,12 +193,9 @@ freshrss:
readOnly: false readOnly: false
cloudflared: cloudflared:
existingSecretName: freshrss-cloudflared-secret existingSecretName: freshrss-cloudflared-secret
postgres-18-cluster: postgres-17-cluster:
mode: recovery mode: recovery
cluster: cluster:
image:
repository: ghcr.io/cloudnative-pg/postgresql
tag: 18.1-standard-trixie
storage: storage:
storageClass: local-path storageClass: local-path
walStorage: walStorage:
@@ -210,30 +207,30 @@ postgres-18-cluster:
recovery: recovery:
method: objectStore method: objectStore
objectStore: objectStore:
destinationPath: s3://postgres-backups/cl01tl/freshrss/freshrss-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/freshrss/freshrss-postgresql-17-cluster
endpointURL: http://garage-main.garage:3900 endpointURL: http://garage-main.garage:3900
index: 1 index: 1
endpointCredentials: freshrss-postgresql-18-cluster-backup-secret-garage endpointCredentials: freshrss-postgresql-17-cluster-backup-secret-garage
backup: backup:
objectStore: objectStore:
- name: external - name: external
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/freshrss/freshrss-postgresql-18-cluster destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/freshrss/freshrss-postgresql-17-cluster
index: 1 index: 1
retentionPolicy: "30d" retentionPolicy: "30d"
isWALArchiver: false isWALArchiver: false
- name: garage-local - name: garage-local
destinationPath: s3://postgres-backups/cl01tl/freshrss/freshrss-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/freshrss/freshrss-postgresql-17-cluster
index: 1 index: 1
endpointURL: http://garage-main.garage:3900 endpointURL: http://garage-main.garage:3900
endpointCredentials: freshrss-postgresql-18-cluster-backup-secret-garage endpointCredentials: freshrss-postgresql-17-cluster-backup-secret-garage
endpointCredentialsIncludeRegion: true endpointCredentialsIncludeRegion: true
retentionPolicy: "3d" retentionPolicy: "3d"
isWALArchiver: true isWALArchiver: true
# - name: garage-remote # - name: garage-remote
# destinationPath: s3://postgres-backups/cl01tl/freshrss/freshrss-postgresql-18-cluster # destinationPath: s3://postgres-backups/cl01tl/freshrss/freshrss-postgresql-17-cluster
# index: 1 # index: 1
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 # endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
# endpointCredentials: freshrss-postgresql-18-cluster-backup-secret-garage # endpointCredentials: freshrss-postgresql-17-cluster-backup-secret-garage
# retentionPolicy: "30d" # retentionPolicy: "30d"
# data: # data:
# compression: bzip2 # compression: bzip2
@@ -241,7 +238,6 @@ postgres-18-cluster:
scheduledBackups: scheduledBackups:
- name: daily-backup - name: daily-backup
suspend: false suspend: false
immediate: true
schedule: "0 0 0 * * *" schedule: "0 0 0 * * *"
backupName: external backupName: external
- name: live-backup - name: live-backup
@@ -251,6 +247,5 @@ postgres-18-cluster:
backupName: garage-local backupName: garage-local
# - name: weekly-backup # - name: weekly-backup
# suspend: false # suspend: false
# immediate: true
# schedule: "0 2 4 * * SAT" # schedule: "0 2 4 * * SAT"
# backupName: garage-remote # backupName: garage-remote

View File

@@ -5,5 +5,5 @@ dependencies:
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1 version: 6.16.1
digest: sha256:11d46f37e9f98a5562239e1b827a4caccc0ca14dc738681465e27ef5c5edd6d0 digest: sha256:53e3b31b3fa3916ac4478c0ca3733a18f7145a0129b6a9c7aefdaf8169cb525c
generated: "2025-12-11T17:23:01.072262-06:00" generated: "2025-12-04T00:00:45.882393108Z"

View File

@@ -21,8 +21,8 @@ dependencies:
repository: https://twin.github.io/helm-charts repository: https://twin.github.io/helm-charts
version: 1.4.4 version: 1.4.4
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-17-cluster
version: 6.16.1 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/gatus.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/gatus.png
appVersion: v5.33.0 appVersion: v5.12.0

View File

@@ -54,10 +54,10 @@ spec:
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: gatus-postgresql-18-cluster-backup-secret name: gatus-postgresql-17-cluster-backup-secret
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: gatus-postgresql-18-cluster-backup-secret app.kubernetes.io/name: gatus-postgresql-17-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:
@@ -84,10 +84,10 @@ spec:
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: gatus-postgresql-18-cluster-backup-secret-garage name: gatus-postgresql-17-cluster-backup-secret-garage
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: gatus-postgresql-18-cluster-backup-secret-garage app.kubernetes.io/name: gatus-postgresql-17-cluster-backup-secret-garage
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:

View File

@@ -36,27 +36,27 @@ gatus:
POSTGRES_USER: POSTGRES_USER:
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: gatus-postgresql-18-cluster-app name: gatus-postgresql-17-cluster-app
key: username key: username
POSTGRES_PASSWORD: POSTGRES_PASSWORD:
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: gatus-postgresql-18-cluster-app name: gatus-postgresql-17-cluster-app
key: password key: password
POSTGRES_HOST: POSTGRES_HOST:
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: gatus-postgresql-18-cluster-app name: gatus-postgresql-17-cluster-app
key: host key: host
POSTGRES_PORT: POSTGRES_PORT:
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: gatus-postgresql-18-cluster-app name: gatus-postgresql-17-cluster-app
key: port key: port
POSTGRES_DB: POSTGRES_DB:
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: gatus-postgresql-18-cluster-app name: gatus-postgresql-17-cluster-app
key: dbname key: dbname
resources: resources:
requests: requests:
@@ -125,9 +125,6 @@ gatus:
- name: overseerr - name: overseerr
url: https://overseerr.alexlebens.net url: https://overseerr.alexlebens.net
<<: *defaults <<: *defaults
- name: seerr
url: https://seerr.alexlebens.net
<<: *defaults
- name: yamtrack - name: yamtrack
url: https://yamtrack.alexlebens.net url: https://yamtrack.alexlebens.net
<<: *defaults <<: *defaults
@@ -143,9 +140,6 @@ gatus:
- name: audiobookshelf - name: audiobookshelf
url: https://audiobookshelf.alexlebens.net url: https://audiobookshelf.alexlebens.net
<<: *defaults <<: *defaults
- name: booklore
url: https://booklore.alexlebens.net
<<: *defaults
- name: home-assistant - name: home-assistant
url: https://home-assistant.alexlebens.net url: https://home-assistant.alexlebens.net
<<: *defaults <<: *defaults
@@ -182,11 +176,6 @@ gatus:
- name: n8n - name: n8n
url: https://n8n.alexlebens.net url: https://n8n.alexlebens.net
<<: *defaults <<: *defaults
- name: kronic
url: https://kronic.alexlebens.net
<<: *defaults
conditions:
- "[STATUS] == 401"
- name: omni-tools - name: omni-tools
url: https://omni-tools.alexlebens.net url: https://omni-tools.alexlebens.net
<<: *defaults <<: *defaults
@@ -256,9 +245,6 @@ gatus:
- name: ceph - name: ceph
url: https://ceph.alexlebens.net url: https://ceph.alexlebens.net
<<: *defaults <<: *defaults
- name: garage
url: https://garage-webui.alexlebens.net
<<: *defaults
- name: pgadmin - name: pgadmin
url: https://pgadmin.alexlebens.net url: https://pgadmin.alexlebens.net
<<: *defaults <<: *defaults
@@ -268,29 +254,6 @@ gatus:
- name: vault - name: vault
url: https://vault.alexlebens.net url: https://vault.alexlebens.net
<<: *defaults <<: *defaults
- name: backrest
url: https://backrest.alexlebens.net
<<: *defaults
- name: qui
url: https://qui.alexlebens.net
<<: *defaults
- name: qbittorrent
url: https://qbittorrent.alexlebens.net
<<: *defaults
- name: prowlarr
url: https://prowlarr.alexlebens.net
<<: *defaults
- name: huntarr
url: https://huntarr.alexlebens.net
<<: *defaults
- name: bazarr
url: https://bazarr.alexlebens.net
<<: *defaults
conditions:
- "[STATUS] == 401"
- name: tdarr
url: https://tdarr.alexlebens.net
<<: *defaults
- name: sonarr - name: sonarr
url: https://sonarr.alexlebens.net url: https://sonarr.alexlebens.net
<<: *defaults <<: *defaults
@@ -321,11 +284,25 @@ gatus:
- name: slskd - name: slskd
url: https://slskd.alexlebens.net url: https://slskd.alexlebens.net
<<: *defaults <<: *defaults
- name: ephemera - name: qui
url: https://ephemera.alexlebens.net url: https://qui.alexlebens.net
<<: *defaults <<: *defaults
- name: listenarr - name: qbittorrent
url: https://listenarr.alexlebens.net url: https://qbittorrent.alexlebens.net
<<: *defaults
- name: prowlarr
url: https://prowlarr.alexlebens.net
<<: *defaults
- name: bazarr
url: https://bazarr.alexlebens.net
<<: *defaults
conditions:
- "[STATUS] == 401"
- name: huntarr
url: https://huntarr.alexlebens.net
<<: *defaults
- name: tdarr
url: https://tdarr.alexlebens.net
<<: *defaults <<: *defaults
- name: www - name: www
url: https://www.alexlebens.dev url: https://www.alexlebens.dev
@@ -370,20 +347,27 @@ gatus:
url: https://codeserver.alexlebens.dev url: https://codeserver.alexlebens.dev
<<: *defaults <<: *defaults
group: external group: external
- name: authentik
url: https://auth.alexlebens.dev
<<: *defaults
group: external
- name: public homepage - name: public homepage
url: https://home.alexlebens.dev url: https://home.alexlebens.dev
<<: *defaults <<: *defaults
group: external group: external
postgres-18-cluster: - name: discord
group: public
url: https://discord.com/app
conditions:
- "[STATUS] == 200"
- "[RESPONSE_TIME] < 400"
interval: 10s
- name: reddit
group: public
url: https://reddit.com
conditions:
- "[STATUS] == 200"
- "[RESPONSE_TIME] < 400"
interval: 10s
postgres-17-cluster:
mode: recovery mode: recovery
cluster: cluster:
image:
repository: ghcr.io/cloudnative-pg/postgresql
tag: 18.1-standard-trixie
storage: storage:
storageClass: local-path storageClass: local-path
walStorage: walStorage:
@@ -395,19 +379,19 @@ postgres-18-cluster:
recovery: recovery:
method: objectStore method: objectStore
objectStore: objectStore:
destinationPath: s3://postgres-backups/cl01tl/gatus/gatus-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/gatus/gatus-postgresql-17-cluster
endpointURL: http://garage-main.garage:3900 endpointURL: http://garage-main.garage:3900
index: 1 index: 1
endpointCredentials: gatus-postgresql-18-cluster-backup-secret-garage endpointCredentials: gatus-postgresql-17-cluster-backup-secret-garage
backup: backup:
objectStore: objectStore:
- name: external - name: external
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/gatus/gatus-postgresql-18-cluster destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/gatus/gatus-postgresql-17-cluster
index: 2 index: 2
retentionPolicy: "30d" retentionPolicy: "30d"
isWALArchiver: false isWALArchiver: false
- name: garage-local - name: garage-local
destinationPath: s3://postgres-backups/cl01tl/gatus/gatus-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/gatus/gatus-postgresql-17-cluster
index: 1 index: 1
endpointURL: http://garage-main.garage:3900 endpointURL: http://garage-main.garage:3900
endpointCredentials: gatus-postgresql-17-cluster-backup-secret-garage endpointCredentials: gatus-postgresql-17-cluster-backup-secret-garage
@@ -415,10 +399,10 @@ postgres-18-cluster:
retentionPolicy: "3d" retentionPolicy: "3d"
isWALArchiver: true isWALArchiver: true
# - name: garage-remote # - name: garage-remote
# destinationPath: s3://postgres-backups/cl01tl/gatus/gatus-postgresql-18-cluster # destinationPath: s3://postgres-backups/cl01tl/gatus/gatus-postgresql-17-cluster
# index: 1 # index: 1
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 # endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
# endpointCredentials: gatus-postgresql-18-cluster-backup-secret-garage # endpointCredentials: gatus-postgresql-17-cluster-backup-secret-garage
# retentionPolicy: "30d" # retentionPolicy: "30d"
# data: # data:
# compression: bzip2 # compression: bzip2
@@ -426,7 +410,6 @@ postgres-18-cluster:
scheduledBackups: scheduledBackups:
- name: daily-backup - name: daily-backup
suspend: false suspend: false
immediate: true
schedule: "0 0 0 * * *" schedule: "0 0 0 * * *"
backupName: external backupName: external
- name: live-backup - name: live-backup
@@ -436,6 +419,5 @@ postgres-18-cluster:
backupName: garage-local backupName: garage-local
# - name: weekly-backup # - name: weekly-backup
# suspend: false # suspend: false
# immediate: true
# schedule: "0 0 4 * * SAT" # schedule: "0 0 4 * * SAT"
# backupName: garage-remote # backupName: garage-remote

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: generic-device-plugin - name: generic-device-plugin
repository: https://gitea.alexlebens.dev/api/packages/alexlebens/helm repository: https://gitea.alexlebens.dev/api/packages/alexlebens/helm
version: 0.20.5 version: 0.20.4
digest: sha256:329b2d00301ab1467a8654dd92febfd7078db121c00c0960548010c01dee66b6 digest: sha256:4aa24e57233783f99d3de453f997ff4dddecaea729ab09b78745ee89ffa0e4a8
generated: "2025-12-08T03:02:06.697075532Z" generated: "2025-12-06T01:01:30.343689275Z"

View File

@@ -15,6 +15,6 @@ maintainers:
dependencies: dependencies:
- name: generic-device-plugin - name: generic-device-plugin
repository: https://gitea.alexlebens.dev/api/packages/alexlebens/helm repository: https://gitea.alexlebens.dev/api/packages/alexlebens/helm
version: 0.20.5 version: 0.20.4
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png
appVersion: 1.0.0 appVersion: 1.0.0

View File

@@ -13,9 +13,9 @@ dependencies:
version: 0.17.2 version: 0.17.2
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1 version: 6.16.1
digest: sha256:392636c97a9be96f21c70f9b53559398aa15e67a0cae551041ee64f23088b59a digest: sha256:8850bad801d100185e4748ee90848d28c31c9e9e9e75da9051ee4da900e7e2af
generated: "2025-12-07T02:54:49.861996743Z" generated: "2025-12-05T17:04:42.441262591Z"

View File

@@ -41,7 +41,7 @@ dependencies:
- name: cloudflared - name: cloudflared
alias: cloudflared alias: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster
version: 6.16.1 version: 6.16.1

View File

@@ -12,6 +12,8 @@ spec:
matchLabels: matchLabels:
app.kubernetes.io/name: gitea app.kubernetes.io/name: gitea
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
matchExpressions:
- { key: app.kubernetes.io/controller, operator: NotIn, values: [backup] }
endpoints: endpoints:
- port: http - port: http

View File

@@ -174,9 +174,6 @@ gitea-actions:
backup: backup:
global: global:
fullnameOverride: gitea-backup fullnameOverride: gitea-backup
labels:
app.kubernetes.io/instance: gitea-backup
app.kubernetes.io/name: gitea-backup
controllers: controllers:
backup: backup:
type: cronjob type: cronjob
@@ -194,9 +191,6 @@ backup:
name: gitea-backup name: gitea-backup
pod: pod:
automountServiceAccountToken: true automountServiceAccountToken: true
labels:
app.kubernetes.io/instance: gitea-backup
app.kubernetes.io/name: gitea-backup
initContainers: initContainers:
backup: backup:
image: image:
@@ -218,7 +212,7 @@ backup:
s3-backup: s3-backup:
image: image:
repository: d3fk/s3cmd repository: d3fk/s3cmd
tag: latest@sha256:a4ef406e37628ee56e608b1567aeb0345e51142f56741b715322111be3b6ebcc tag: latest@sha256:590c42746db1252be8aad33e287c7910698c32b58b4fc34f67592a5bd0841551
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
command: command:
- /bin/sh - /bin/sh
@@ -242,7 +236,7 @@ backup:
s3-prune: s3-prune:
image: image:
repository: d3fk/s3cmd repository: d3fk/s3cmd
tag: latest@sha256:a4ef406e37628ee56e608b1567aeb0345e51142f56741b715322111be3b6ebcc tag: latest@sha256:590c42746db1252be8aad33e287c7910698c32b58b4fc34f67592a5bd0841551
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
command: command:
- /bin/sh - /bin/sh

View File

@@ -17,7 +17,7 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: harbor - name: harbor
version: 1.18.1 version: 1.18.0
repository: https://helm.goharbor.io repository: https://helm.goharbor.io
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster

View File

@@ -13,7 +13,7 @@ roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
subjects: subjects:
- kind: User - kind: User
name: https://authentik.alexlebens.net/application/o/headlamp/#alexanderlebens@gmail.com name: alexanderlebens@gmail.com
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
- kind: ServiceAccount - kind: ServiceAccount
name: headlamp-admin name: headlamp-admin

View File

@@ -40,14 +40,14 @@ spec:
key: /authentik/oidc/headlamp key: /authentik/oidc/headlamp
metadataPolicy: None metadataPolicy: None
property: scopes property: scopes
- secretKey: HEADLAMP_CONFIG_OIDC_VALIDATOR_IDP_ISSUER_URL - secretKey: OIDC_VALIDATOR_ISSUER_URL
remoteRef: remoteRef:
conversionStrategy: Default conversionStrategy: Default
decodingStrategy: None decodingStrategy: None
key: /authentik/oidc/headlamp key: /authentik/oidc/headlamp
metadataPolicy: None metadataPolicy: None
property: validator-issuer-url property: validator-issuer-url
- secretKey: HEADLAMP_CONFIG_OIDC_VALIDATOR_CLIENT_ID - secretKey: OIDC_VALIDATOR_CLIENT_ID
remoteRef: remoteRef:
conversionStrategy: Default conversionStrategy: Default
decodingStrategy: None decodingStrategy: None

View File

@@ -26,9 +26,6 @@ headlamp:
- name: trivy - name: trivy
source: https://artifacthub.io/packages/headlamp/headlamp-trivy/headlamp_trivy source: https://artifacthub.io/packages/headlamp/headlamp-trivy/headlamp_trivy
version: 0.3.1 version: 0.3.1
- name: external-secrets-operator
source: https://artifacthub.io/packages/headlamp/external-secrets-operator-headlamp-plugin/external-secrets-operator
version: 0.1.0-beta7
installOptions: installOptions:
parallel: false parallel: true
maxConcurrent: 1 maxConcurrent: 2

View File

@@ -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.12.2 tag: 2025.12.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: TZ - name: TZ

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.5.0 version: 4.5.0
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
digest: sha256:fbfdebf734560044cfe5d2c4771b63cbcabc121d13c44b751f914877b5bdc83f digest: sha256:c376b4c3c32f4d2e60a64248073f971e0e78d21b016d75832f5deb504b1cec6b
generated: "2025-12-07T02:55:01.91141803Z" generated: "2025-12-05T17:05:10.9852779Z"

View File

@@ -22,6 +22,6 @@ dependencies:
- name: cloudflared - name: cloudflared
alias: cloudflared alias: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.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

View File

@@ -11,7 +11,7 @@ homepage:
main: main:
image: image:
repository: ghcr.io/gethomepage/homepage repository: ghcr.io/gethomepage/homepage
tag: v1.8.0 tag: v1.7.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: HOMEPAGE_ALLOWED_HOSTS - name: HOMEPAGE_ALLOWED_HOSTS

View File

@@ -15,7 +15,7 @@ homepage:
main: main:
image: image:
repository: ghcr.io/gethomepage/homepage repository: ghcr.io/gethomepage/homepage
tag: v1.8.0 tag: v1.7.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: HOMEPAGE_ALLOWED_HOSTS - name: HOMEPAGE_ALLOWED_HOSTS
@@ -143,16 +143,10 @@ homepage:
statusStyle: dot statusStyle: dot
- Media Requests: - Media Requests:
icon: sh-overseerr.webp icon: sh-overseerr.webp
description: Overseerr 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 Requests (New):
icon: sh-overseerr.webp
description: Seerr
href: https://seerr.alexlebens.net
siteMonitor: http://seerr-seerr-chart.seerr:80
statusStyle: dot
- Media Tracking: - Media Tracking:
icon: sh-yamtrack.webp icon: sh-yamtrack.webp
description: Yamtrack description: Yamtrack

View File

@@ -7,6 +7,6 @@ dependencies:
version: 0.17.2 version: 0.17.2
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
digest: sha256:c291962defb9fb8614db91ea3eef795b2bdf82e0364595a27cbd335e7f9a3179 digest: sha256:d322e5d85648cebd8d7bc6228b2d84904bfcea705e01ebecba1d2f2ed869f548
generated: "2025-12-07T02:55:11.250839916Z" generated: "2025-12-05T17:06:25.81244037Z"

View File

@@ -27,6 +27,6 @@ dependencies:
- name: cloudflared - name: cloudflared
alias: cloudflared alias: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
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.26.0

View File

@@ -1,9 +1,9 @@
dependencies: dependencies:
- name: kube-prometheus-stack - name: kube-prometheus-stack
repository: oci://ghcr.io/prometheus-community/charts repository: oci://ghcr.io/prometheus-community/charts
version: 80.2.0 version: 79.12.0
- 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.5.0 version: 4.5.0
digest: sha256:78e60a6bd6407b1a2d0e1bb9f7717faedd7ad43ded9cb4b6a93e29e85bdf294a digest: sha256:e7edbec86ffbb16885333a6e1eeffec5c336bed8c161c52165949987eca4392d
generated: "2025-12-10T21:05:54.967633057Z" generated: "2025-12-05T21:30:48.985834989Z"

View File

@@ -19,7 +19,7 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: kube-prometheus-stack - name: kube-prometheus-stack
version: 80.2.0 version: 79.12.0
repository: oci://ghcr.io/prometheus-community/charts repository: oci://ghcr.io/prometheus-community/charts
- name: app-template - name: app-template
alias: ntfy-alertmanager alias: ntfy-alertmanager

View File

@@ -38,7 +38,7 @@ kubelet-serving-cert-approver:
main: main:
image: image:
repository: ghcr.io/alex1989hu/kubelet-serving-cert-approver repository: ghcr.io/alex1989hu/kubelet-serving-cert-approver
tag: 0.10.1 tag: 0.10.0
pullPolicy: Always pullPolicy: Always
args: args:
- serve - serve

View File

@@ -13,7 +13,7 @@ lidatube:
main: main:
image: image:
repository: thewicklowwolf/lidatube repository: thewicklowwolf/lidatube
tag: 0.2.42 tag: 0.2.41
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: PUID - name: PUID

View File

@@ -1,9 +1,9 @@
dependencies: dependencies:
- name: loki - name: loki
repository: https://grafana.github.io/helm-charts repository: https://grafana.github.io/helm-charts
version: 6.48.0 version: 6.46.0
- name: promtail - name: promtail
repository: https://grafana.github.io/helm-charts repository: https://grafana.github.io/helm-charts
version: 6.17.1 version: 6.17.1
digest: sha256:218f6fdff5df62e43f081f045ab7ccba541a792b42750e3ebb8ac28308072724 digest: sha256:ff5441b35309842526f15b544bf3a7cb80508b1547bbd0eb58fa584172b716be
generated: "2025-12-10T18:02:17.566041524Z" generated: "2025-12-01T19:55:56.473483-06:00"

View File

@@ -16,7 +16,7 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: loki - name: loki
version: 6.48.0 version: 6.46.0
repository: https://grafana.github.io/helm-charts repository: https://grafana.github.io/helm-charts
- name: promtail - name: promtail
version: 6.17.1 version: 6.17.1

View File

@@ -1,18 +1,18 @@
dependencies: dependencies:
- name: matrix-synapse - name: matrix-synapse
repository: https://ananace.gitlab.io/charts repository: https://ananace.gitlab.io/charts
version: 3.12.17 version: 3.12.16
- 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.5.0 version: 4.5.0
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1 version: 6.16.1
digest: sha256:b1df95bd8c258c15178f35b229b2d2aee28fc2fff2b5176ed734a7aaeffaa372 digest: sha256:8a50907ebe63a29d2219d824391e0cd1ed76e80adc234d0bc4dd48414cc24a83
generated: "2025-12-10T17:01:51.601498219Z" generated: "2025-12-05T17:08:37.566169937Z"

View File

@@ -29,7 +29,7 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: matrix-synapse - name: matrix-synapse
version: 3.12.17 version: 3.12.16
repository: https://ananace.gitlab.io/charts repository: https://ananace.gitlab.io/charts
- name: app-template - name: app-template
alias: matrix-hookshot alias: matrix-hookshot
@@ -45,11 +45,11 @@ dependencies:
# version: 4.0.1 # version: 4.0.1
- name: cloudflared - name: cloudflared
alias: cloudflared-synapse alias: cloudflared-synapse
version: 1.23.2 version: 1.23.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: cloudflared - name: cloudflared
alias: cloudflared-hookshot alias: cloudflared-hookshot
version: 1.23.2 version: 1.23.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster

View File

@@ -9,7 +9,7 @@ n8n:
main: main:
image: image:
repository: ghcr.io/n8n-io/n8n repository: ghcr.io/n8n-io/n8n
tag: 2.0.1 tag: 1.123.1
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: GENERIC_TIMEZONE - name: GENERIC_TIMEZONE
@@ -93,7 +93,7 @@ n8n:
main: main:
image: image:
repository: ghcr.io/n8n-io/n8n repository: ghcr.io/n8n-io/n8n
tag: 2.0.1 tag: 1.123.1
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
command: command:
- n8n - n8n
@@ -188,7 +188,7 @@ n8n:
main: main:
image: image:
repository: ghcr.io/n8n-io/n8n repository: ghcr.io/n8n-io/n8n
tag: 2.0.1 tag: 1.123.1
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
command: command:
- n8n - n8n

View File

@@ -22,7 +22,7 @@ ollama:
main: main:
image: image:
repository: ollama/ollama repository: ollama/ollama
tag: 0.13.2 tag: 0.13.1
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: OLLAMA_KEEP_ALIVE - name: OLLAMA_KEEP_ALIVE
@@ -58,7 +58,7 @@ ollama:
main: main:
image: image:
repository: ollama/ollama repository: ollama/ollama
tag: 0.13.2 tag: 0.13.1
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: OLLAMA_KEEP_ALIVE - name: OLLAMA_KEEP_ALIVE
@@ -94,7 +94,7 @@ ollama:
main: main:
image: image:
repository: ollama/ollama repository: ollama/ollama
tag: 0.13.2 tag: 0.13.1
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: OLLAMA_KEEP_ALIVE - name: OLLAMA_KEEP_ALIVE

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.5.0 version: 4.5.0
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1 version: 6.16.1
digest: sha256:6ef789f9db4ad00ce2178a138c3c39a4e90eaef1e4244f52282bc0cb3094f4f5 digest: sha256:968e3af0f01ea3a0597f8bfb17e5f82145a3503bb500e4369f70911c5377e822
generated: "2025-12-07T02:55:32.91116723Z" generated: "2025-12-05T17:09:44.110984861Z"

View File

@@ -25,7 +25,7 @@ dependencies:
- 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.23.2 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster
version: 6.16.1 version: 6.16.1

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.5.0 version: 4.5.0
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1 version: 6.16.1
digest: sha256:6ed7bd8fa055ec4def561bbd391d49544a6cea8cef596b279845290b666d5316 digest: sha256:0a1164bd6ef443f53cf93365fab60ecd6bf2623bf612ee860449cc47301da723
generated: "2025-12-07T02:55:42.350284796Z" generated: "2025-12-05T17:10:43.908497892Z"

View File

@@ -23,7 +23,7 @@ dependencies:
version: 4.5.0 version: 4.5.0
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster
version: 6.16.1 version: 6.16.1

View File

@@ -9,7 +9,7 @@ postiz:
main: main:
image: image:
repository: ghcr.io/gitroomhq/postiz-app repository: ghcr.io/gitroomhq/postiz-app
tag: v2.10.1 tag: v2.9.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: MAIN_URL - name: MAIN_URL

View File

@@ -15,7 +15,7 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: prometheus-operator-crds - name: prometheus-operator-crds
version: 25.0.1 version: 25.0.0
repository: oci://ghcr.io/prometheus-community/charts repository: oci://ghcr.io/prometheus-community/charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/prometheus.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/prometheus.png
appVersion: v0.82.0 appVersion: v0.82.0

View File

@@ -28,7 +28,7 @@ qbittorrent:
qbittorrent: qbittorrent:
image: image:
repository: ghcr.io/linuxserver/qbittorrent repository: ghcr.io/linuxserver/qbittorrent
tag: 5.1.4@sha256:043498de39c3dd63eec94360c5ad966a51271d1581070f42cb73ab0cf4776f29 tag: 5.1.4@sha256:f0465dbb2aa14397fd205a0240ee562eb062354c036ccc444084fe46c6c75091
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: TZ - name: TZ
@@ -190,7 +190,7 @@ qbittorrent:
qui: qui:
image: image:
repository: ghcr.io/autobrr/qui repository: ghcr.io/autobrr/qui
tag: v1.9.1 tag: v1.8.1
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: QUI__METRICS_ENABLED - name: QUI__METRICS_ENABLED

View File

@@ -14,7 +14,7 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: reloader - name: reloader
version: 2.2.6 version: 2.2.5
repository: https://stakater.github.io/stakater-charts repository: https://stakater.github.io/stakater-charts
icon: https://raw.githubusercontent.com/stakater/Reloader/refs/heads/master/assets/web/reloader.jpg icon: https://raw.githubusercontent.com/stakater/Reloader/refs/heads/master/assets/web/reloader.jpg
appVersion: v1.4.2 appVersion: v1.4.2

View File

@@ -7,6 +7,6 @@ dependencies:
version: v1.18.8 version: v1.18.8
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
digest: sha256:22c958d439ac2f43c7bfd4a9544bc1f26ddd0758182173eef9dba4a9cf97bae3 digest: sha256:28467614c6854e04a8733fb95b689d5a12f23878a030c56e529f06f490e5f9d8
generated: "2025-12-07T02:55:52.670455114Z" generated: "2025-12-03T21:00:36.655017976Z"

View File

@@ -24,6 +24,6 @@ dependencies:
- name: cloudflared - name: cloudflared
alias: cloudflared-rgw alias: cloudflared-rgw
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.2 version: 1.23.1
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/ceph.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/ceph.png
appVersion: v1.17.1 appVersion: v1.17.1

View File

@@ -58,7 +58,7 @@ roundcube:
nginx: nginx:
image: image:
repository: nginx repository: nginx
tag: 1.29.4-alpine tag: 1.29.3-alpine
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: NGINX_HOST - name: NGINX_HOST

View File

@@ -1,58 +1,5 @@
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata:
name: searxng-wireguard-conf
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: searxng-wireguard-conf
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: private-key
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /protonvpn/conf/cl01tl
metadataPolicy: None
property: private-key
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: searxng-browser-metrics-auth
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: searxng-browser-metrics-auth
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: metrics-password
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: cl01tl/searxng/browser
metadataPolicy: None
property: metrics-password
- secretKey: metrics-username
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: cl01tl/searxng/browser
metadataPolicy: None
property: metrics-username
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata: metadata:
name: searxng-api-config-secret name: searxng-api-config-secret
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}

View File

@@ -1,11 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: searxng
labels:
app.kubernetes.io/name: searxng
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
pod-security.kubernetes.io/audit: privileged
pod-security.kubernetes.io/enforce: privileged
pod-security.kubernetes.io/warn: privileged

View File

@@ -0,0 +1,32 @@
apiVersion: redis.redis.opstreelabs.in/v1beta2
kind: RedisReplication
metadata:
name: redis-replication-searxng
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: redis-replication-searxng
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

View File

@@ -1,26 +1,19 @@
apiVersion: monitoring.coreos.com/v1 apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor kind: ServiceMonitor
metadata: metadata:
name: searxng-browser name: redis-replication-searxng
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: searxng-browser app.kubernetes.io/name: redis-replication-searxng
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 }}
redis-operator: "true"
env: production
spec: spec:
selector: selector:
matchLabels: matchLabels:
app.kubernetes.io/name: searxng-browser redis_setup_type: replication
app.kubernetes.io/instance: {{ .Release.Name }}
endpoints: endpoints:
- port: mail - port: redis-exporter
interval: 30s interval: 30s
scrapeTimeout: 15s scrapeTimeout: 10s
path: /metrics
basicAuth:
password:
name: searxng-browser-metrics-auth
key: metrics-password
username:
name: searxng-browser-metrics-auth
key: metrics-username

View File

@@ -9,7 +9,7 @@ searxng:
main: main:
image: image:
repository: searxng/searxng repository: searxng/searxng
tag: latest@sha256:95e59f5ba7d48b4c7ee92f2705907e52c5b98715b0d8c4802863322a502a8c4a tag: latest@sha256:c25c6b671382f0464318b2de3b142f1c9fe3721e46fdad027f4d6caf399728ea
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: SEARXNG_BASE_URL - name: SEARXNG_BASE_URL
@@ -18,6 +18,10 @@ searxng:
value: http://searxng-api.searxng:8080/search?q=<query> value: http://searxng-api.searxng:8080/search?q=<query>
- name: SEARXNG_HOSTNAME - name: SEARXNG_HOSTNAME
value: searxng-api.searxng value: searxng-api.searxng
- name: UWSGI_WORKERS
value: 4
- name: UWSGI_THREADS
value: 4
- name: ENABLE_RAG_WEB_SEARCH - name: ENABLE_RAG_WEB_SEARCH
value: true value: true
- name: RAG_WEB_SEARCH_ENGINE - name: RAG_WEB_SEARCH_ENGINE
@@ -39,7 +43,7 @@ searxng:
main: main:
image: image:
repository: searxng/searxng repository: searxng/searxng
tag: latest@sha256:95e59f5ba7d48b4c7ee92f2705907e52c5b98715b0d8c4802863322a502a8c4a tag: latest@sha256:c25c6b671382f0464318b2de3b142f1c9fe3721e46fdad027f4d6caf399728ea
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: SEARXNG_BASE_URL - name: SEARXNG_BASE_URL
@@ -48,57 +52,16 @@ searxng:
value: https://searxng.alexlebens.net/search?q=<query> value: https://searxng.alexlebens.net/search?q=<query>
- name: SEARXNG_HOSTNAME - name: SEARXNG_HOSTNAME
value: searxng.alexlebens.net value: searxng.alexlebens.net
- name: SEARXNG_VALKEY_URL - name: SEARXNG_REDIS_URL
value: valkey://127.0.0.1:6379/0 value: redis://redis-replication-searxng-master.searxng:6379/0
- name: GRANIAN_HOST - name: UWSGI_WORKERS
value: 0.0.0.0 value: 4
- name: GRANIAN_PORT - name: UWSGI_THREADS
value: 8080 value: 4
resources: resources:
requests: requests:
cpu: 10m cpu: 10m
memory: 256Mi memory: 256Mi
valkey:
image:
repository: valkey/valkey
tag: 9.0.0-alpine3.22
pullPolicy: IfNotPresent
resources:
requests:
cpu: 10m
memory: 128Mi
gluetun:
image:
repository: ghcr.io/qdm12/gluetun
tag: v3.40.3@sha256:ef4a44819a60469682c7b5e69183e6401171891feaa60186652d292c59e41b30
pullPolicy: IfNotPresent
env:
- name: VPN_SERVICE_PROVIDER
value: protonvpn
- name: VPN_TYPE
value: wireguard
- name: WIREGUARD_PRIVATE_KEY
valueFrom:
secretKeyRef:
name: searxng-wireguard-conf
key: private-key
- name: FIREWALL_OUTBOUND_SUBNETS
value: 192.168.1.0/24,10.244.0.0/16
- name: FIREWALL_INPUT_PORTS
value: 8080
securityContext:
privileged: True
capabilities:
add:
- NET_ADMIN
- SYS_MODULE
resources:
limits:
devic.es/tun: "1"
requests:
devic.es/tun: "1"
cpu: 10m
memory: 64Mi
service: service:
api: api:
controller: api controller: api
@@ -148,12 +111,3 @@ searxng:
main: main:
- path: /etc/searxng - path: /etc/searxng
readOnly: false readOnly: false
valkey-data:
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 5Gi
advancedMounts:
browser:
valkey:
- path: /data
readOnly: false

Some files were not shown because too many files have changed in this diff Show More