Compare commits

..

1 Commits

Author SHA1 Message Date
6242c529c1 Update postgres-cluster Docker tag to v6.16.1
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
lint-test-helm / helm-lint (pull_request) Successful in 2m41s
2025-12-03 06:18:13 +00:00
92 changed files with 271 additions and 1089 deletions

View File

@@ -1,4 +1,4 @@
name: render-manifests-automerge
name: render-manfiest-automerge
on:
pull_request:
@@ -17,7 +17,7 @@ env:
MANIFEST_DIR: /workspace/alexlebens/infrastructure/infrastructure-manifests
jobs:
render-manifests-automerge:
render-manfiest-automerge:
runs-on: ubuntu-js
if: ${{ (github.event.pull_request.merged == true) && (contains(github.event.pull_request.labels.*.name, 'automerge')) }}
steps:
@@ -64,10 +64,10 @@ jobs:
RENDER_DIR=()
echo ">> Checking for changes from HEAD^..HEAD ..."
GIT_DIFF=$(git diff --name-only HEAD^..HEAD | xargs -I {} dirname {} | sort -u | grep "clusters/cl01tl/helm/")
echo ">> Checking for changes ..."
GIT_DIFF=$(git diff --name-only ${{ gitea.event.before }}..HEAD | xargs -I {} dirname {} | sort -u | grep "clusters/cl01tl/helm/")
if [ -n "${GIT_DIFF}" ]; then
if [ -n $GIT_DIFF ]; then
echo ">> Changes detected:"
echo "$GIT_DIFF"
for path in $GIT_DIFF; do
@@ -79,7 +79,7 @@ jobs:
fi
if [ -n "${RENDER_DIR}" ]; then
if [ -n $RENDER_DIR ]; then
echo ">> Directories to Render:"
echo "$(printf "%s\n" "${RENDER_DIR[@]}" | sort -u)"
@@ -108,11 +108,6 @@ jobs:
| while read cmd; do echo "$cmd" | sh; done || true
done
if helm repo list | tail +2 | read -r; then
echo ">> Update repository cache ..."
helm repo update
fi
echo "----"
- name: Remove Changed Manifest Files
@@ -158,7 +153,7 @@ jobs:
echo ""
echo ">> Building helm dependency ..."
helm dependency build --skip-refresh
helm dependency build
echo ""
echo ">> Linting helm ..."
@@ -166,33 +161,7 @@ jobs:
echo ""
echo ">> Rendering templates ..."
case "$chart_name" in
"stack")
echo ">> Special Rendering for stack ..."
helm template stack ./ --namespace argocd --include-crds > "$OUTPUT_FILE"
;;
"cilium")
echo ">> Special Rendering for cilium ..."
helm template cilium ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;;
"coredns")
echo ">> Special Rendering for coredns ..."
helm template coredns ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;;
"metrics-server")
echo ">> Special Rendering for metrics-server ..."
helm template metrics-server ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;;
"prometheus-operator-crds")
echo ">> Special Rendering for prometheus-operator-crds ..."
helm template prometheus-operator-crds ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;;
*)
echo ">> Standard Rendering for $chart_name ..."
helm template "$chart_name" ./ --namespace "$chart_name" --include-crds > "$OUTPUT_FILE"
;;
esac
helm template "$chart_name" ./ --namespace "$chart_name" --include-crds > "$OUTPUT_FILE"
echo ""
echo ">> Manifests for $chart_name rendered to $OUTPUT_FILE"
@@ -318,7 +287,7 @@ jobs:
GITEA_TOKEN: ${{ secrets.BOT_TOKEN }}
GITEA_URL: ${{ secrets.REPO_URL }}
BRANCH_NAME: ${{ steps.prepare-manifest-branch.outputs.BRANCH_NAME }}
PR_ID: ${{ steps.create-pull-request.outputs.pull-request-id }}
PR_ID: ${{ steps.prepare-manifest-branch.outputs.pull-request-id }}
run: |
cd ${MANIFEST_DIR}
@@ -394,6 +363,7 @@ jobs:
details: "Automerge Manifest rendering for Infrastructure!"
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png"
actions: '[{"action": "view", "label": "Open Gitea", "url": "${{ steps.create-pull-request.outputs.pull-request-url }}", "clear": true}]'
image: true
- name: ntfy Failed
uses: niniyas/ntfy-action@master

View File

@@ -1,381 +0,0 @@
name: render-manifests-dispatch
on:
workflow_dispatch:
env:
CLUSTER: cl01tl
BASE_BRANCH: manifests
BRANCH_NAME: auto/update-manifests
ASSIGNEE: alexlebens
MAIN_DIR: /workspace/alexlebens/infrastructure/infrastructure
MANIFEST_DIR: /workspace/alexlebens/infrastructure/infrastructure-manifests
jobs:
render-manifests-dispatch:
runs-on: ubuntu-js
steps:
- name: Checkout Main
uses: actions/checkout@v6
with:
path: infrastructure
fetch-depth: 0
- name: Checkout Manifests
uses: actions/checkout@v6
with:
ref: manifests
path: infrastructure-manifests
- name: Set up Helm
uses: azure/setup-helm@v4
with:
token: ${{ secrets.GITEA_TOKEN }}
version: v3.17.2 # Pending https://github.com/helm/helm/pull/30743
- name: Prepare Manifest Branch
run: |
cd ${MANIFEST_DIR}
echo ">> Configure git to use gitea-bot as user ..."
git config user.name "gitea-bot"
git config user.email "gitea-bot@alexlebens.net"
echo ">> Checking if PR branch exists ..."
if [[ $(git ls-remote --heads origin "${BRANCH_NAME}" | wc -l) -gt 0 ]]; then
echo ">> Branch '${BRANCH_NAME}' exists, pulling changes ..."
git fetch origin "${BRANCH_NAME}"
git checkout "${BRANCH_NAME}"
git pull --rebase
else
echo ">> Branch '${BRANCH_NAME}' does not exist, creating ..."
git checkout -b $BRANCH_NAME
fi
echo "----"
- name: Check which Directories have Changes
id: check-dir-changes
run: |
cd ${MAIN_DIR}
RENDER_DIR=()
echo ">> Triggered on dispatch, will check all paths ..."
RENDER_DIR+=$(ls clusters/cl01tl/helm/)
if [ -n "${RENDER_DIR}" ]; then
echo ">> Directories to Render:"
echo "$(printf "%s\n" "${RENDER_DIR[@]}" | sort -u)"
echo "----"
echo "changes-detected=true" >> $GITEA_OUTPUT
echo "render-dir<<EOF" >> $GITEA_OUTPUT
echo "$(printf "%s\n" "${RENDER_DIR[@]}" | sort -u)" >> $GITEA_OUTPUT
echo "EOF" >> $GITEA_OUTPUT
else
echo "changes-detected=false" >> $GITEA_OUTPUT
fi
- name: Add Repositories
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
RENDER_DIR: ${{ steps.check-dir-changes.outputs.render-dir }}
run: |
cd ${MAIN_DIR}
echo ">> Adding repositories for chart dependencies ..."
for dir in ${RENDER_DIR}; do
helm dependency list --max-col-width 120 ${MAIN_DIR}/clusters/${CLUSTER}/helm/$dir 2> /dev/null \
| tail +2 | head -n -1 \
| awk '{ print "helm repo add " $1 " " $3 }' \
| while read cmd; do echo "$cmd" | sh; done || true
done
if helm repo list | tail +2 | read -r; then
echo ">> Update repository cache ..."
helm repo update
fi
echo "----"
- name: Remove Changed Manifest Files
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
RENDER_DIR: ${{ steps.check-dir-changes.outputs.render-dir }}
run: |
cd ${MANIFEST_DIR}
echo ">> Remove manfiest files and rebuild from source ..."
for dir in ${RENDER_DIR}; do
chart_path=${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$dir
echo "$chart_path"
rm -rf $chart_path/*
done
echo "----"
- name: Render Helm Manifests
id: render-manifests
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
RENDER_DIR: ${{ steps.check-dir-changes.outputs.render-dir }}
run: |
cd ${MAIN_DIR}
echo ">> Rendering Manifests ..."
for dir in ${RENDER_DIR}; do
chart_path=${MAIN_DIR}/clusters/${CLUSTER}/helm/$dir
chart_name=$(basename "$chart_path")
echo ">> Rendering chart: $chart_name"
echo ">> Chart path $chart_path"
if [ -f "$chart_path/Chart.yaml" ]; then
mkdir -p ${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name
OUTPUT_FILE="${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name/$chart_name.yaml"
cd $chart_path
echo ""
echo ">> Building helm dependency ..."
helm dependency build --skip-refresh
echo ""
echo ">> Linting helm ..."
helm lint --namespace "$chart_name"
echo ""
echo ">> Rendering templates ..."
case "$chart_name" in
"stack")
echo ">> Special Rendering for stack ..."
helm template stack ./ --namespace argocd --include-crds > "$OUTPUT_FILE"
;;
"cilium")
echo ">> Special Rendering for cilium ..."
helm template cilium ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;;
"coredns")
echo ">> Special Rendering for coredns ..."
helm template coredns ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;;
"metrics-server")
echo ">> Special Rendering for metrics-server ..."
helm template metrics-server ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;;
"prometheus-operator-crds")
echo ">> Special Rendering for prometheus-operator-crds ..."
helm template prometheus-operator-crds ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;;
*)
echo ">> Standard Rendering for $chart_name ..."
helm template "$chart_name" ./ --namespace "$chart_name" --include-crds > "$OUTPUT_FILE"
;;
esac
echo ""
echo ">> Manifests for $chart_name rendered to $OUTPUT_FILE"
echo ""
else
echo ""
echo ">> Directory $chart_path does not contain a Chart.yaml. Skipping ..."
echo ""
fi
done
echo "----"
- name: Check for Changes
id: check-changes
if: steps.check-dir-changes.outputs.changes-detected == 'true'
run: |
cd ${MANIFEST_DIR}
if git status --porcelain | grep -q .; then
echo ">> Changes detected"
git status --porcelain
echo "changes-detected=true" >> $GITEA_OUTPUT
else
echo ">> No changes detected, skipping PR creation"
exit 0
fi
echo "----"
- name: Commit and Push Changes
id: commit-push
if: steps.check-changes.outputs.changes-detected == 'true'
run: |
cd ${MANIFEST_DIR}
echo ">> Commiting changes to ${BRANCH_NAME} ..."
git add .
git commit -m "chore: Update manifests after change"
REPO_URL="${{ secrets.REPO_URL }}/${{ gitea.repository }}"
echo ">> Pushing changes to $REPO_URL ..."
git push -u "https://oauth2:${{ secrets.BOT_TOKEN }}@$(echo $REPO_URL | sed -e 's|https://||')" ${BRANCH_NAME}
echo "----"
echo "HEAD_BRANCH=${BRANCH_NAME}" >> $GITEA_OUTPUT
echo "push=true" >> $GITEA_OUTPUT
- name: Check for Pull Request
id: check-for-pull-requst
if: steps.commit-push.outputs.push == 'true'
env:
GITEA_TOKEN: ${{ secrets.BOT_TOKEN }}
GITEA_URL: ${{ secrets.REPO_URL }}
HEAD_BRANCH: ${{ steps.commit-push.outputs.HEAD_BRANCH }}
run: |
cd ${MANIFEST_DIR}
API_ENDPOINT="${GITEA_URL}/api/v1/repos/${{ gitea.repository }}/pulls?base_branch=${BASE_BRANCH}&state=open&page=1"
echo ">> Checking if PR from branch ${HEAD_BRANCH} into ${BASE_BRANCH}"
echo ">> With Endpoint of:"
echo "$API_ENDPOINT"
HTTP_STATUS=$(
curl -X GET \
--silent \
--write-out '%{http_code}' \
--output response_body.json \
--dump-header response_headers.txt \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \
"$API_ENDPOINT" 2> response_errors.txt
)
echo ">> HTTP Status Code: $HTTP_STATUS"
echo ">> Response Output ..."
echo "----"
cat response_body.json
echo "----"
cat response_headers.txt
echo "----"
cat response_errors.txt
echo "----"
if [ "$HTTP_STATUS" == "200" ] && [ "$(cat response_body.json | jq -r .[0].state)" == "open" ]; then
echo ">> Pull Request has been found open, will update"
PR_INDEX=$(cat response_body.json | jq -r .[0].number)
echo "pull-request-exists=${PR_INDEX}" >> $GITEA_OUTPUT
echo "pull-request-index=true" >> $GITEA_OUTPUT
elif [ "$HTTP_STATUS" == "200" ] && [ "$(cat response_body.json | jq -r .[0].state)" == "closed" ]; then
echo ">> Pull Request found, but was closed"
echo "pull-request-exists=false" >> $GITEA_OUTPUT
else
echo ">> Pull Request not found"
echo "pull-request-exists=false" >> $GITEA_OUTPUT
fi
echo "----"
- name: Create Pull Request
id: create-pull-request
if: steps.commit-push.outputs.push == 'true' && steps.check-for-pull-requst.outputs.pull-request-exists == 'false'
env:
GITEA_TOKEN: ${{ secrets.BOT_TOKEN }}
GITEA_URL: ${{ secrets.REPO_URL }}
HEAD_BRANCH: ${{ steps.commit-push.outputs.HEAD_BRANCH }}
run: |
cd ${MANIFEST_DIR}
API_ENDPOINT="${GITEA_URL}/api/v1/repos/${{ gitea.repository }}/pulls"
PAYLOAD=$( jq -n \
--arg head "${HEAD_BRANCH}" \
--arg base "${BASE_BRANCH}" \
--arg assignee "${ASSIGNEE}" \
--arg title "Automated Manifest Update" \
--arg body "This PR contains newly rendered Kubernetes manifests automatically generated by the CI workflow." \
'{head: $head, base: $base, assignee: $assignee, title: $title, body: $body'} )
echo ">> Creating PR from branch ${HEAD_BRANCH} into ${BASE_BRANCH}"
echo ">> With Endpoint of:"
echo "$API_ENDPOINT"
echo ">> With Payload of:"
echo "$PAYLOAD"
HTTP_STATUS=$(
curl -X POST \
--silent \
--write-out '%{http_code}' \
--output response_body.json \
--dump-header response_headers.txt \
--data "$PAYLOAD" \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \
"$API_ENDPOINT" 2> response_errors.txt
)
echo ">> HTTP Status Code: $HTTP_STATUS"
echo ">> Response Output ..."
echo "----"
cat response_body.json
echo "----"
cat response_headers.txt
echo "----"
cat response_errors.txt
echo "----"
if [ "$HTTP_STATUS" == "201" ]; then
echo ">> Pull Request created successfully!"
PR_URL=$(cat response_body.json | jq -r .html_url)
echo "pull-request-url=${PR_URL}" >> $GITEA_OUTPUT
PR_ID=$(cat response_body.json | jq -r .id)
echo "pull-request-id=${PR_ID}" >> $GITEA_OUTPUT
echo "pull-request-operation=created" >> $GITEA_OUTPUT
elif [ "$HTTP_STATUS" == "422" ]; then
echo ">> Failed to create PR (HTTP 422: Unprocessable Entity), PR may already exist"
elif [ "$HTTP_STATUS" == "409" ]; then
echo ">> Failed to create PR (HTTP 409: Conflict), PR already exists"
else
echo ">> Failed to create PR, HTTP status code: $HTTP_STATUS"
exit 1
fi
echo "----"
- name: ntfy Created
uses: niniyas/ntfy-action@master
if: steps.create-pull-request.outputs.pull-request-operation == 'created'
with:
url: "${{ secrets.NTFY_URL }}"
topic: "${{ secrets.NTFY_TOPIC }}"
title: "Manifest Render PR Created - Infrastructure"
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,successfully,completed
details: "Manifest rendering for Infrastructure has created a new Pull Request with ID: ${{ steps.create-pull-request.outputs.pull-request-id }}!"
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png"
actions: '[{"action": "view", "label": "Open Gitea", "url": "${{ steps.create-pull-request.outputs.pull-request-url }}", "clear": true}]'
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: "${{ secrets.NTFY_URL }}"
topic: "${{ secrets.NTFY_TOPIC }}"
title: "Manifest Render Failure - Infrastructure"
priority: 4
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: "Manifest rendering for Infrastructure has failed!"
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png"
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/infrastructure/actions?workflow=render-manifests.yaml", "clear": true}]'
image: true

View File

@@ -1,400 +0,0 @@
name: render-manifests-merge
on:
pull_request:
branches:
- main
paths:
- 'clusters/cl01tl/helm/**'
types:
- closed
env:
CLUSTER: cl01tl
BASE_BRANCH: manifests
BRANCH_NAME: auto/update-manifests
ASSIGNEE: alexlebens
MAIN_DIR: /workspace/alexlebens/infrastructure/infrastructure
MANIFEST_DIR: /workspace/alexlebens/infrastructure/infrastructure-manifests
jobs:
render-manifests-merge:
runs-on: ubuntu-js
if: ${{ (github.event.pull_request.merged == true) && !(contains(github.event.pull_request.labels.*.name, 'automerge')) }}
steps:
- name: Checkout Main
uses: actions/checkout@v6
with:
path: infrastructure
fetch-depth: 0
- name: Checkout Manifests
uses: actions/checkout@v6
with:
ref: manifests
path: infrastructure-manifests
- name: Set up Helm
uses: azure/setup-helm@v4
with:
token: ${{ secrets.GITEA_TOKEN }}
version: v3.17.2 # Pending https://github.com/helm/helm/pull/30743
- name: Prepare Manifest Branch
run: |
cd ${MANIFEST_DIR}
echo ">> Configure git to use gitea-bot as user ..."
git config user.name "gitea-bot"
git config user.email "gitea-bot@alexlebens.net"
echo ">> Checking if PR branch exists ..."
if [[ $(git ls-remote --heads origin "${BRANCH_NAME}" | wc -l) -gt 0 ]]; then
echo ">> Branch '${BRANCH_NAME}' exists, pulling changes ..."
git fetch origin "${BRANCH_NAME}"
git checkout "${BRANCH_NAME}"
git pull --rebase
else
echo ">> Branch '${BRANCH_NAME}' does not exist, creating ..."
git checkout -b $BRANCH_NAME
fi
echo "----"
- name: Check which Directories have Changes
id: check-dir-changes
run: |
cd ${MAIN_DIR}
RENDER_DIR=()
echo ">> Checking for changes from HEAD^..HEAD ..."
GIT_DIFF=$(git diff --name-only HEAD^..HEAD | xargs -I {} dirname {} | sort -u | grep "clusters/cl01tl/helm/")
if [ -n "${GIT_DIFF}" ]; then
echo ">> Changes detected:"
echo "$GIT_DIFF"
for path in $GIT_DIFF; do
RENDER_DIR+=$(echo "$path" | awk -F '/' '{print $4}')
done
else
echo ">> No changes detected"
fi
if [ -n "${RENDER_DIR}" ]; then
echo ">> Directories to Render:"
echo "$(printf "%s\n" "${RENDER_DIR[@]}" | sort -u)"
echo "----"
echo "changes-detected=true" >> $GITEA_OUTPUT
echo "render-dir<<EOF" >> $GITEA_OUTPUT
echo "$(printf "%s\n" "${RENDER_DIR[@]}" | sort -u)" >> $GITEA_OUTPUT
echo "EOF" >> $GITEA_OUTPUT
else
echo "changes-detected=false" >> $GITEA_OUTPUT
fi
- name: Add Repositories
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
RENDER_DIR: ${{ steps.check-dir-changes.outputs.render-dir }}
run: |
cd ${MAIN_DIR}
echo ">> Adding repositories for chart dependencies ..."
for dir in ${RENDER_DIR}; do
helm dependency list --max-col-width 120 ${MAIN_DIR}/clusters/${CLUSTER}/helm/$dir 2> /dev/null \
| tail +2 | head -n -1 \
| awk '{ print "helm repo add " $1 " " $3 }' \
| while read cmd; do echo "$cmd" | sh; done || true
done
if helm repo list | tail +2 | read -r; then
echo ">> Update repository cache ..."
helm repo update
fi
echo "----"
- name: Remove Changed Manifest Files
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
RENDER_DIR: ${{ steps.check-dir-changes.outputs.render-dir }}
run: |
cd ${MANIFEST_DIR}
echo ">> Remove manfiest files and rebuild from source ..."
for dir in ${RENDER_DIR}; do
chart_path=${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$dir
echo "$chart_path"
rm -rf $chart_path/*
done
echo "----"
- name: Render Helm Manifests
id: render-manifests
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
RENDER_DIR: ${{ steps.check-dir-changes.outputs.render-dir }}
run: |
cd ${MAIN_DIR}
echo ">> Rendering Manifests ..."
for dir in ${RENDER_DIR}; do
chart_path=${MAIN_DIR}/clusters/${CLUSTER}/helm/$dir
chart_name=$(basename "$chart_path")
echo ">> Rendering chart: $chart_name"
echo ">> Chart path $chart_path"
if [ -f "$chart_path/Chart.yaml" ]; then
mkdir -p ${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name
OUTPUT_FILE="${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name/$chart_name.yaml"
cd $chart_path
echo ""
echo ">> Building helm dependency ..."
helm dependency build --skip-refresh
echo ""
echo ">> Linting helm ..."
helm lint --namespace "$chart_name"
echo ""
echo ">> Rendering templates ..."
case "$chart_name" in
"stack")
echo ">> Special Rendering for stack ..."
helm template stack ./ --namespace argocd --include-crds > "$OUTPUT_FILE"
;;
"cilium")
echo ">> Special Rendering for cilium ..."
helm template cilium ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;;
"coredns")
echo ">> Special Rendering for coredns ..."
helm template coredns ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;;
"metrics-server")
echo ">> Special Rendering for metrics-server ..."
helm template metrics-server ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;;
"prometheus-operator-crds")
echo ">> Special Rendering for prometheus-operator-crds ..."
helm template prometheus-operator-crds ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;;
*)
echo ">> Standard Rendering for $chart_name ..."
helm template "$chart_name" ./ --namespace "$chart_name" --include-crds > "$OUTPUT_FILE"
;;
esac
echo ""
echo ">> Manifests for $chart_name rendered to $OUTPUT_FILE"
echo ""
else
echo ""
echo ">> Directory $chart_path does not contain a Chart.yaml. Skipping ..."
echo ""
fi
done
echo "----"
- name: Check for Changes
id: check-changes
if: steps.check-dir-changes.outputs.changes-detected == 'true'
run: |
cd ${MANIFEST_DIR}
if git status --porcelain | grep -q .; then
echo ">> Changes detected"
git status --porcelain
echo "changes-detected=true" >> $GITEA_OUTPUT
else
echo ">> No changes detected, skipping PR creation"
exit 0
fi
echo "----"
- name: Commit and Push Changes
id: commit-push
if: steps.check-changes.outputs.changes-detected == 'true'
run: |
cd ${MANIFEST_DIR}
echo ">> Commiting changes to ${BRANCH_NAME} ..."
git add .
git commit -m "chore: Update manifests after change"
REPO_URL="${{ secrets.REPO_URL }}/${{ gitea.repository }}"
echo ">> Pushing changes to $REPO_URL ..."
git push -u "https://oauth2:${{ secrets.BOT_TOKEN }}@$(echo $REPO_URL | sed -e 's|https://||')" ${BRANCH_NAME}
echo "----"
echo "HEAD_BRANCH=${BRANCH_NAME}" >> $GITEA_OUTPUT
echo "push=true" >> $GITEA_OUTPUT
- name: Check for Pull Request
id: check-for-pull-requst
if: steps.commit-push.outputs.push == 'true'
env:
GITEA_TOKEN: ${{ secrets.BOT_TOKEN }}
GITEA_URL: ${{ secrets.REPO_URL }}
HEAD_BRANCH: ${{ steps.commit-push.outputs.HEAD_BRANCH }}
run: |
cd ${MANIFEST_DIR}
API_ENDPOINT="${GITEA_URL}/api/v1/repos/${{ gitea.repository }}/pulls?base_branch=${BASE_BRANCH}&state=open&page=1"
echo ">> Checking if PR from branch ${HEAD_BRANCH} into ${BASE_BRANCH}"
echo ">> With Endpoint of:"
echo "$API_ENDPOINT"
HTTP_STATUS=$(
curl -X GET \
--silent \
--write-out '%{http_code}' \
--output response_body.json \
--dump-header response_headers.txt \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \
"$API_ENDPOINT" 2> response_errors.txt
)
echo ">> HTTP Status Code: $HTTP_STATUS"
echo ">> Response Output ..."
echo "----"
cat response_body.json
echo "----"
cat response_headers.txt
echo "----"
cat response_errors.txt
echo "----"
if [ "$HTTP_STATUS" == "200" ] && [ "$(cat response_body.json | jq -r .[0].state)" == "open" ]; then
echo ">> Pull Request has been found open, will update"
PR_INDEX=$(cat response_body.json | jq -r .[0].number)
echo "pull-request-exists=${PR_INDEX}" >> $GITEA_OUTPUT
echo "pull-request-index=true" >> $GITEA_OUTPUT
elif [ "$HTTP_STATUS" == "200" ] && [ "$(cat response_body.json | jq -r .[0].state)" == "closed" ]; then
echo ">> Pull Request found, but was closed"
echo "pull-request-exists=false" >> $GITEA_OUTPUT
else
echo ">> Pull Request not found"
echo "pull-request-exists=false" >> $GITEA_OUTPUT
fi
echo "----"
- name: Create Pull Request
id: create-pull-request
if: steps.commit-push.outputs.push == 'true' && steps.check-for-pull-requst.outputs.pull-request-exists == 'false'
env:
GITEA_TOKEN: ${{ secrets.BOT_TOKEN }}
GITEA_URL: ${{ secrets.REPO_URL }}
HEAD_BRANCH: ${{ steps.commit-push.outputs.HEAD_BRANCH }}
run: |
cd ${MANIFEST_DIR}
API_ENDPOINT="${GITEA_URL}/api/v1/repos/${{ gitea.repository }}/pulls"
PAYLOAD=$( jq -n \
--arg head "${HEAD_BRANCH}" \
--arg base "${BASE_BRANCH}" \
--arg assignee "${ASSIGNEE}" \
--arg title "Automated Manifest Update" \
--arg body "This PR contains newly rendered Kubernetes manifests automatically generated by the CI workflow." \
'{head: $head, base: $base, assignee: $assignee, title: $title, body: $body'} )
echo ">> Creating PR from branch ${HEAD_BRANCH} into ${BASE_BRANCH}"
echo ">> With Endpoint of:"
echo "$API_ENDPOINT"
echo ">> With Payload of:"
echo "$PAYLOAD"
HTTP_STATUS=$(
curl -X POST \
--silent \
--write-out '%{http_code}' \
--output response_body.json \
--dump-header response_headers.txt \
--data "$PAYLOAD" \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \
"$API_ENDPOINT" 2> response_errors.txt
)
echo ">> HTTP Status Code: $HTTP_STATUS"
echo ">> Response Output ..."
echo "----"
cat response_body.json
echo "----"
cat response_headers.txt
echo "----"
cat response_errors.txt
echo "----"
if [ "$HTTP_STATUS" == "201" ]; then
echo ">> Pull Request created successfully!"
PR_URL=$(cat response_body.json | jq -r .html_url)
echo "pull-request-url=${PR_URL}" >> $GITEA_OUTPUT
PR_ID=$(cat response_body.json | jq -r .id)
echo "pull-request-id=${PR_ID}" >> $GITEA_OUTPUT
echo "pull-request-operation=created" >> $GITEA_OUTPUT
elif [ "$HTTP_STATUS" == "422" ]; then
echo ">> Failed to create PR (HTTP 422: Unprocessable Entity), PR may already exist"
elif [ "$HTTP_STATUS" == "409" ]; then
echo ">> Failed to create PR (HTTP 409: Conflict), PR already exists"
else
echo ">> Failed to create PR, HTTP status code: $HTTP_STATUS"
exit 1
fi
echo "----"
- name: ntfy Created
uses: niniyas/ntfy-action@master
if: steps.create-pull-request.outputs.pull-request-operation == 'created'
with:
url: "${{ secrets.NTFY_URL }}"
topic: "${{ secrets.NTFY_TOPIC }}"
title: "Manifest Render PR Created - Infrastructure"
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,successfully,completed
details: "Manifest rendering for Infrastructure has created a new Pull Request with ID: ${{ steps.create-pull-request.outputs.pull-request-id }}!"
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png"
actions: '[{"action": "view", "label": "Open Gitea", "url": "${{ steps.create-pull-request.outputs.pull-request-url }}", "clear": true}]'
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: "${{ secrets.NTFY_URL }}"
topic: "${{ secrets.NTFY_TOPIC }}"
title: "Manifest Render Failure - Infrastructure"
priority: 4
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: "Manifest rendering for Infrastructure has failed!"
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png"
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/infrastructure/actions?workflow=render-manifests.yaml", "clear": true}]'
image: true

View File

@@ -1,4 +1,4 @@
name: render-manifests-push
name: render-manifests
on:
push:
@@ -7,6 +7,8 @@ on:
paths:
- 'clusters/cl01tl/helm/**'
workflow_dispatch:
env:
CLUSTER: cl01tl
BASE_BRANCH: manifests
@@ -16,9 +18,8 @@ env:
MANIFEST_DIR: /workspace/alexlebens/infrastructure/infrastructure-manifests
jobs:
render-manifests-push:
render-manifests:
runs-on: ubuntu-js
if: gitea.event.commits[0].author.username != 'renovate-bot'
steps:
- name: Checkout Main
uses: actions/checkout@v6
@@ -67,19 +68,25 @@ jobs:
RENDER_DIR=()
echo ">> Checking for changes ..."
GIT_DIFF=$(git diff --name-only ${{ gitea.event.before }}..HEAD | xargs -I {} dirname {} | sort -u | grep "clusters/cl01tl/helm/")
if [ -n "${GIT_DIFF}" ]; then
echo ">> Changes detected:"
echo "$GIT_DIFF"
for path in $GIT_DIFF; do
RENDER_DIR+=$(echo "$path" | awk -F '/' '{print $4}')
done
if [ "$GITHUB_EVENT_NAME" == "workflow_dispatch" ]; then
echo ">> Triggered on dispatch, will check all paths ..."
RENDER_DIR+=$(ls clusters/cl01tl/helm/)
else
echo ">> No changes detected"
echo ">> Checking for changes ..."
GIT_DIFF=$(git diff --name-only ${{ gitea.event.before }}..HEAD | xargs -I {} dirname {} | sort -u | grep "clusters/cl01tl/helm/")
if [ -n "${GIT_DIFF}" ]; then
echo ">> Changes detected:"
echo "$GIT_DIFF"
for path in $GIT_DIFF; do
RENDER_DIR+=$(echo "$path" | awk -F '/' '{print $4}')
done
else
echo ">> No changes detected"
fi
fi
if [ -n "${RENDER_DIR}" ]; then
@@ -378,9 +385,10 @@ jobs:
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,successfully,completed
details: "Manifest rendering for Infrastructure has created a new Pull Request with ID: ${{ steps.create-pull-request.outputs.pull-request-id }}!"
details: "Manifest rendering for Infrastructure has created a new Pull Request!"
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png"
actions: '[{"action": "view", "label": "Open Gitea", "url": "${{ steps.create-pull-request.outputs.pull-request-url }}", "clear": true}]'
image: true
- name: ntfy Failed
uses: niniyas/ntfy-action@master

View File

@@ -9,7 +9,7 @@ actual:
main:
image:
repository: ghcr.io/actualbudget/actual
tag: 25.12.0
tag: 25.11.0
pullPolicy: IfNotPresent
env:
- name: TZ

View File

@@ -1,12 +1,12 @@
dependencies:
- name: argo-workflows
repository: https://argoproj.github.io/argo-helm
version: 0.46.1
version: 0.45.28
- name: argo-events
repository: https://argoproj.github.io/argo-helm
version: 2.4.17
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:0b4fdd40fb3028efbfa6ae20e3191f923062771f843395d571846a84baff572a
generated: "2025-12-03T23:42:37.127631103Z"
digest: sha256:d5a4e03eb73fefbb9da82b0ae3f7a1ccf3bcabd2a26adc522f798d9b5122fc47
generated: "2025-12-03T06:10:23.754624004Z"

View File

@@ -18,7 +18,7 @@ maintainers:
- name: alexlebens
dependencies:
- name: argo-workflows
version: 0.46.1
version: 0.45.28
repository: https://argoproj.github.io/argo-helm
- name: argo-events
version: 2.4.17

View File

@@ -9,7 +9,7 @@ audiobookshelf:
main:
image:
repository: ghcr.io/advplyr/audiobookshelf
tag: 2.31.0
tag: 2.30.0
pullPolicy: IfNotPresent
env:
- name: TZ

View File

@@ -4,9 +4,9 @@ dependencies:
version: 2025.10.2
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
version: 1.23.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:c3bafb322ca02710c8f325fefef20678957a8c6fd86894e44e5e318997e5cb80
generated: "2025-12-03T23:42:54.643409381Z"
digest: sha256:c385274ae063630007ef2ea7e841b2813540f6f2468cbf82484106d8c4415702
generated: "2025-12-03T06:10:50.377270812Z"

View File

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

View File

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

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
digest: sha256:dd687a71edc2f7f03cba6d5f3e3221e2bb5172ed4c00659e327c79da5c01e89f
generated: "2025-12-03T06:02:20.44367742Z"
version: 1.23.0
digest: sha256:99eb4f940077dc916f5425d196232fcd363223fa7b7b5d3889f5965aa59e26f5
generated: "2025-11-30T21:05:26.699161-06:00"

View File

@@ -23,6 +23,6 @@ dependencies:
- name: cloudflared
alias: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
version: 1.23.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/visual-studio-code.png
appVersion: 4.100.2

View File

@@ -9,7 +9,7 @@ code-server:
main:
image:
repository: ghcr.io/linuxserver/code-server
tag: 4.106.3@sha256:aab9520fe923b2d93dccc2c806f3dc60649c2f4a2847fcd40c942227d0f1ae8f
tag: 4.106.2@sha256:a98afdbcb59559f11e5e8df284062e55da1076b2e470e13db4aae133ea82bad0
pullPolicy: IfNotPresent
env:
- name: TZ

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
version: 1.23.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:0bb36c0da68b901a005703e354f3f00f65c60ec3d1eddc2d08fa190062076944
generated: "2025-12-03T23:43:06.850138502Z"
digest: sha256:fe86da80c9c6629e55219375a29c87c9dcbe2031cec8226c01c1ea9cdf5d7f4a
generated: "2025-12-03T06:11:09.749222128Z"

View File

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

View File

@@ -1,9 +1,9 @@
dependencies:
- name: element-web
repository: https://ananace.gitlab.io/charts
version: 1.4.25
version: 1.4.24
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
digest: sha256:06208f8ba47fc2e2c0e56ea2e08b3539cb4c5d3ac5eeaf22936e84925b7add90
generated: "2025-12-03T17:03:58.859116734Z"
version: 1.23.0
digest: sha256:05aa032adca6d808215d6dcd5d7e38b821a740a53868238f79adaa606444b3ae
generated: "2025-11-30T21:05:30.356497-06:00"

View File

@@ -17,11 +17,11 @@ maintainers:
- name: alexlebens
dependencies:
- name: element-web
version: 1.4.25
version: 1.4.24
repository: https://ananace.gitlab.io/charts
- name: cloudflared
alias: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
version: 1.23.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/element.png
appVersion: v1.11.100

View File

@@ -2,7 +2,7 @@ element-web:
replicaCount: 1
image:
repository: vectorim/element-web
tag: v1.12.6
tag: v1.12.4
pullPolicy: IfNotPresent
defaultServer:
url: https://matrix.alexlebens.dev

View File

@@ -34,7 +34,7 @@ ephemera:
flaresolverr:
image:
repository: ghcr.io/flaresolverr/flaresolverr
tag: v3.4.6
tag: v3.4.5
pullPolicy: IfNotPresent
env:
- name: LOG_LEVEL

View File

@@ -1,6 +1,6 @@
dependencies:
- name: eraser
repository: https://eraser-dev.github.io/eraser/charts
version: 1.4.1
digest: sha256:da828de684b0cd82e99994586f3db4f55c43c01607c4d8d0e70e204c7bbbbf5b
generated: "2025-12-03T22:53:20.200917773Z"
version: 1.3.1
digest: sha256:17b561a00acc809810dccd226e7b6d757db39b34a6095dee879da761098125f9
generated: "2025-12-01T20:25:36.491841-06:00"

View File

@@ -14,7 +14,7 @@ maintainers:
- name: alexlebens
dependencies:
- name: eraser
version: 1.4.1
version: v1.3.1
repository: https://eraser-dev.github.io/eraser/charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png
appVersion: v1.3.1

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
version: 1.23.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:e4d7c431d7c88cf31d53d611b4fe901fb68c11a2666e48d38ac40feb45b904b5
generated: "2025-12-03T23:43:17.683917661Z"
digest: sha256:f1cfd412f53bde492a01a56f7035646a1ee2205897382b2db3c95448424717cf
generated: "2025-12-03T06:11:28.189466712Z"

View File

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

View File

@@ -11,7 +11,7 @@ freshrss:
runAsUser: 0
image:
repository: alpine
tag: 3.23.0
tag: 3.22.2
pullPolicy: IfNotPresent
command:
- /bin/sh
@@ -35,7 +35,7 @@ freshrss:
runAsUser: 0
image:
repository: alpine
tag: 3.23.0
tag: 3.22.2
pullPolicy: IfNotPresent
command:
- /bin/sh
@@ -59,7 +59,7 @@ freshrss:
runAsUser: 0
image:
repository: alpine
tag: 3.23.0
tag: 3.22.2
pullPolicy: IfNotPresent
command:
- /bin/sh

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:53e3b31b3fa3916ac4478c0ca3733a18f7145a0129b6a9c7aefdaf8169cb525c
generated: "2025-12-03T23:43:29.066435508Z"
generated: "2025-12-03T06:11:44.745727332Z"

View File

@@ -13,9 +13,9 @@ dependencies:
version: 0.17.1
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
version: 1.23.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:8352c2ba7b2537aa7b22d1900ad2833f8e1b29608dfdae34d83b6f5aad340106
generated: "2025-12-03T23:43:40.166625202Z"
digest: sha256:83d04c70733a0ed0c38ff8895954603aa6acd0c0e86a952b61b9eb6f375ac298
generated: "2025-12-03T06:12:04.044218425Z"

View File

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

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:3bd7096e4401df5818733b3e0b08f281c12af9b54a272fbe3e753b2616d725dd
generated: "2025-12-03T23:43:55.696569995Z"
generated: "2025-12-03T06:12:29.351898129Z"

View File

@@ -9,7 +9,7 @@ home-assistant:
main:
image:
repository: ghcr.io/home-assistant/home-assistant
tag: 2025.12.0
tag: 2025.11.3
pullPolicy: IfNotPresent
env:
- name: TZ
@@ -21,7 +21,7 @@ home-assistant:
code-server:
image:
repository: ghcr.io/linuxserver/code-server
tag: 4.106.3@sha256:aab9520fe923b2d93dccc2c806f3dc60649c2f4a2847fcd40c942227d0f1ae8f
tag: 4.106.2@sha256:a98afdbcb59559f11e5e8df284062e55da1076b2e470e13db4aae133ea82bad0
pullPolicy: IfNotPresent
env:
- name: TZ

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
digest: sha256:30b7ad7125b89026f6832679e083f746ef69424e6f1d3dce0cb4304f215ea375
generated: "2025-12-03T06:03:31.055093376Z"
version: 1.23.0
digest: sha256:1bcc384dc2dc0a521600c90b8040f0cac9d706bde76419386d5eb7408e45169a
generated: "2025-11-30T21:07:07.275267-06:00"

View File

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

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:65d33f10a17d25234358734184d3bc637209a12dc5f2122a594efdb02df15b41
generated: "2025-12-03T23:44:06.622070209Z"
generated: "2025-12-03T06:12:49.039115313Z"

View File

@@ -9,7 +9,7 @@ jellyfin:
main:
image:
repository: ghcr.io/jellyfin/jellyfin
tag: 10.11.4
tag: 10.11.3
pullPolicy: IfNotPresent
env:
- name: TZ

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:d22093f32435743617e91c5e1453d6c9ce6846362925c96d5edd0500a2e9f53d
generated: "2025-12-03T23:44:16.571736081Z"
generated: "2025-12-03T06:13:09.655007755Z"

View File

@@ -7,6 +7,6 @@ dependencies:
version: 0.17.1
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
digest: sha256:229ec32055f350932f84be3a5fd211b883504a4e760114f3bdf726a59aef86ec
generated: "2025-12-03T06:03:44.411795767Z"
version: 1.23.0
digest: sha256:87a67950901f8a047f790ed21e8fc1cbfd076e05a3a55377b1cb0aa081f10f8d
generated: "2025-11-30T21:07:14.824697-06:00"

View File

@@ -27,6 +27,6 @@ dependencies:
- name: cloudflared
alias: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
version: 1.23.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/webp/karakeep.webp
appVersion: 0.26.0

View File

@@ -9,7 +9,7 @@ karakeep:
main:
image:
repository: ghcr.io/karakeep-app/karakeep
tag: 0.29.0
tag: 0.28.0
pullPolicy: IfNotPresent
env:
- name: DATA_DIR

View File

@@ -9,7 +9,7 @@ kiwix:
main:
image:
repository: ghcr.io/kiwix/kiwix-serve
tag: 3.8.1
tag: 3.8.0
pullPolicy: IfNotPresent
args:
- '*.zim'

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:21c6f653942386f953fb2165351464a4cc08a64ba4c441896c23295635b1e93b
generated: "2025-12-03T23:44:26.732955933Z"
generated: "2025-12-03T06:13:30.993548086Z"

View File

@@ -1,9 +1,9 @@
dependencies:
- name: kube-prometheus-stack
repository: oci://ghcr.io/prometheus-community/charts
version: 79.11.0
version: 79.7.1
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:d2539cec03ef75627d94ff85e55349d3c8c71de0227b4eb1caf3344869b91ae9
generated: "2025-12-03T06:21:52.770404462Z"
digest: sha256:e046e7599ad195b57a8cf63b373a82d950778ac5dcc661f2ea135d433b46dacc
generated: "2025-12-01T19:55:54.093624-06:00"

View File

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

View File

@@ -16,7 +16,7 @@ libation:
main:
image:
repository: rmcrackan/libation
tag: 12.8.0
tag: 12.7.5
pullPolicy: IfNotPresent
env:
- name: SLEEP_TIME

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:d5f01022bab45b50149c74d1aedcc636cad649d92bfeb1e5b4c32d0b20428d4a
generated: "2025-12-03T23:44:36.571878454Z"
generated: "2025-12-03T06:13:50.447193058Z"

View File

@@ -7,12 +7,12 @@ dependencies:
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
version: 1.23.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
version: 1.23.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:1bf6e5f4693930d4f0ee8753eae5afee055894f01ddbefbae969bf834c8cad99
generated: "2025-12-03T23:44:47.031540217Z"
digest: sha256:a335a385f720fa48648defb44632d9f18ceae9f69a1816c9b8d79393e99065b0
generated: "2025-12-03T06:14:10.405931441Z"

View File

@@ -45,11 +45,11 @@ dependencies:
# version: 4.0.1
- name: cloudflared
alias: cloudflared-synapse
version: 1.23.1
version: 1.23.0
repository: oci://harbor.alexlebens.net/helm-charts
- name: cloudflared
alias: cloudflared-hookshot
version: 1.23.1
version: 1.23.0
repository: oci://harbor.alexlebens.net/helm-charts
- name: postgres-cluster
alias: postgres-17-cluster

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:e1dfc9657a3d926d9ba82f3bab3a56c9b737e9d43470c84167914b658c659ea3
generated: "2025-12-03T23:44:59.958812842Z"
generated: "2025-12-03T06:14:32.346856056Z"

View File

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

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:acb3614df881e62f4e0c9ae21a09353cfd731beae376bba0461f834abb84b070
generated: "2025-12-03T23:45:11.588964597Z"
generated: "2025-12-03T06:14:48.03338195Z"

View File

@@ -22,7 +22,7 @@ ollama:
main:
image:
repository: ollama/ollama
tag: 0.13.1
tag: 0.13.0
pullPolicy: IfNotPresent
env:
- name: OLLAMA_KEEP_ALIVE
@@ -58,7 +58,7 @@ ollama:
main:
image:
repository: ollama/ollama
tag: 0.13.1
tag: 0.13.0
pullPolicy: IfNotPresent
env:
- name: OLLAMA_KEEP_ALIVE
@@ -94,7 +94,7 @@ ollama:
main:
image:
repository: ollama/ollama
tag: 0.13.1
tag: 0.13.0
pullPolicy: IfNotPresent
env:
- name: OLLAMA_KEEP_ALIVE
@@ -117,7 +117,7 @@ ollama:
main:
image:
repository: ghcr.io/open-webui/open-webui
tag: 0.6.41
tag: v0.6.37
pullPolicy: IfNotPresent
env:
- name: ENV

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
version: 1.23.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:fdf82a6c450624d70404817e92d96626b87ee5c011215ca3c15338c6c3d9b181
generated: "2025-12-03T23:45:23.819514213Z"
digest: sha256:02b8650b60d1fe150220d3d1d946bf00bfabcb599c139c663df229a00374c3b5
generated: "2025-12-03T06:15:03.323421515Z"

View File

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

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:4cba2d50c7be189d6e9d70eebb25c86b6231e205cbf3e9af6671ebeb0b660c22
generated: "2025-12-03T23:45:35.666519847Z"
generated: "2025-12-03T06:15:17.046136577Z"

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
version: 1.23.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:427e54610c6c59529dda67a52358660a47b1a44880136ebff4949bdfa4a5c73d
generated: "2025-12-03T23:45:46.946571201Z"
digest: sha256:03d0fedf58a9acb32df34441b8a61986853c9f8ff0ba0920b1cb079e4e6c1831
generated: "2025-12-03T06:15:29.778351676Z"

View File

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

View File

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

View File

@@ -135,7 +135,7 @@ qbittorrent:
qbit-manage:
image:
repository: ghcr.io/stuffanthings/qbit_manage
tag: v4.6.5
tag: v4.6.4
pullPolicy: IfNotPresent
env:
- name: TZ
@@ -190,7 +190,7 @@ qbittorrent:
qui:
image:
repository: ghcr.io/autobrr/qui
tag: v1.8.1
tag: v1.7.0
pullPolicy: IfNotPresent
env:
- name: QUI__METRICS_ENABLED

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:ff043dfbfcff54587838ae8289377c7412eeb507572d42f1b19fd528758a4eb9
generated: "2025-12-03T23:45:58.660209368Z"
generated: "2025-12-03T06:15:44.301337607Z"

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:34a598cda9f762b3f4ae7f7138f5183a4942fca9fafe2611162a9e3f2e293635
generated: "2025-12-03T23:46:09.358629515Z"
generated: "2025-12-03T06:15:56.117123516Z"

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:e343a4ab6603b661eee718af7fabe97c5a9315e288b4b9332bb27d58241b5a13
generated: "2025-12-03T23:46:20.885583334Z"
generated: "2025-12-03T06:16:09.216597312Z"

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:4c327d7eac20b2a96f540aecf9ac2652064bf0cf734ffd288a058e57ab6c0f68
generated: "2025-12-03T23:46:33.062797181Z"
generated: "2025-12-03T06:16:21.334599323Z"

View File

@@ -1,12 +1,12 @@
dependencies:
- name: rook-ceph
repository: https://charts.rook.io/release
version: v1.18.8
version: v1.18.7
- name: rook-ceph-cluster
repository: https://charts.rook.io/release
version: v1.18.8
version: v1.18.7
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
digest: sha256:28467614c6854e04a8733fb95b689d5a12f23878a030c56e529f06f490e5f9d8
generated: "2025-12-03T21:00:36.655017976Z"
version: 1.23.0
digest: sha256:af8dd1358e17c5b88a9ac10a9864b960da1cbdd7f6d0aa9bdadcb8d0a65c6d31
generated: "2025-12-01T20:27:15.315208-06:00"

View File

@@ -16,14 +16,14 @@ maintainers:
- name: alexlebens
dependencies:
- name: rook-ceph
version: v1.18.8
version: v1.18.7
repository: https://charts.rook.io/release
- name: rook-ceph-cluster
version: v1.18.8
version: v1.18.7
repository: https://charts.rook.io/release
- name: cloudflared
alias: cloudflared-rgw
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
version: 1.23.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/ceph.png
appVersion: v1.17.1

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:77330bdfa1da43d65b188105cf66cc1cd656a904789ee1761da16e8a4104f166
generated: "2025-12-03T23:46:45.2422466Z"
generated: "2025-12-03T06:16:35.375649681Z"

View File

@@ -9,7 +9,7 @@ searxng:
main:
image:
repository: searxng/searxng
tag: latest@sha256:09dfc123bd7c118ed086471b42d17ed57964827beffeb8d7f012dae3d2608545
tag: latest@sha256:277cb4b82fbdd69d88812089a5755860d379de907f09fb511443ff03d35191af
pullPolicy: IfNotPresent
env:
- name: SEARXNG_BASE_URL
@@ -43,7 +43,7 @@ searxng:
main:
image:
repository: searxng/searxng
tag: latest@sha256:09dfc123bd7c118ed086471b42d17ed57964827beffeb8d7f012dae3d2608545
tag: latest@sha256:277cb4b82fbdd69d88812089a5755860d379de907f09fb511443ff03d35191af
pullPolicy: IfNotPresent
env:
- name: SEARXNG_BASE_URL

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
digest: sha256:1d05db11156ee1d17ed72f9d4e29a6b6c30a654051c36c669b2b772710bf32c9
generated: "2025-12-03T06:04:55.685279696Z"
version: 1.23.0
digest: sha256:5a7b3c34f9eb198ea91b40d341daaf28c5fe425e344d4d247a5592f742aaf760
generated: "2025-11-30T21:07:44.522489-06:00"

View File

@@ -23,6 +23,6 @@ dependencies:
- name: cloudflared
alias: cloudflared-site
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
version: 1.23.0
icon: https://d21zlbwtcn424f.cloudfront.net/logo-new-round.png
appVersion: 0.8.1

View File

@@ -11,7 +11,7 @@ site-documentation:
main:
image:
repository: harbor.alexlebens.net/images/site-documentation
tag: 0.0.4
tag: 0.0.3
pullPolicy: IfNotPresent
resources:
requests:

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
digest: sha256:2253dc4ef0331336571ae668919771228ddaa69c365ab9bf5a58ea29f854c70a
generated: "2025-12-03T06:05:14.720363471Z"
version: 1.23.0
digest: sha256:2894c66ba8f97a04b37305fc59a8ef376ef7b8ac20280851d6b86f18af6f5a47
generated: "2025-11-30T21:07:46.422263-06:00"

View File

@@ -23,6 +23,6 @@ dependencies:
- name: cloudflared
alias: cloudflared-site
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
version: 1.23.0
icon: https://d21zlbwtcn424f.cloudfront.net/logo-new-round.png
appVersion: 2.0.1

View File

@@ -11,7 +11,7 @@ site-profile:
main:
image:
repository: harbor.alexlebens.net/images/site-profile
tag: 2.1.1
tag: 2.1.0
pullPolicy: IfNotPresent
resources:
requests:

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:bbecefd5c20585a9fcde532663e06698a4a8057066de9483b0b2de50f210037f
generated: "2025-12-03T23:46:56.383234443Z"
generated: "2025-12-03T06:16:48.069804123Z"

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:00f958cebd996abfbb1335aa45dac1e0cb945257e2111c00dbb419d0d21e4369
generated: "2025-12-03T23:47:08.099363423Z"
generated: "2025-12-03T06:17:00.339297964Z"

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:b133ec7f906fdab9426e3014801cba376eb61e7b490d42c22bce058e640f779d
generated: "2025-12-03T23:47:21.88336627Z"
generated: "2025-12-03T06:17:13.922687552Z"

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:87a9e98c0de182dec42160186a57ced84a62782c9a84fe0dbea56789de9606bf
generated: "2025-12-03T23:47:35.856489103Z"
generated: "2025-12-03T06:17:26.605511558Z"

View File

@@ -16,7 +16,7 @@ trivy-operator:
image:
registry: mirror.gcr.io
repository: aquasec/trivy
tag: 0.68.1
tag: 0.67.2
storageClassEnabled: true
storageClassName: ceph-block
storageSize: "5Gi"

View File

@@ -9,7 +9,7 @@ unpoller:
main:
image:
repository: ghcr.io/unpoller/unpoller
tag: v2.16.0
tag: v2.15.4
pullPolicy: IfNotPresent
env:
- name: UP_UNIFI_CONTROLLER_0_SAVE_ALARMS

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
version: 1.23.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:57649b6b5a03dbb091b0b3aca3be7b177503f7a1e5b52adcda8be26346893dfe
generated: "2025-12-03T23:47:48.03333678Z"
digest: sha256:b70f570711061e5e4ed45bb7cc75dc5f673efa33ca64f96ec06590a20c8ccdfa
generated: "2025-12-03T06:17:45.114948573Z"

View File

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

View File

@@ -8,7 +8,7 @@ whodb:
main:
image:
repository: clidey/whodb
tag: 0.81.0
tag: 0.80.0
pullPolicy: IfNotPresent
env:
- name: WHODB_OLLAMA_HOST

View File

@@ -6,4 +6,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.1
digest: sha256:974f36a9b9acf1dbe8c6466857d5fc8ca938f35259958e9be5f7248fae5c1517
generated: "2025-12-03T23:48:00.603540325Z"
generated: "2025-12-03T06:18:02.16619475Z"

View File

@@ -9,7 +9,7 @@ yamtrack:
main:
image:
repository: ghcr.io/fuzzygrim/yamtrack
tag: 0.24.8
tag: 0.24.7
pullPolicy: IfNotPresent
env:
- name: TZ

View File

@@ -1,7 +1,7 @@
---
services:
tailscale-blocky:
image: ghcr.io/tailscale/tailscale:v1.90.9
image: ghcr.io/tailscale/tailscale:v1.90.8
container_name: tailscale-blocky
cap_add:
- net_admin

View File

@@ -1,7 +1,7 @@
---
services:
tailscale-blocky:
image: ghcr.io/tailscale/tailscale:v1.90.9
image: ghcr.io/tailscale/tailscale:v1.90.8
container_name: tailscale-blocky
cap_add:
- net_admin

View File

@@ -1,7 +1,7 @@
---
services:
tailscale-blocky:
image: ghcr.io/tailscale/tailscale:v1.90.9
image: ghcr.io/tailscale/tailscale:v1.90.8
container_name: tailscale-blocky
cap_add:
- net_admin

View File

@@ -1,6 +1,6 @@
services:
tailscale-garage:
image: ghcr.io/tailscale/tailscale:v1.90.9
image: ghcr.io/tailscale/tailscale:v1.90.8
container_name: tailscale-garage
cap_add:
- net_admin
@@ -20,7 +20,7 @@ services:
- /dev/net/tun:/dev/net/tun
tailscale-garage-ui:
image: ghcr.io/tailscale/tailscale:v1.90.9
image: ghcr.io/tailscale/tailscale:v1.90.8
container_name: tailscale-garage-ui
cap_add:
- net_admin

View File

@@ -1,6 +1,6 @@
services:
tailscale-gitea:
image: ghcr.io/tailscale/tailscale:v1.90.9
image: ghcr.io/tailscale/tailscale:v1.90.8
container_name: tailscale-gitea
cap_add:
- net_admin

View File

@@ -1,7 +1,7 @@
---
services:
tailscale-homepage:
image: ghcr.io/tailscale/tailscale:v1.90.9
image: ghcr.io/tailscale/tailscale:v1.90.8
container_name: tailscale-homepage
cap_add:
- net_admin

View File

@@ -1,7 +1,7 @@
---
services:
tailscale-node-exporter:
image: ghcr.io/tailscale/tailscale:v1.90.9
image: ghcr.io/tailscale/tailscale:v1.90.8
container_name: tailscale-node-exporter
cap_add:
- net_admin

View File

@@ -1,7 +1,7 @@
---
services:
tailscale:
image: ghcr.io/tailscale/tailscale:v1.90.9
image: ghcr.io/tailscale/tailscale:v1.90.8
container_name: tailscale-subnet
cap_add:
- net_admin

View File

@@ -1,7 +1,7 @@
---
services:
tailscale-traefik:
image: ghcr.io/tailscale/tailscale:v1.90.9
image: ghcr.io/tailscale/tailscale:v1.90.8
container_name: tailscale-traefik
cap_add:
- net_admin

View File

@@ -1,114 +1,99 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
"mergeConfidence:all-badges",
":rebaseStalePrs"
],
"timezone": "US/Central",
"labels": [],
"prHourlyLimit": 0,
"prConcurrentLimit": 0,
"packageRules": [
{
"description": "Label charts",
"matchDatasources": [
"helm"
],
"addLabels": [
"chart"
],
"automerge": false,
"minimumReleaseAge": "1 days"
},
{
"description": "Automerge chart patches",
"matchUpdateTypes": [
"patch"
],
"matchDatasources": [
"helm"
],
"addLabels": [
"chart",
"automerge"
],
"automerge": true,
"minimumReleaseAge": "1 days"
},
{
"description": "Automerge helm chart lock files",
"matchManagers": [
"helm"
],
"lockFileMaintenance": {
"enabled": true
},
"addLabels": [
"chart",
"automerge"
],
"automerge": true,
"automergeType": "branch"
},
{
"description": "Label images",
"matchDatasources": [
"docker"
],
"addLabels": [
"image"
],
"automerge": false,
"minimumReleaseAge": "1 days"
},
{
"description": "Automerge image patches",
"matchUpdateTypes": [
"patch",
"digest"
],
"matchDatasources": [
"docker"
],
"addLabels": [
"image",
"automerge"
],
"automerge": true,
"minimumReleaseAge": "1 days"
},
{
"description": "Automerge image updates for certain applications",
"matchUpdateTypes": [
"minor"
],
"matchDatasources": [
"docker"
],
"matchPackageNames": [
"clidey/whodb",
"eigenfocus/eigenfocus",
"ghcr.io/advplyr/audiobookshelf",
"ghcr.io/gethomepage/homepage",
"ghcr.io/gitroomhq/postiz-app",
"ghcr.io/linuxserver/bazarr",
"ghcr.io/linuxserver/code-server",
"ghcr.io/linuxserver/lidarr",
"ghcr.io/linuxserver/plex",
"ghcr.io/linuxserver/prowlarr",
"ghcr.io/linuxserver/radarr",
"ghcr.io/linuxserver/sonarr",
"ghcr.io/n8n-io/n8n",
"ghcr.io/prometheus-community/charts/kube-prometheus-stack",
"vectorim/element-web"
],
"addLabels": [
"image",
"automerge"
],
"automerge": true,
"minimumReleaseAge": "2 days"
}
]
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
"mergeConfidence:all-badges",
":rebaseStalePrs"
],
"timezone": "US/Central",
"labels": [],
"prHourlyLimit": 0,
"prConcurrentLimit": 0,
"packageRules": [
{
"description": "Label charts",
"matchDatasources": [
"helm"
],
"addLabels": [
"chart"
],
"automerge": false,
"minimumReleaseAge": "1 days"
},
{
"description": "Automerge chart patches",
"matchUpdateTypes": [
"patch"
],
"matchDatasources": [
"helm"
],
"addLabels": [
"chart",
"automerge"
],
"automerge": true,
"minimumReleaseAge": "1 days"
},
{
"description": "Label images",
"matchDatasources": [
"docker"
],
"addLabels": [
"image"
],
"automerge": false,
"minimumReleaseAge": "1 days"
},
{
"description": "Automerge image patches",
"matchUpdateTypes": [
"patch",
"digest"
],
"matchDatasources": [
"docker"
],
"addLabels": [
"image",
"automerge"
],
"automerge": true,
"minimumReleaseAge": "1 days"
},
{
"description": "Automerge image updates for certain applications",
"matchUpdateTypes": [
"minor"
],
"matchDatasources": [
"docker"
],
"matchPackageNames": [
"clidey/whodb",
"eigenfocus/eigenfocus",
"ghcr.io/advplyr/audiobookshelf",
"ghcr.io/gethomepage/homepage",
"ghcr.io/gitroomhq/postiz-app",
"ghcr.io/linuxserver/bazarr",
"ghcr.io/linuxserver/code-server",
"ghcr.io/linuxserver/lidarr",
"ghcr.io/linuxserver/plex",
"ghcr.io/linuxserver/prowlarr",
"ghcr.io/linuxserver/radarr",
"ghcr.io/linuxserver/sonarr",
"ghcr.io/n8n-io/n8n",
"ghcr.io/prometheus-community/charts/kube-prometheus-stack",
"vectorim/element-web"
],
"addLabels": [
"image",
"automerge"
],
"automerge": true,
"minimumReleaseAge": "2 days"
}
]
}