50 Commits

Author SHA1 Message Date
67c17c3ca1 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 13s
2025-12-01 03:22:48 +00:00
7d27140114 add repo step
All checks were successful
renovate / renovate (push) Successful in 3m39s
2025-11-30 21:19:17 -06:00
6e613e1e65 add chart lock
Some checks failed
lint-test-helm / helm-lint (push) Successful in 7s
render-manifests / render-manifests-helm (push) Failing after 36s
renovate / renovate (push) Successful in 1m13s
2025-11-30 21:14:57 -06:00
dafa71f8f3 update gitignore 2025-11-30 21:00:37 -06:00
708e52dfbb add new stack 2025-11-30 21:00:21 -06:00
418bc22998 deactivate deletion
All checks were successful
lint-test-helm / helm-lint (push) Successful in 10s
render-manifests / render-manifests-helm (push) Successful in 1m13s
renovate / renovate (push) Successful in 1m30s
2025-11-30 20:24:33 -06:00
85b15e8590 add step to clear prior manifests
All checks were successful
renovate / renovate (push) Successful in 1m54s
2025-11-30 19:19:46 -06:00
32d6244acf update paths
All checks were successful
renovate / renovate (push) Successful in 1m25s
2025-11-30 18:15:58 -06:00
8e2c65663b use separate dir for each branch
All checks were successful
renovate / renovate (push) Successful in 1m14s
2025-11-30 18:09:47 -06:00
9ead73777f change
All checks were successful
renovate / renovate (push) Successful in 3m36s
2025-11-30 17:26:38 -06:00
3e0cb21863 change
All checks were successful
renovate / renovate (push) Successful in 1m26s
2025-11-30 17:08:27 -06:00
a9f2dc375c change
All checks were successful
renovate / renovate (push) Successful in 2m9s
2025-11-30 16:56:34 -06:00
63fdef0e26 change
All checks were successful
renovate / renovate (push) Successful in 1m17s
2025-11-30 16:53:33 -06:00
fcbde5abc4 change
All checks were successful
renovate / renovate (push) Successful in 1m12s
2025-11-30 16:51:29 -06:00
2ba863bb98 change
All checks were successful
renovate / renovate (push) Successful in 1m44s
2025-11-30 16:48:57 -06:00
441f39b0cd fix jq
All checks were successful
renovate / renovate (push) Successful in 2m0s
2025-11-30 16:43:52 -06:00
4a4e8ab77f use jq
All checks were successful
renovate / renovate (push) Successful in 1m18s
2025-11-30 16:41:11 -06:00
68a25dc9fd change command
All checks were successful
renovate / renovate (push) Successful in 1m35s
2025-11-30 16:26:57 -06:00
96a44b823e fix
All checks were successful
renovate / renovate (push) Successful in 1m14s
2025-11-30 16:17:32 -06:00
e23dbd4df2 echo content
All checks were successful
renovate / renovate (push) Successful in 2m7s
2025-11-30 16:12:04 -06:00
1e6f90271a change redirection
All checks were successful
renovate / renovate (push) Successful in 1m24s
2025-11-30 16:05:55 -06:00
b789f2030e add error handling
All checks were successful
renovate / renovate (push) Successful in 1m6s
2025-11-30 15:55:58 -06:00
77ef98c3e0 use webrequest
Some checks failed
renovate / renovate (push) Failing after 3s
2025-11-30 15:45:13 -06: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
55 changed files with 678 additions and 38 deletions

View File

@@ -8,75 +8,205 @@ on:
- "clusters/**"
- ! "clusters/*/archive"
workflow_dispatch:
env:
CLUSTERS: cl01tl
BASE_BRANCH: manifests
MAIN_DIR: /workspace/alexlebens/infrastructure/infrastructure
MANIFEST_DIR: /workspace/alexlebens/infrastructure/infrastructure-manifests
jobs:
render-manifests-helm:
runs-on: ubuntu-js
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
path: infrastructure
- 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: latest
version: v3.17.2 # Pending https://github.com/helm/helm/pull/30743
- name: Remove Prior Manifests
run: |
cd ${MANIFEST_DIR}/clusters
rm -rf ./*
- name: Add Repositories
run: |
for chart_path in ${MAIN_DIR}/clusters/$cluster/helm/*; do
helm dependency list --max-col-width 120 $chart_path 2> /dev/null | tail +2 | head -n -1 | awk '{ print "helm repo add " $1 " " $3 }' | while read cmd; do $cmd; done
done
- name: Render Helm Manifests
env:
CLUSTERS: cl01tl
run: |
for cluster in $CLUSTERS; do
mkdir clusters/$CLUSTER/manifests
for chart_path in clusters/$CLUSTER/helm/; do
chart_name=$(basename "$chart")
echo "--- Rendering chart: $chart_name ---"
for cluster in ${CLUSTERS}; do
for chart_path in ${MAIN_DIR}/clusters/$cluster/helm/*; do
chart_name=$(basename "$chart_path")
echo ">> Rendering chart: $chart_name"
if [ -f "$chart_path/Chart.yaml" ]; then
OUTPUT_FILE="clusters/$CLUSTER/manifests/$chart_name.yaml"
mkdir -p ${MANIFEST_DIR}/clusters/$cluster/manifests/$chart_name
OUTPUT_FILE="${MANIFEST_DIR}/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
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
done
done
- name: Check for Changes
id: check-changes
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
- name: Commit and Push Changes
id: commit-push
if: steps.check-changes.outputs.changes-detected == 'true'
run: |
cd ${MANIFEST_DIR}
BRANCH_NAME="auto/update-manifests-$(date +%s)"
# Configure Git
echo ">> Configure git to use gitea-bot as user ..."
git config user.name "gitea-bot"
git config user.email "gitea-bot@alexlebens.net"
# Create a new branch and stage all changes
echo ">> Creating and commiting to $BRANCH_NAME ..."
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 }}"
echo ">> Pushing changes to $REPO_URL ..."
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
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.GITEA_TOKEN }}
commit-message: "chore: Update manifests after chart change"
branch: auto/update-manifests
base: manifests
title: "Manifest Update: App Changes"
body: |
This PR contains the newly rendered Kubernetes manifests.
id: create-pull-request
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}
* Triggered by workflow run ${{ github.run_id }}
* Review the `files changed` tab for the full YAML diff.
add-paths: "clusters/*/rendered-manifests/"
API_ENDPOINT="${GITEA_URL}/api/v1/repos/${{ gitea.repository }}/pulls"
- name: ntfy Success
PAYLOAD=$( jq -n \
--arg head "${HEAD_BRANCH}" \
--arg base "${BASE_BRANCH}" \
--arg title "Automated Manifest Update: $(date +%F)" \
--arg body "This PR contains newly rendered Kubernetes manifests automatically generated by the CI workflow." \
'{head: $head, base: $base, 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
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"
else
echo ">> Failed to create PR, HTTP status code: $HTTP_STATUS"
exit 1
fi
- name: Cleanup Branch
if: failure() && steps.create-pull-request.outcome == 'failure'
env:
HEAD_BRANCH: ${{ steps.commit-push.outputs.HEAD_BRANCH }}
run: |
echo ">> Removing branch: ${HEAD_BRANCH}"
git push origin --delete ${HEAD_BRANCH}
- name: ntfy Created
uses: niniyas/ntfy-action@master
if: success()
if: steps.create-pull-request.outputs.pull-request-operation == 'created'
with:
url: "${{ secrets.NTFY_URL }}"
topic: "${{ secrets.NTFY_TOPIC }}"
title: "Manifest Render Success - Infrastructure"
title: "Manifest Render PR Created - Infrastructure"
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,successfully,completed
details: "Manifest rendering for Infrastructure has succeeded"
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}]'
- name: ntfy Failed
uses: niniyas/ntfy-action@master

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
/**/archive/
/**/charts/
/**/manifests/

View File

@@ -9,10 +9,12 @@ metadata:
app.kubernetes.io/name: {{ $stack.name }}
app.kubernetes.io/instance: {{ $stack.name }}
app.kubernetes.io/part-of: {{ $.Release.Name }}
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
syncPolicy:
applicationsSync: create-update
preserveResourcesOnDeletion: false
preserveResourcesOnDeletion: true
generators:
- git:
repoURL: {{ $.Values.git.repo }}

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:b5d823171e1b4dc1d3856f782f0c67cbb5d49e4fa170df2f21b06303c7aff7f5
generated: "2025-11-30T21:05:19.732832-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:f3a9990542f24965fadad0b5493059b78cdc3fae91c8214577fa6f41ca5f7de3
generated: "2025-11-30T21:05:21.317114-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:c6f6d1f2fb9fedf54094920737a6f0bd1a2ab89f0a4122966ca98f6c9d3f11fa
generated: "2025-11-30T21:05:22.694344-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: mariadb-cluster
repository: https://helm.mariadb.com/mariadb-operator
version: 25.10.2
digest: sha256:264725306c1d1f38140293c0820abdc7e8aa4f39764b4d91e20200705ce2ec91
generated: "2025-11-30T21:05:24.649316-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.0
digest: sha256:99eb4f940077dc916f5425d196232fcd363223fa7b7b5d3889f5965aa59e26f5
generated: "2025-11-30T21:05:26.699161-06:00"

View File

@@ -0,0 +1,12 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:2f3d9f7a8d8d71b19ff3292993647d22a89aa6c444a6f0819b82cd0a577f1ebc
generated: "2025-11-30T21:05:28.43692-06:00"

View File

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

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:9900009eb6415344d8c5387371a0052259092d92f34c21774f6a6abe9f11f43e
generated: "2025-11-30T21:05:32.524168-06:00"

View File

@@ -0,0 +1,12 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:1c1355c247383bb5aef029eaadaf0c6bbcc23c0e42868178c1ea9a9ab21cc704
generated: "2025-11-30T21:05:34.030606-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:ae6008e107c25dc25e6f595f783d137273207aeb06a8ece9fbba0d895cc0d729
generated: "2025-11-30T21:07:04.566378-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.0
digest: sha256:1bcc384dc2dc0a521600c90b8040f0cac9d706bde76419386d5eb7408e45169a
generated: "2025-11-30T21:07:07.275267-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:fe69d34709d7f0c3674453013c0e76d6064531134404de8f4e72fb509b98bcb0
generated: "2025-11-30T21:07:05.997919-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:23e60d425ef97edda213f29628f29adca4b82dd68c75f764fd83fd865acd8c70
generated: "2025-11-30T21:07:08.851326-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:6c1412459bf39357f20db21735f64dc4f5fe2a0a746d19a78ddff43801610991
generated: "2025-11-30T21:07:10.484678-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:5394000890e1bcc83f94b138c148c591f6a091850e734acbd6e1e7d053469f38
generated: "2025-11-30T21:07:11.924605-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:4d14b684813eac9fcae1be18bcc5644c8583e2c014da6941705b58b118bbd6ee
generated: "2025-11-30T21:07:13.230393-06:00"

View File

@@ -0,0 +1,12 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: meilisearch
repository: https://meilisearch.github.io/meilisearch-kubernetes
version: 0.17.1
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.0
digest: sha256:87a67950901f8a047f790ed21e8fc1cbfd076e05a3a55377b1cb0aa081f10f8d
generated: "2025-11-30T21:07:14.824697-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:c49d66e1174d093c845498c6b88409b23f3392a93d00f8e029636a10080fc72d
generated: "2025-11-30T21:07:17.110714-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:ce61ef8a0f6fe0f17472f5c03d505be7ba7077f2d9211d43e743798622e15bca
generated: "2025-11-30T21:07:18.443736-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:e2c50f16d20f551ea2e05f75239eba37af5b5cf7f64dbc208870b063e7135d03
generated: "2025-11-30T21:07:19.863423-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:ad00ef6a3bd12d2a6a167838ec3922aeb386e2a9efd260f4f8cce8964e5bf7b5
generated: "2025-11-30T21:07:21.451781-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:8cd26f322d08777301e6c080ca9faa09a2fabda5c3f8bba6536d67496149ae4b
generated: "2025-11-30T21:07:22.794237-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:2742827fee3fb1d07cd96db1ae82dbf206d24dd5d326ba2702508de42e3dccb2
generated: "2025-11-30T21:07:24.477661-06:00"

View File

@@ -0,0 +1,12 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:4c36df51e831ff5431e9c60cf4f13a8ad7436ed070f4ce082c2793fc9773958c
generated: "2025-11-30T21:07:25.868245-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:9d2b5e1862aa2d9336884874aba6a11624a26b2fb0f98329b0b90f3426d61c4d
generated: "2025-11-30T21:07:27.498925-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:6e32298738e136a5c8cd51f84bc125a7f19443afe71978002fb3d1924e1d37d8
generated: "2025-11-30T21:07:29.196717-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:a9d49fd723833cb90c635a612d40d4edd765879e56eab64c13a344a44356bf72
generated: "2025-11-30T21:07:30.705444-06:00"

View File

@@ -0,0 +1,12 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:9a80f885ed38b0a6addd2c9be8ffa5670cd03f89ba86c821b6dd91d8ba370d2b
generated: "2025-11-30T21:07:32.067121-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:2d8a83056d70c4124c19ae30358095407a6cc2332b8a06759dfb792a1fab1534
generated: "2025-11-30T21:07:33.730578-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:d42d3c3a011e9e6252da987e7f86712eb1bccde7721ec067881192182c3ac709
generated: "2025-11-30T21:07:36.660188-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:f21d624fcafe0fc8e4f8d1c140f1fbefc40a74bdc29d6267a4d71e95ac81b95a
generated: "2025-11-30T21:07:38.187061-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:caaa532c1be0452935259f03f992836b060ee212434abc5b1d81f939c6e33a2b
generated: "2025-11-30T21:07:39.820192-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:5bd176d6017208f08b9c8108b0df2330e16ef4dffcd8c1e95cff5d32af79d06c
generated: "2025-11-30T21:07:35.121161-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:bf4ddb79b0fa0e266d5c5a18e37508bd1e4eaac98ad8c373c4bb44dba4a17fd0
generated: "2025-11-30T21:07:41.680426-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:5dc774da528576893d9072f75d16e731851da85d056c6d3461d1f6ee353de2b0
generated: "2025-11-30T21:07:43.174721-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.0
digest: sha256:5a7b3c34f9eb198ea91b40d341daaf28c5fe425e344d4d247a5592f742aaf760
generated: "2025-11-30T21:07:44.522489-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.0
digest: sha256:2894c66ba8f97a04b37305fc59a8ef376ef7b8ac20280851d6b86f18af6f5a47
generated: "2025-11-30T21:07:46.422263-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:4ab38a9fe2d034c69b543086c90de898957d35a9f662715a3f4de30864486123
generated: "2025-11-30T21:07:47.912262-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:ac50ec7248debdffce8b12291db854979b7822b1254c1ad6c995436f4ade0427
generated: "2025-11-30T21:07:51.092459-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:ab4aba37d148cac38d557c908a4c0939a53511f2c1a38813ff11713594e1309f
generated: "2025-11-30T21:07:52.725934-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:a21b89ea41950e5c87de9e6f68b5844ce158398d40a1f811dca9401961f68188
generated: "2025-11-30T21:07:49.423227-06:00"

View File

@@ -0,0 +1,16 @@
apiVersion: v2
name: stack
version: 1.0.0
description: Stack
keywords:
- argocd
- stack
- deployment
home: https://wiki.alexlebens.dev/s/0c2d1896-710d-4972-9bc8-08d71987428a
sources:
- https://github.com/argoproj/argo-cd
- https://gitea.alexlebens.dev/alexlebens/infrastructure
maintainers:
- name: alexlebens
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png
appVersion: 1.0.0

View File

@@ -0,0 +1,80 @@
---
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: application-set-cl01tl
namespace: argocd
labels:
app.kubernetes.io/name: application-set-cl01tl
app.kubernetes.io/instance: argocd
app.kubernetes.io/part-of: argocd
spec:
syncPolicy:
applicationsSync: create-update
preserveResourcesOnDeletion: true
generators:
- git:
repoURL: http://gitea-http.gitea:3000/alexlebens/infrastructure
revision: HEAD
directories:
- path: clusters/cl01tl/manifests/*
- path: clusters/cl01tl/manifests/stack
exclude: true
template:
metadata:
name: '{{ .path.basename }}'
spec:
project: default
source:
repoURL: http://gitea-http.gitea:3000/alexlebens/infrastructure
targetRevision: HEAD
path: '{{.path.path}}'
helm:
releaseName: '{{ .path.basename }}'
destination:
name: in-cluster
namespace: '{{ .path.basename }}'
revisionHistoryLimit: 3
ignoreDifferences:
- group: ""
kind: Service
jqPathExpressions:
- .spec.externalName
- group: "apps"
kind: "Deployment"
jsonPointers:
- /spec/template/metadata/annotations/checksum~1secret
- /spec/template/metadata/annotations/checksum~1secret-core
- /spec/template/metadata/annotations/checksum~1secret-jobservice
- /spec/template/metadata/annotations/checksum~1tls
- group: "apps"
kind: "StatefulSet"
jsonPointers:
- /spec/template/metadata/annotations/checksum~1secret
- /spec/template/metadata/annotations/checksum~1tls
- group: "apps"
kind: StatefulSet
jqPathExpressions:
- .spec.volumeClaimTemplates[]?.apiVersion
- .spec.volumeClaimTemplates[]?.kind
- .spec.volumeClaimTemplates[]?.metadata.creationTimestamp
- group: ""
kind: GpuDevicePlugin
jqPathExpressions:
- .metadata.annotations[]
syncPolicy:
automated:
prune: true
selfHeal: false
retry:
limit: 3
backoff:
duration: 1m
factor: 2
maxDuration: 15m
syncOptions:
- CreateNamespace=true
- ApplyOutOfSyncOnly=true
- ServerSideApply=true
- PruneLast=true
- RespectIgnoreDifferences=true

View File

@@ -0,0 +1,37 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: stack-cl01tl
namespace: argocd
labels:
app.kubernetes.io/name: stack-cl01tl
app.kubernetes.io/instance: argocd
app.kubernetes.io/part-of: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
source:
repoURL: http://gitea-http.gitea:3000/alexlebens/infrastructure
targetRevision: HEAD
path: clusters/cl01tl/manifests/stack
destination:
name: in-cluster
namespace: argocd
revisionHistoryLimit: 3
syncPolicy:
automated:
prune: true
selfHeal: false
retry:
limit: 3
backoff:
duration: 1m
factor: 2
maxDuration: 15m
syncOptions:
- CreateNamespace=false
- ApplyOutOfSyncOnly=true
- ServerSideApply=true
- PruneLast=true
- RespectIgnoreDifferences=true

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:7386f14b62e77b60802a444054ccbb8236ab5e2a6a482de2f4dd3ae9fbd57e70
generated: "2025-11-30T21:07:54.28034-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: tdarr-exporter
repository: https://homeylab.github.io/helm-charts/
version: 1.1.7
digest: sha256:c2682bd99faa61fb8150ff1991439caa96b49cec2e793aef441b6151e0cddf27
generated: "2025-11-30T21:07:55.786993-06:00"

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
digest: sha256:e9d1db208201816f4f7c24199370c5d15be259573953dea16b41ce7f32a22b13
generated: "2025-11-30T21:07:57.898588-06:00"

View File

@@ -0,0 +1,12 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:39fae048dd4dd7c072e9c04eb42ff5196d8cbb14db04f47dd6819fcc10c6b106
generated: "2025-11-30T21:07:59.408576-06:00"

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:953c8d8283467cb8406a68598741bc9cdc6dc56980409ee46588a9669a1b9550
generated: "2025-11-30T21:08:01.158525-06:00"

View File

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

View File

@@ -28,7 +28,7 @@ qbittorrent:
qbittorrent:
image:
repository: ghcr.io/linuxserver/qbittorrent
tag: 5.1.4@sha256:26a08cd60d81e632aba8947b2c64dfd5f870a5f4a837ec4abedf2e1d174df891
tag: 5.1.4@sha256:a2eedc99b4876916943bd33e7c415efc448f6b514aa39b4f98c1e6472a717301
pullPolicy: IfNotPresent
env:
- name: TZ

View File

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