28 Commits

Author SHA1 Message Date
80663ccda0 Update php Docker tag to v8.5.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
lint-test-helm / helm-lint (pull_request) Successful in 20s
2025-11-30 21:26:10 +00:00
6156597591 use manual workflow
All checks were successful
renovate / renovate (push) Successful in 1m34s
2025-11-30 15:24:41 -06:00
48c232c275 revert
All checks were successful
renovate / renovate (push) Successful in 1m1s
2025-11-30 14:58:21 -06:00
9e897757c6 fix secrets
All checks were successful
renovate / renovate (push) Successful in 1m4s
2025-11-30 14:39:21 -06:00
b5beaa88b1 use different package
All checks were successful
renovate / renovate (push) Successful in 1m31s
2025-11-30 14:36:59 -06:00
5508678a6c use different package
All checks were successful
renovate / renovate (push) Successful in 1m14s
2025-11-30 14:21:06 -06:00
f3ed21b8a8 use different package
All checks were successful
renovate / renovate (push) Successful in 2m31s
2025-11-30 14:16:10 -06:00
2f4a342811 use token
All checks were successful
renovate / renovate (push) Successful in 1m27s
2025-11-30 14:10:43 -06:00
39c52e03a3 remove
All checks were successful
renovate / renovate (push) Successful in 1m56s
2025-11-30 14:07:45 -06:00
43aeb04ade use token
All checks were successful
renovate / renovate (push) Successful in 1m38s
2025-11-30 14:05:47 -06:00
9122e9f339 add commiter and author
All checks were successful
renovate / renovate (push) Successful in 1m13s
2025-11-30 13:46:03 -06:00
e212872535 Update clidey/whodb Docker tag to v0.78.0 (#2153)
Some checks failed
render-manifests / render-manifests-helm (push) Failing after 12s
lint-test-helm / helm-lint (push) Successful in 13s
renovate / renovate (push) Successful in 1m48s
2025-11-30 13:02:36 +00:00
08a0d296a3 Update ghcr.io/linuxserver/qbittorrent:5.1.4 Docker digest to a2eedc9 (#2152)
Some checks failed
lint-test-helm / helm-lint (push) Successful in 11s
render-manifests / render-manifests-helm (push) Failing after 1m15s
renovate / renovate (push) Successful in 2m29s
2025-11-30 08:03:31 +00:00
32c1f3a450 fix token
All checks were successful
renovate / renovate (push) Successful in 3m21s
2025-11-29 23:36:49 -06:00
b865730722 specific path
All checks were successful
renovate / renovate (push) Successful in 1m33s
2025-11-29 23:30:47 -06:00
8682100cc6 update file path
All checks were successful
renovate / renovate (push) Successful in 1m9s
2025-11-29 23:19:42 -06:00
5bad734c75 fix path
All checks were successful
renovate / renovate (push) Successful in 1m40s
2025-11-29 23:09:50 -06:00
0343b2d9ee use local path
Some checks failed
renovate / renovate (push) Failing after 3s
2025-11-29 23:05:33 -06:00
1c100f1c6b use absolute paths
All checks were successful
renovate / renovate (push) Successful in 1m1s
2025-11-29 22:58:47 -06:00
bee206bec1 remove name from build and lint
All checks were successful
renovate / renovate (push) Successful in 1m5s
2025-11-29 22:45:45 -06:00
e4b3d06e1d change to directory
Some checks failed
renovate / renovate (push) Has been cancelled
2025-11-29 22:44:35 -06:00
7408d8effb downgrade helm
All checks were successful
renovate / renovate (push) Successful in 1m11s
2025-11-29 22:39:33 -06:00
274ab32e2a add build and lint
All checks were successful
renovate / renovate (push) Successful in 1m41s
2025-11-29 22:31:45 -06:00
ce87523597 fix path
All checks were successful
renovate / renovate (push) Successful in 1m29s
2025-11-29 22:25:40 -06:00
25710206d5 fix env
All checks were successful
renovate / renovate (push) Successful in 1m18s
2025-11-29 22:23:16 -06:00
c705885dda fix path
All checks were successful
renovate / renovate (push) Successful in 2m23s
2025-11-29 22:03:01 -06:00
783d307998 add dispatch
All checks were successful
renovate / renovate (push) Successful in 2m5s
2025-11-29 21:49:49 -06:00
06397c2b57 fix render
All checks were successful
renovate / renovate (push) Successful in 1m40s
2025-11-29 21:45:18 -06:00
4 changed files with 138 additions and 56 deletions

View File

@@ -8,12 +8,15 @@ on:
- "clusters/**" - "clusters/**"
- ! "clusters/*/archive" - ! "clusters/*/archive"
workflow_dispatch:
env:
CLUSTERS: cl01tl
BASE_BRANCH: manifests
jobs: jobs:
render-manifests-helm: render-manifests-helm:
runs-on: ubuntu-js runs-on: ubuntu-js
permissions:
contents: write
pull-requests: write
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6 uses: actions/checkout@v6
@@ -24,71 +27,150 @@ jobs:
uses: azure/setup-helm@v4 uses: azure/setup-helm@v4
with: with:
token: ${{ secrets.GITEA_TOKEN }} token: ${{ secrets.GITEA_TOKEN }}
version: latest version: v3.17.2 # Pending https://github.com/helm/helm/pull/30743
- name: Render Helm Manifests - name: Render Helm Manifests
env:
CLUSTERS: cl01tl
run: | run: |
for cluster in $CLUSTERS; do for cluster in ${CLUSTERS}; do
mkdir clusters/$CLUSTER/manifests mkdir -p ${{ gitea.workspace }}/clusters/$cluster/manifests
for chart_path in clusters/$CLUSTER/helm/; do for chart_path in ${{ gitea.workspace }}/clusters/$cluster/helm/*; do
chart_name=$(basename "$chart") chart_name=$(basename "$chart_path")
echo "--- Rendering chart: $chart_name ---" echo ">> Rendering chart: $chart_name"
if [ -f "$chart_path/Chart.yaml" ]; then if [ -f "$chart_path/Chart.yaml" ]; then
OUTPUT_FILE="clusters/$CLUSTER/manifests/$chart_name.yaml" mkdir -p ${{ gitea.workspace }}/clusters/$cluster/manifests/$chart_name
OUTPUT_FILE="${{ gitea.workspace }}/clusters/$cluster/manifests/$chart_name/$chart_name.yaml"
helm template "$chart_name" "$chart" --namespace "$chart_name" > "$OUTPUT_FILE" cd $chart_path
echo "Manifests for $chart_name rendered to $OUTPUT_FILE" echo ""
echo ">> Building helm dependency ..."
helm dependency build
echo ""
echo ">> Linting helm ..."
helm lint --namespace "$chart_name" --with-subcharts
echo ""
echo ">> Rendering templates ..."
helm template "$chart_name" ./ --namespace "$chart_name" --include-crds > "$OUTPUT_FILE"
echo ""
echo ">> Manifests for $chart_name rendered to $OUTPUT_FILE"
echo ""
else else
echo "Directory $chart_path does not contain a Chart.yaml. Skipping ..." echo ""
echo ">> Directory $chart_path does not contain a Chart.yaml. Skipping ..."
echo ""
fi fi
done done
done done
# - name: Create Pull Request
# id: pull-request
# uses: peter-evans/create-pull-request@v7
# with:
# token: ${{ secrets.BOT_TOKEN }}
# add-paths: |
# clusters/cl01tl/manifests/*
# commit-message: "chore: Update manifests after chart change"
# committer: gitea-bot <gitea-bot@alexlebens.net>
# author: gitea-bot <gitea-bot@alexlebens.net>
# branch: auto/update-manifests
# branch-suffix: timestamp
# base: manifests
# title: "Manifest Update"
# body: |
# This PR contains the newly rendered Kubernetes manifests.
# * Triggered by workflow run ${{ github.run_id }}
# * Review the `files changed` tab for the full YAML diff.
# labels: |
# manifests
# automated
- name: Check for Changes
id: check-changes
run: |
if git status --porcelain | grep -q .; then
echo ">> Changes detected"
echo "changes-detected=true" >> $GITEA_OUTPUT
else
echo ">> No changes detected, skipping PR creation"
exit 0
fi
- name: Commit and Push Changes
id: commit-push
if: steps.check-changes.outputs.changes-detected == 'true'
run: |
BRANCH_NAME="auto/update-manifests-$(date +%s)"
# Configure Git
git config user.name "gitea-bot"
git config user.email "gitea-bot@alexlebens.net"
# Create a new branch and stage all changes
git checkout -b $BRANCH_NAME
git add .
git commit -m "chore: Update manifests after change"
# Push the new branch to the remote repository
REPO_URL="${{ secrets.REPO_URL }}/${{ gitea.repository }}"
git push -u "https://oauth2:${{ secrets.BOT_TOKEN }}@$(echo $REPO_URL | sed -e 's|https://||')" $BRANCH_NAME
echo "HEAD_BRANCH=$BRANCH_NAME" >> $GITEA_OUTPUT
echo "push=true" >> $GITEA_OUTPUT
- name: Create Pull Request - name: Create Pull Request
uses: peter-evans/create-pull-request@v7 id: create-pull-request
with: if: steps.commit-push.outputs.push == 'true'
token: ${{ secrets.GITEA_TOKEN }} env:
commit-message: "chore: Update manifests after chart change" GITEA_TOKEN: ${{ secrets.BOT_TOKEN }}
branch: auto/update-manifests GITEA_URL: ${{ secrets.REPO_URL }}
base: manifests OWNER: ${{ gitea.repository_owner }}
title: "Manifest Update: App Changes" REPO: ${{ gitea.repository_name }}
body: | HEAD_BRANCH: ${{ steps.commit-push.outputs.HEAD_BRANCH }}
This PR contains the newly rendered Kubernetes manifests. run: |
echo ">> Creating PR from branch: ${HEAD_BRANCH} into ${BASE_BRANCH}"
* Triggered by workflow run ${{ github.run_id }} apt update && apt install tea
* Review the `files changed` tab for the full YAML diff.
add-paths: "clusters/*/rendered-manifests/"
- name: ntfy Success tea pulls create \
uses: niniyas/ntfy-action@master --repo "${OWNER}/${REPO}" \
if: success() --head "${HEAD_BRANCH}" \
with: --base "${BASE_BRANCH}" \
url: "${{ secrets.NTFY_URL }}" --title "Automated Manifest Update: $(date +%F)" \
topic: "${{ secrets.NTFY_TOPIC }}" --body "This PR contains newly rendered Kubernetes manifests automatically generated by the CI workflow."
title: "Manifest Render Success - Infrastructure"
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,successfully,completed
details: "Manifest rendering for Infrastructure has succeeded"
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png"
- name: ntfy Failed echo "pull-request-operation=created" >> $GITEA_OUTPUT
uses: niniyas/ntfy-action@master
if: failure() # - name: ntfy Created
with: # uses: niniyas/ntfy-action@master
url: "${{ secrets.NTFY_URL }}" # if: steps.create-pull-request.outputs.pull-request-operation == 'created'
topic: "${{ secrets.NTFY_TOPIC }}" # with:
title: "Manifest Render Failure - Infrastructure" # url: "${{ secrets.NTFY_URL }}"
priority: 4 # topic: "${{ secrets.NTFY_TOPIC }}"
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}' # title: "Manifest Render PR Created - Infrastructure"
tags: action,failed # priority: 3
details: "Manifest rendering for Infrastructure has failed!" # headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png" # tags: action,successfully,completed
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/infrastructure/actions?workflow=render-manifests.yaml", "clear": true}]' # details: "Manifest rendering for Infrastructure has created PR ${{ steps.pull-request.outputs.pull-request-number }}!"
image: true # icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png"
# - 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

@@ -36,7 +36,7 @@ shelly-plug:
main: main:
image: image:
repository: php repository: php
tag: 8.4.15-apache-bookworm tag: 8.5.0-apache-bookworm
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: SHELLY_HOSTNAME - name: SHELLY_HOSTNAME

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:26a08cd60d81e632aba8947b2c64dfd5f870a5f4a837ec4abedf2e1d174df891 tag: 5.1.4@sha256:a2eedc99b4876916943bd33e7c415efc448f6b514aa39b4f98c1e6472a717301
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: TZ - name: TZ

View File

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