Compare commits

...

27 Commits

Author SHA1 Message Date
449d573159 Update ghcr.io/cloudnative-pg/postgresql Docker tag to v18
All checks were successful
lint-and-test / lint-helm (pull_request) Successful in 38s
lint-and-test / chart-testing (pull_request) Successful in 1m31s
2025-12-07 22:48:16 +00:00
83f23d6f4a handle conditions better
All checks were successful
renovate / renovate (push) Successful in 32s
2025-12-07 16:47:30 -06:00
ef6c469f6c fix paths
All checks were successful
renovate / renovate (push) Successful in 32s
2025-12-06 21:14:18 -06:00
28e6783d73 fix version
All checks were successful
renovate / renovate (push) Successful in 53s
2025-12-06 21:02:23 -06:00
f7b6037ffc Merge pull request 'Update ghcr.io/squat/generic-device-plugin:latest Docker digest to a848216' (#150) from renovate/ghcr.io-squat-generic-device-plugin-latest into main
Some checks failed
renovate / renovate (push) Successful in 29s
release-charts-generic-device-plugin / release (push) Successful in 8m34s
lint-and-test / chart-testing (push) Failing after 9s
lint-and-test / lint-helm (push) Successful in 11s
2025-12-07 01:57:24 +00:00
3941d174a8 Update ghcr.io/squat/generic-device-plugin:latest Docker digest to a848216
Some checks failed
renovate/stability-days Updates have not met minimum release age requirement
lint-and-test / lint-helm (pull_request) Failing after 2m36s
lint-and-test / chart-testing (pull_request) Failing after 9m59s
2025-12-07 01:57:13 +00:00
f693b7f16f use separate jobs
All checks were successful
renovate / renovate (push) Successful in 1m56s
2025-12-04 19:56:00 -06:00
1ac412eafe readd chart testing
All checks were successful
renovate / renovate (push) Successful in 36s
2025-12-04 19:52:28 -06:00
15458b55cb fix
All checks were successful
renovate / renovate (push) Successful in 31s
2025-12-04 19:23:22 -06:00
60288e9ab6 use helm lint instead
All checks were successful
renovate / renovate (push) Successful in 39s
2025-12-04 19:21:19 -06:00
b35dbccfd2 add cache
All checks were successful
renovate / renovate (push) Successful in 35s
2025-12-04 18:57:35 -06:00
c69733c6bb change install uv
All checks were successful
renovate / renovate (push) Successful in 30s
2025-12-04 18:52:41 -06:00
6a2dbcaf85 change node version
All checks were successful
renovate / renovate (push) Successful in 34s
2025-12-04 18:38:16 -06:00
47799c0d0d setup node
All checks were successful
renovate / renovate (push) Successful in 37s
2025-12-04 18:34:30 -06:00
4c0cb5fe18 update testing
All checks were successful
renovate / renovate (push) Successful in 32s
2025-12-04 18:31:25 -06:00
857c53799a update workflows
All checks were successful
renovate / renovate (push) Successful in 2m15s
2025-12-04 18:25:01 -06:00
2f09ce9dc0 update workflows
All checks were successful
renovate / renovate (push) Successful in 2m19s
2025-12-04 18:21:28 -06:00
64d4c731c7 update common chart
Some checks failed
release-charts-cloudflared / release (push) Failing after 10s
release-charts-generic-device-plugin / release (push) Failing after 9s
renovate / renovate (push) Successful in 43s
2025-12-04 18:10:18 -06:00
80a4a3fa39 update common chart 2025-12-04 18:10:05 -06:00
d9ce69b996 update configuration 2025-12-04 18:09:45 -06:00
0767066fc5 update gitignore to only ignore chart binary folders 2025-12-04 18:09:20 -06:00
749f62a791 add debug logging
All checks were successful
renovate / renovate (push) Successful in 1m10s
2025-12-01 18:28:35 -06:00
a429797e5e pin 2025-12-01 18:26:22 -06:00
52078fa459 update docs
Some checks failed
renovate / renovate (push) Successful in 58s
release-charts-postgres-cluster / release (push) Failing after 13s
release-charts-cloudflared / release (push) Failing after 15s
2025-12-01 18:12:03 -06:00
ed0cf6155f update chart
Some checks failed
release-charts-cloudflared / release (push) Failing after 10s
release-charts-generic-device-plugin / release (push) Failing after 11s
release-charts-postgres-cluster / release (push) Failing after 13s
renovate / renovate (push) Successful in 35s
2025-12-01 18:09:15 -06:00
965b3006e9 Merge pull request 'Update ghcr.io/squat/generic-device-plugin:latest Docker digest to 4896ffd' (#146) from renovate/ghcr.io-squat-generic-device-plugin-latest into main
Some checks failed
renovate / renovate (push) Successful in 40s
release-charts-generic-device-plugin / release (push) Failing after 14s
2025-12-02 00:01:18 +00:00
9b77893478 Update ghcr.io/squat/generic-device-plugin:latest Docker digest to 4896ffd
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
lint-and-test / lint-test (pull_request) Successful in 1m1s
2025-12-02 00:01:03 +00:00
17 changed files with 411 additions and 67 deletions

View File

@@ -2,9 +2,22 @@ name: lint-and-test
on: on:
pull_request: pull_request:
branches:
- main
paths:
- 'charts/**'
push:
branches:
- main
paths:
- 'charts/**'
env:
BASE_BRANCH: "origin/${{ gitea.base_ref }}"
jobs: jobs:
lint-test: chart-testing:
runs-on: ubuntu-js runs-on: ubuntu-js
steps: steps:
- name: Checkout - name: Checkout
@@ -15,7 +28,13 @@ jobs:
- name: Set up Helm - name: Set up Helm
uses: azure/setup-helm@v4 uses: azure/setup-helm@v4
with: with:
version: latest token: ${{ secrets.GITEA_TOKEN }}
version: v3.19.2
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
@@ -53,3 +72,155 @@ jobs:
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png' icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/helm-charts/actions?workflow=lint-test.yaml", "clear": true}]' actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/helm-charts/actions?workflow=lint-test.yaml", "clear": true}]'
image: true image: true
lint-helm:
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Check Branch Exists
id: check-branch-exists
if: github.event_name == 'pull_request'
uses: GuillaumeFalourd/branch-exists@v1.1
with:
branch: ${{ gitea.base_ref }}
- name: Report Branch Exists
id: branch-exists
if: github.event_name == 'push' || steps.check-branch-exists.outputs.exists == 'true' && github.event_name == 'pull_request'
run: |
if [ ${{ github.event_name == 'push' }} ]; then
echo ">> Action is from a push event, will continue with linting"
else
echo ">> Branch ${{ gitea.base_ref }} exists, will continue with linting"
fi
echo "----"
echo "exists=true" >> $GITEA_OUTPUT
- name: Set up Helm
uses: azure/setup-helm@v4
if: steps.branch-exists.outputs.exists == 'true'
with:
token: ${{ secrets.GITEA_TOKEN }}
version: v3
- name: Check Directories for Changes
id: check-dir-changes
if: steps.branch-exists.outputs.exists == 'true'
run: |
CHANGED_CHARTS=()
echo ">> Target branch for diff is: ${BASE_BRANCH}"
if [ "${{ github.event_name }}" == "pull_request" ]; then
echo ""
echo ">> Checking for changes in a pull request ..."
GIT_DIFF=$(git diff --name-only "${BASE_BRANCH}" | xargs -I {} dirname {} | sort -u | grep -E "charts/")
else
echo ""
echo ">> Checking for changes from a push ..."
GIT_DIFF=$(git diff --name-only ${{ gitea.event.before }}..HEAD | xargs -I {} dirname {} | sort -u | grep -E "charts/")
fi
if [ -n "${GIT_DIFF}" ]; then
echo ""
echo ">> Changes detected:"
echo "$GIT_DIFF"
for path in $GIT_DIFF; do
CHANGED_CHARTS+=$(echo "$path" | awk -F '/' '{print $2}')
CHANGED_CHARTS+=$(echo " ")
done
else
echo ""
echo ">> No changes detected"
fi
if [ -n "${CHANGED_CHARTS}" ]; then
echo ""
echo ">> Chart to Lint:"
echo "$(echo "${CHANGED_CHARTS}" | sort -u)"
echo "----"
echo "changes-detected=true" >> $GITEA_OUTPUT
echo "chart-dir<<EOF" >> $GITEA_OUTPUT
echo "$(echo "${CHANGED_CHARTS}" | 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:
CHANGED_CHARTS: ${{ steps.check-dir-changes.outputs.chart-dir }}
run: |
echo ">> Adding repositories for chart dependencies ..."
for dir in ${CHANGED_CHARTS}; do
helm dependency list --max-col-width 120 charts/$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 ""
echo ">> Update repository cache ..."
helm repo update
fi
echo "----"
- name: Lint Helm Chart
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
CHANGED_CHARTS: ${{ steps.check-dir-changes.outputs.chart-dir }}
run: |
echo ">> Running linting on changed charts ..."
for dir in ${CHANGED_CHARTS}; do
chart_path=charts/$dir
chart_name=$(basename "$chart_path")
if [ -f "$chart_path/Chart.yaml" ]; then
cd $chart_path
echo ""
echo ">> Building helm dependency ..."
helm dependency build --skip-refresh
echo ""
echo ">> Linting helm ..."
helm lint --namespace "$chart_name"
else
echo ""
echo ">> Directory $chart_path does not contain a Chart.yaml. Skipping ..."
echo ""
fi
done
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Test Failure - Helm Charts'
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'Tests have failed for Helm Charts'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/helm-charts/actions?workflow=lint-test.yaml", "clear": true}]'
image: true

View File

@@ -23,28 +23,71 @@ 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.19.2
- name: Add Repositories
run: |
cd ${WORKFLOW_DIR}
echo ">> Adding repositories for chart dependencies ..."
helm dependency list --max-col-width 120 2> /dev/null \
| tail +2 | head -n -1 \
| awk '{ print "helm repo add " $1 " " $3 }' \
| while read cmd; do echo "$cmd" | sh; done || true
if helm repo list | tail +2 | read -r; then
echo ">> Update repository cache ..."
helm repo update
fi
echo "----"
- name: Package Helm Chart - name: Package Helm Chart
run: | run: |
cd $WORKFLOW_DIR cd ${WORKFLOW_DIR}
helm dependency build
echo ">> Building helm dependency ..."
helm dependency build --skip-refresh --debug
echo "----"
echo "PACKAGE_PATH=$(helm package . | awk '{print $NF}')" >> $GITEA_ENV echo "PACKAGE_PATH=$(helm package . | awk '{print $NF}')" >> $GITEA_ENV
- name: Publish Helm Chart to Harbor - name: Publish Helm Chart to Harbor
run: | run: |
helm registry login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} -p ${{ secrets.REGISTRY_SECRET }} echo ">> Logging into Harbor ..."
helm push ${{ env.PACKAGE_PATH }} oci://${{ vars.REGISTRY_HOST }}/helm-charts helm registry login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} -p ${{ secrets.REGISTRY_SECRET }} --debug
echo ""
echo ">> Publishing chart to Harbor ..."
helm push ${{ env.PACKAGE_PATH }} oci://${{ vars.REGISTRY_HOST }}/helm-charts --debug
echo "----"
- name: Publish Helm Chart to Gitea - name: Publish Helm Chart to Gitea
run: | run: |
helm plugin install https://github.com/chartmuseum/helm-push echo ">> Installing Chart Museum plugin ..."
helm repo add --username ${{ gitea.actor }} --password ${{ secrets.REPOSITORY_TOKEN }} helm-charts https://${{ vars.REPOSITORY_HOST }}/api/packages/alexlebens/helm helm plugin install https://github.com/chartmuseum/helm-push --debug
helm cm-push ${{ env.PACKAGE_PATH }} helm-charts
echo ""
echo ">> Adding Gitea repository ..."
helm repo add --username ${{ gitea.actor }} --password ${{ secrets.REPOSITORY_TOKEN }} helm-charts https://${{ vars.REPOSITORY_HOST }}/api/packages/alexlebens/helm --debug
echo ""
echo ">> Pushing chart to gitea"
helm cm-push ${{ env.PACKAGE_PATH }} helm-charts --debug
- name: Extract Chart Metadata - name: Extract Chart Metadata
run: | run: |
cd $WORKFLOW_DIR cd ${WORKFLOW_DIR}
echo ">> Adding Chart metadata to workflow ENV ..."
echo ""
echo ">> Chart Version: $(yq '.version' Chart.yaml)"
echo ">> Chart Name: $(yq '.name' Chart.yaml)"
echo "----"
echo "CHART_VERSION=$(yq '.version' Chart.yaml)" >> $GITEA_ENV echo "CHART_VERSION=$(yq '.version' Chart.yaml)" >> $GITEA_ENV
echo "CHART_NAME=$(yq '.name' Chart.yaml)" >> $GITEA_ENV echo "CHART_NAME=$(yq '.name' Chart.yaml)" >> $GITEA_ENV

View File

@@ -23,28 +23,71 @@ 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.19.2
- name: Add Repositories
run: |
cd ${WORKFLOW_DIR}
echo ">> Adding repositories for chart dependencies ..."
helm dependency list --max-col-width 120 2> /dev/null \
| tail +2 | head -n -1 \
| awk '{ print "helm repo add " $1 " " $3 }' \
| while read cmd; do echo "$cmd" | sh; done || true
if helm repo list | tail +2 | read -r; then
echo ">> Update repository cache ..."
helm repo update
fi
echo "----"
- name: Package Helm Chart - name: Package Helm Chart
run: | run: |
cd $WORKFLOW_DIR cd ${WORKFLOW_DIR}
helm dependency build
echo ">> Building helm dependency ..."
helm dependency build --skip-refresh --debug
echo "----"
echo "PACKAGE_PATH=$(helm package . | awk '{print $NF}')" >> $GITEA_ENV echo "PACKAGE_PATH=$(helm package . | awk '{print $NF}')" >> $GITEA_ENV
- name: Publish Helm Chart to Harbor - name: Publish Helm Chart to Harbor
run: | run: |
helm registry login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} -p ${{ secrets.REGISTRY_SECRET }} echo ">> Logging into Harbor ..."
helm push ${{ env.PACKAGE_PATH }} oci://${{ vars.REGISTRY_HOST }}/helm-charts helm registry login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} -p ${{ secrets.REGISTRY_SECRET }} --debug
echo ""
echo ">> Publishing chart to Harbor ..."
helm push ${{ env.PACKAGE_PATH }} oci://${{ vars.REGISTRY_HOST }}/helm-charts --debug
echo "----"
- name: Publish Helm Chart to Gitea - name: Publish Helm Chart to Gitea
run: | run: |
helm plugin install https://github.com/chartmuseum/helm-push echo ">> Installing Chart Museum plugin ..."
helm repo add --username ${{ gitea.actor }} --password ${{ secrets.REPOSITORY_TOKEN }} helm-charts https://${{ vars.REPOSITORY_HOST }}/api/packages/alexlebens/helm helm plugin install https://github.com/chartmuseum/helm-push --debug
helm cm-push ${{ env.PACKAGE_PATH }} helm-charts
echo ""
echo ">> Adding Gitea repository ..."
helm repo add --username ${{ gitea.actor }} --password ${{ secrets.REPOSITORY_TOKEN }} helm-charts https://${{ vars.REPOSITORY_HOST }}/api/packages/alexlebens/helm --debug
echo ""
echo ">> Pushing chart to gitea"
helm cm-push ${{ env.PACKAGE_PATH }} helm-charts --debug
- name: Extract Chart Metadata - name: Extract Chart Metadata
run: | run: |
cd $WORKFLOW_DIR cd ${WORKFLOW_DIR}
echo ">> Adding Chart metadata to workflow ENV ..."
echo ""
echo ">> Chart Version: $(yq '.version' Chart.yaml)"
echo ">> Chart Name: $(yq '.name' Chart.yaml)"
echo "----"
echo "CHART_VERSION=$(yq '.version' Chart.yaml)" >> $GITEA_ENV echo "CHART_VERSION=$(yq '.version' Chart.yaml)" >> $GITEA_ENV
echo "CHART_NAME=$(yq '.name' Chart.yaml)" >> $GITEA_ENV echo "CHART_NAME=$(yq '.name' Chart.yaml)" >> $GITEA_ENV

View File

@@ -23,28 +23,71 @@ 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.19.2
- name: Add Repositories
run: |
cd ${WORKFLOW_DIR}
echo ">> Adding repositories for chart dependencies ..."
helm dependency list --max-col-width 120 2> /dev/null \
| tail +2 | head -n -1 \
| awk '{ print "helm repo add " $1 " " $3 }' \
| while read cmd; do echo "$cmd" | sh; done || true
if helm repo list | tail +2 | read -r; then
echo ">> Update repository cache ..."
helm repo update
fi
echo "----"
- name: Package Helm Chart - name: Package Helm Chart
run: | run: |
cd $WORKFLOW_DIR cd ${WORKFLOW_DIR}
helm dependency build
echo ">> Building helm dependency ..."
helm dependency build --skip-refresh --debug
echo "----"
echo "PACKAGE_PATH=$(helm package . | awk '{print $NF}')" >> $GITEA_ENV echo "PACKAGE_PATH=$(helm package . | awk '{print $NF}')" >> $GITEA_ENV
- name: Publish Helm Chart to Harbor - name: Publish Helm Chart to Harbor
run: | run: |
helm registry login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} -p ${{ secrets.REGISTRY_SECRET }} echo ">> Logging into Harbor ..."
helm push ${{ env.PACKAGE_PATH }} oci://${{ vars.REGISTRY_HOST }}/helm-charts helm registry login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} -p ${{ secrets.REGISTRY_SECRET }} --debug
echo ""
echo ">> Publishing chart to Harbor ..."
helm push ${{ env.PACKAGE_PATH }} oci://${{ vars.REGISTRY_HOST }}/helm-charts --debug
echo "----"
- name: Publish Helm Chart to Gitea - name: Publish Helm Chart to Gitea
run: | run: |
helm plugin install https://github.com/chartmuseum/helm-push echo ">> Installing Chart Museum plugin ..."
helm repo add --username ${{ gitea.actor }} --password ${{ secrets.REPOSITORY_TOKEN }} helm-charts https://${{ vars.REPOSITORY_HOST }}/api/packages/alexlebens/helm helm plugin install https://github.com/chartmuseum/helm-push --debug
helm cm-push ${{ env.PACKAGE_PATH }} helm-charts
echo ""
echo ">> Adding Gitea repository ..."
helm repo add --username ${{ gitea.actor }} --password ${{ secrets.REPOSITORY_TOKEN }} helm-charts https://${{ vars.REPOSITORY_HOST }}/api/packages/alexlebens/helm --debug
echo ""
echo ">> Pushing chart to gitea"
helm cm-push ${{ env.PACKAGE_PATH }} helm-charts --debug
- name: Extract Chart Metadata - name: Extract Chart Metadata
run: | run: |
cd $WORKFLOW_DIR cd ${WORKFLOW_DIR}
echo ">> Adding Chart metadata to workflow ENV ..."
echo ""
echo ">> Chart Version: $(yq '.version' Chart.yaml)"
echo ">> Chart Name: $(yq '.name' Chart.yaml)"
echo "----"
echo "CHART_VERSION=$(yq '.version' Chart.yaml)" >> $GITEA_ENV echo "CHART_VERSION=$(yq '.version' Chart.yaml)" >> $GITEA_ENV
echo "CHART_NAME=$(yq '.name' Chart.yaml)" >> $GITEA_ENV echo "CHART_NAME=$(yq '.name' Chart.yaml)" >> $GITEA_ENV

View File

@@ -23,28 +23,71 @@ 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.19.2
- name: Add Repositories
run: |
cd ${WORKFLOW_DIR}
echo ">> Adding repositories for chart dependencies ..."
helm dependency list --max-col-width 120 2> /dev/null \
| tail +2 | head -n -1 \
| awk '{ print "helm repo add " $1 " " $3 }' \
| while read cmd; do echo "$cmd" | sh; done || true
if helm repo list | tail +2 | read -r; then
echo ">> Update repository cache ..."
helm repo update
fi
echo "----"
- name: Package Helm Chart - name: Package Helm Chart
run: | run: |
cd $WORKFLOW_DIR cd ${WORKFLOW_DIR}
helm dependency build
echo ">> Building helm dependency ..."
helm dependency build --skip-refresh --debug
echo "----"
echo "PACKAGE_PATH=$(helm package . | awk '{print $NF}')" >> $GITEA_ENV echo "PACKAGE_PATH=$(helm package . | awk '{print $NF}')" >> $GITEA_ENV
- name: Publish Helm Chart to Harbor - name: Publish Helm Chart to Harbor
run: | run: |
helm registry login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} -p ${{ secrets.REGISTRY_SECRET }} echo ">> Logging into Harbor ..."
helm push ${{ env.PACKAGE_PATH }} oci://${{ vars.REGISTRY_HOST }}/helm-charts helm registry login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} -p ${{ secrets.REGISTRY_SECRET }} --debug
echo ""
echo ">> Publishing chart to Harbor ..."
helm push ${{ env.PACKAGE_PATH }} oci://${{ vars.REGISTRY_HOST }}/helm-charts --debug
echo "----"
- name: Publish Helm Chart to Gitea - name: Publish Helm Chart to Gitea
run: | run: |
helm plugin install https://github.com/chartmuseum/helm-push echo ">> Installing Chart Museum plugin ..."
helm repo add --username ${{ gitea.actor }} --password ${{ secrets.REPOSITORY_TOKEN }} helm-charts https://${{ vars.REPOSITORY_HOST }}/api/packages/alexlebens/helm helm plugin install https://github.com/chartmuseum/helm-push --debug
helm cm-push ${{ env.PACKAGE_PATH }} helm-charts
echo ""
echo ">> Adding Gitea repository ..."
helm repo add --username ${{ gitea.actor }} --password ${{ secrets.REPOSITORY_TOKEN }} helm-charts https://${{ vars.REPOSITORY_HOST }}/api/packages/alexlebens/helm --debug
echo ""
echo ">> Pushing chart to gitea"
helm cm-push ${{ env.PACKAGE_PATH }} helm-charts --debug
- name: Extract Chart Metadata - name: Extract Chart Metadata
run: | run: |
cd $WORKFLOW_DIR cd ${WORKFLOW_DIR}
echo ">> Adding Chart metadata to workflow ENV ..."
echo ""
echo ">> Chart Version: $(yq '.version' Chart.yaml)"
echo ">> Chart Name: $(yq '.name' Chart.yaml)"
echo "----"
echo "CHART_VERSION=$(yq '.version' Chart.yaml)" >> $GITEA_ENV echo "CHART_VERSION=$(yq '.version' Chart.yaml)" >> $GITEA_ENV
echo "CHART_NAME=$(yq '.name' Chart.yaml)" >> $GITEA_ENV echo "CHART_NAME=$(yq '.name' Chart.yaml)" >> $GITEA_ENV

10
.gitignore vendored
View File

@@ -1,12 +1,2 @@
# Archived
charts/**/archive
# Compiled Helm chart dependencies # Compiled Helm chart dependencies
charts/**/Chart.lock
charts/**/charts/ charts/**/charts/
# Testing
__snapshot__/
# Docs
_site/

View File

@@ -0,0 +1,6 @@
dependencies:
- name: common
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.5.0
digest: sha256:cd050e107fbec6769024a6d316c3f43701295a55cddf53a9fc304b52ea879560
generated: "2025-12-04T18:06:50.235715-06:00"

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: cloudflared name: cloudflared
version: 1.23.0 version: 1.23.2
description: Cloudflared Tunnel description: Cloudflared Tunnel
keywords: keywords:
- cloudflare - cloudflare
@@ -13,6 +13,6 @@ maintainers:
dependencies: dependencies:
- name: common - name: common
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://avatars.githubusercontent.com/u/314135?s=48&v=4 icon: https://avatars.githubusercontent.com/u/314135?s=48&v=4
appVersion: "2025.10.0" appVersion: "2025.11.1"

View File

@@ -1,6 +1,6 @@
# cloudflared # cloudflared
![Version: 1.22.1](https://img.shields.io/badge/Version-1.22.1-informational?style=flat-square) ![AppVersion: 2025.10.0](https://img.shields.io/badge/AppVersion-2025.10.0-informational?style=flat-square) ![Version: 1.23.2](https://img.shields.io/badge/Version-1.23.2-informational?style=flat-square) ![AppVersion: 2025.11.1](https://img.shields.io/badge/AppVersion-2025.11.1-informational?style=flat-square)
Cloudflared Tunnel Cloudflared Tunnel
@@ -19,7 +19,7 @@ Cloudflared Tunnel
| Repository | Name | Version | | Repository | Name | Version |
|------------|------|---------| |------------|------|---------|
| https://bjw-s-labs.github.io/helm-charts/ | common | 4.4.0 | | https://bjw-s-labs.github.io/helm-charts/ | common | 4.5.0 |
## Values ## Values
@@ -27,7 +27,7 @@ Cloudflared Tunnel
|-----|------|---------|-------------| |-----|------|---------|-------------|
| existingSecretKey | string | `"cf-tunnel-token"` | Name of key that contains the token in the existingSecret | | existingSecretKey | string | `"cf-tunnel-token"` | Name of key that contains the token in the existingSecret |
| existingSecretName | string | `"cloudflared-secret"` | Name of existing secret that contains Cloudflare token | | existingSecretName | string | `"cloudflared-secret"` | Name of existing secret that contains Cloudflare token |
| image | object | `{"pullPolicy":"IfNotPresent","repository":"cloudflare/cloudflared","tag":"2025.10.0"}` | Default image | | image | object | `{"pullPolicy":"IfNotPresent","repository":"cloudflare/cloudflared","tag":"2025.11.1"}` | Default image |
| name | string | `"cloudflared"` | Name override of release | | name | string | `"cloudflared"` | Name override of release |
| resources | object | `{"requests":{"cpu":"10m","memory":"128Mi"}}` | Default resources | | resources | object | `{"requests":{"cpu":"10m","memory":"128Mi"}}` | Default resources |

View File

@@ -0,0 +1,6 @@
dependencies:
- name: common
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.5.0
digest: sha256:cd050e107fbec6769024a6d316c3f43701295a55cddf53a9fc304b52ea879560
generated: "2025-12-04T18:08:17.823318-06:00"

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: generic-device-plugin name: generic-device-plugin
version: 0.20.1 version: 0.20.5
description: Generic Device Plugin description: Generic Device Plugin
keywords: keywords:
- generic-device-plugin - generic-device-plugin
@@ -14,5 +14,5 @@ maintainers:
dependencies: dependencies:
- name: common - name: common
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
appVersion: 0.15.0 appVersion: 0.20.4

View File

@@ -1,6 +1,6 @@
# generic-device-plugin # generic-device-plugin
![Version: 0.16.0](https://img.shields.io/badge/Version-0.16.0-informational?style=flat-square) ![AppVersion: 0.15.0](https://img.shields.io/badge/AppVersion-0.15.0-informational?style=flat-square) ![Version: 0.20.4](https://img.shields.io/badge/Version-0.20.4-informational?style=flat-square) ![AppVersion: 0.20.4](https://img.shields.io/badge/AppVersion-0.20.4-informational?style=flat-square)
Generic Device Plugin Generic Device Plugin
@@ -19,7 +19,7 @@ Generic Device Plugin
| Repository | Name | Version | | Repository | Name | Version |
|------------|------|---------| |------------|------|---------|
| https://bjw-s-labs.github.io/helm-charts/ | common | 4.4.0 | | https://bjw-s-labs.github.io/helm-charts/ | common | 4.5.0 |
## Values ## Values
@@ -28,7 +28,7 @@ Generic Device Plugin
| config | object | `{"data":"devices:\n - name: serial\n groups:\n - paths:\n - path: /dev/ttyUSB*\n - paths:\n - path: /dev/ttyACM*\n - paths:\n - path: /dev/tty.usb*\n - paths:\n - path: /dev/cu.*\n - paths:\n - path: /dev/cuaU*\n - paths:\n - path: /dev/rfcomm*\n - name: video\n groups:\n - paths:\n - path: /dev/video0\n - name: fuse\n groups:\n - count: 10\n paths:\n - path: /dev/fuse\n - name: audio\n groups:\n - count: 10\n paths:\n - path: /dev/snd\n - name: capture\n groups:\n - paths:\n - path: /dev/snd/controlC0\n - path: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC1\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC1D0c\n mountPath: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC2\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC2D0c\n mountPath: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC3\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC3D0c\n mountPath: /dev/snd/pcmC0D0c\n","enabled":true}` | Config map | | config | object | `{"data":"devices:\n - name: serial\n groups:\n - paths:\n - path: /dev/ttyUSB*\n - paths:\n - path: /dev/ttyACM*\n - paths:\n - path: /dev/tty.usb*\n - paths:\n - path: /dev/cu.*\n - paths:\n - path: /dev/cuaU*\n - paths:\n - path: /dev/rfcomm*\n - name: video\n groups:\n - paths:\n - path: /dev/video0\n - name: fuse\n groups:\n - count: 10\n paths:\n - path: /dev/fuse\n - name: audio\n groups:\n - count: 10\n paths:\n - path: /dev/snd\n - name: capture\n groups:\n - paths:\n - path: /dev/snd/controlC0\n - path: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC1\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC1D0c\n mountPath: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC2\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC2D0c\n mountPath: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC3\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC3D0c\n mountPath: /dev/snd/pcmC0D0c\n","enabled":true}` | Config map |
| config.data | string | See [values.yaml](./values.yaml) | generic-device-plugin config file [[ref]](https://github.com/squat/generic-device-plugin#usage) | | config.data | string | See [values.yaml](./values.yaml) | generic-device-plugin config file [[ref]](https://github.com/squat/generic-device-plugin#usage) |
| deviceDomain | string | `"devic.es"` | Domain used by devices for identifcation | | deviceDomain | string | `"devic.es"` | Domain used by devices for identifcation |
| image | object | `{"pullPolicy":"Always","repository":"ghcr.io/squat/generic-device-plugin","tag":"latest@sha256:62dda74362cc607b00d1ade291c192ea894d8bdc53a969ed5328b866b2988597"}` | Default image | | image | object | `{"pullPolicy":"Always","repository":"ghcr.io/squat/generic-device-plugin","tag":"latest@sha256:4896ffd516624d6eb7572e102bc4397e91f8bc3b2fb38b5bfefd758baae3dcf2"}` | Default image |
| name | string | `"generic-device-plugin"` | Name override of release | | name | string | `"generic-device-plugin"` | Name override of release |
| resources | object | `{"requests":{"cpu":"50m","memory":"10Mi"}}` | Default resources | | resources | object | `{"requests":{"cpu":"50m","memory":"10Mi"}}` | Default resources |
| service | object | `{"listenPort":8080}` | Service port | | service | object | `{"listenPort":8080}` | Service port |

View File

@@ -4,7 +4,7 @@ name: generic-device-plugin
# -- Default image # -- Default image
image: image:
repository: ghcr.io/squat/generic-device-plugin repository: ghcr.io/squat/generic-device-plugin
tag: latest@sha256:ef5deb09dcf7e577c8603857ae56ef479d91be6ab6f40dd2427166d510b0745f tag: latest@sha256:a8482160f4ef7a52fb3aff05f8ba8e71b7e3974fc9929cb629d615149358c036
pullPolicy: Always pullPolicy: Always
# -- Domain used by devices for identifcation # -- Domain used by devices for identifcation

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: postgres-cluster name: postgres-cluster
version: 6.16.0 version: 6.17.0
description: Cloudnative-pg Cluster description: Cloudnative-pg Cluster
keywords: keywords:
- database - database

View File

@@ -1,6 +1,6 @@
# postgres-cluster # postgres-cluster
![Version: 6.15.0](https://img.shields.io/badge/Version-6.15.0-informational?style=flat-square) ![AppVersion: v1.27.0](https://img.shields.io/badge/AppVersion-v1.27.0-informational?style=flat-square) ![Version: 6.16.1](https://img.shields.io/badge/Version-6.16.1-informational?style=flat-square) ![AppVersion: v1.27.0](https://img.shields.io/badge/AppVersion-v1.27.0-informational?style=flat-square)
Cloudnative-pg Cluster Cloudnative-pg Cluster
@@ -23,12 +23,12 @@ Cloudnative-pg Cluster
| backup.method | string | `"objectStore"` | Method to create backups, options currently are only objectStore | | backup.method | string | `"objectStore"` | Method to create backups, options currently are only objectStore |
| backup.objectStore | list | `[]` | Options for object store backups | | backup.objectStore | list | `[]` | Options for object store backups |
| backup.scheduledBackups | list | `[]` | List of scheduled backups | | backup.scheduledBackups | list | `[]` | List of scheduled backups |
| cluster | object | `{"additionalLabels":{},"affinity":{"enablePodAntiAffinity":true,"topologyKey":"kubernetes.io/hostname"},"annotations":{},"certificates":{},"enablePDB":true,"enableSuperuserAccess":false,"image":{"repository":"ghcr.io/cloudnative-pg/postgresql","tag":"17.6-standard-trixie"},"imagePullPolicy":"IfNotPresent","imagePullSecrets":[],"initdb":{},"instances":3,"logLevel":"info","monitoring":{"customQueries":[],"customQueriesSecret":[],"disableDefaultQueries":false,"enabled":false,"podMonitor":{"enabled":true,"metricRelabelings":[],"relabelings":[]},"prometheusRule":{"enabled":false,"excludeRules":["CNPGClusterLastFailedArchiveTimeWarning"]}},"postgresGID":-1,"postgresUID":-1,"postgresql":{"ldap":{},"parameters":{"hot_standby_feedback":"on","max_slot_wal_keep_size":"2000MB","shared_buffers":"128MB"},"pg_hba":[],"pg_ident":[],"shared_preload_libraries":[],"synchronous":{}},"primaryUpdateMethod":"switchover","primaryUpdateStrategy":"unsupervised","priorityClassName":"","resources":{"limits":{"hugepages-2Mi":"256Mi"},"requests":{"cpu":"100m","memory":"256Mi"}},"roles":[],"serviceAccountTemplate":{},"services":{},"storage":{"size":"10Gi","storageClass":""},"superuserSecret":"","walStorage":{"enabled":true,"size":"2Gi","storageClass":""}}` | Cluster settings | | cluster | object | `{"additionalLabels":{},"affinity":{"enablePodAntiAffinity":true,"topologyKey":"kubernetes.io/hostname"},"annotations":{},"certificates":{},"enablePDB":true,"enableSuperuserAccess":false,"image":{"repository":"ghcr.io/cloudnative-pg/postgresql","tag":"17.7-standard-trixie"},"imagePullPolicy":"IfNotPresent","imagePullSecrets":[],"initdb":{},"instances":3,"logLevel":"info","monitoring":{"customQueries":[],"customQueriesSecret":[],"disableDefaultQueries":false,"enabled":false,"podMonitor":{"enabled":true,"metricRelabelings":[],"relabelings":[]},"prometheusRule":{"enabled":false,"excludeRules":["CNPGClusterLastFailedArchiveTimeWarning"]}},"postgresGID":-1,"postgresUID":-1,"postgresql":{"ldap":{},"parameters":{"hot_standby_feedback":"on","max_slot_wal_keep_size":"2000MB","shared_buffers":"128MB"},"pg_hba":[],"pg_ident":[],"shared_preload_libraries":[],"synchronous":{}},"primaryUpdateMethod":"switchover","primaryUpdateStrategy":"unsupervised","priorityClassName":"","resources":{"limits":{"hugepages-2Mi":"256Mi"},"requests":{"cpu":"100m","memory":"256Mi"}},"roles":[],"serviceAccountTemplate":{},"services":{},"storage":{"size":"10Gi","storageClass":""},"superuserSecret":"","walStorage":{"enabled":true,"size":"2Gi","storageClass":""}}` | Cluster settings |
| cluster.affinity | object | `{"enablePodAntiAffinity":true,"topologyKey":"kubernetes.io/hostname"}` | Affinity/Anti-affinity rules for Pods. See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-AffinityConfiguration | | cluster.affinity | object | `{"enablePodAntiAffinity":true,"topologyKey":"kubernetes.io/hostname"}` | Affinity/Anti-affinity rules for Pods. See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-AffinityConfiguration |
| cluster.certificates | object | `{}` | The configuration for the CA and related certificates. See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-CertificatesConfiguration | | cluster.certificates | object | `{}` | The configuration for the CA and related certificates. See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-CertificatesConfiguration |
| cluster.enablePDB | bool | `true` | Allow to disable PDB, mainly useful for upgrade of single-instance clusters or development purposes See: https://cloudnative-pg.io/documentation/current/kubernetes_upgrade/#pod-disruption-budgets | | cluster.enablePDB | bool | `true` | Allow to disable PDB, mainly useful for upgrade of single-instance clusters or development purposes See: https://cloudnative-pg.io/documentation/current/kubernetes_upgrade/#pod-disruption-budgets |
| cluster.enableSuperuserAccess | bool | `false` | When this option is enabled, the operator will use the SuperuserSecret to update the postgres user password. If the secret is not present, the operator will automatically create one. When this option is disabled, the operator will ignore the SuperuserSecret content, delete it when automatically created, and then blank the password of the postgres user by setting it to NULL. | | cluster.enableSuperuserAccess | bool | `false` | When this option is enabled, the operator will use the SuperuserSecret to update the postgres user password. If the secret is not present, the operator will automatically create one. When this option is disabled, the operator will ignore the SuperuserSecret content, delete it when automatically created, and then blank the password of the postgres user by setting it to NULL. |
| cluster.image | object | `{"repository":"ghcr.io/cloudnative-pg/postgresql","tag":"17.6-standard-trixie"}` | Default image | | cluster.image | object | `{"repository":"ghcr.io/cloudnative-pg/postgresql","tag":"17.7-standard-trixie"}` | Default image |
| cluster.imagePullPolicy | string | `"IfNotPresent"` | Image pull policy. One of Always, Never or IfNotPresent. If not defined, it defaults to IfNotPresent. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | | cluster.imagePullPolicy | string | `"IfNotPresent"` | Image pull policy. One of Always, Never or IfNotPresent. If not defined, it defaults to IfNotPresent. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images |
| cluster.imagePullSecrets | list | `[]` | The list of pull secrets to be used to pull the images. See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-LocalObjectReference | | cluster.imagePullSecrets | list | `[]` | The list of pull secrets to be used to pull the images. See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-LocalObjectReference |
| cluster.initdb | object | `{}` | Bootstrap is the configuration of the bootstrap process when initdb is used. See: https://cloudnative-pg.io/documentation/current/bootstrap/ See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-bootstrapinitdb | | cluster.initdb | object | `{}` | Bootstrap is the configuration of the bootstrap process when initdb is used. See: https://cloudnative-pg.io/documentation/current/bootstrap/ See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-bootstrapinitdb |

View File

@@ -20,7 +20,7 @@ cluster:
# -- Default image # -- Default image
image: image:
repository: ghcr.io/cloudnative-pg/postgresql repository: ghcr.io/cloudnative-pg/postgresql
tag: 17.7-standard-trixie tag: 18.1-standard-trixie
# -- Image pull policy. One of Always, Never or IfNotPresent. If not defined, it defaults to IfNotPresent. Cannot be updated. # -- Image pull policy. One of Always, Never or IfNotPresent. If not defined, it defaults to IfNotPresent. Cannot be updated.
# More info: https://kubernetes.io/docs/concepts/containers/images#updating-images # More info: https://kubernetes.io/docs/concepts/containers/images#updating-images

View File

@@ -6,7 +6,6 @@
":rebaseStalePrs" ":rebaseStalePrs"
], ],
"timezone": "US/Central", "timezone": "US/Central",
"schedule": ["* */1 * * *"],
"labels": [], "labels": [],
"prHourlyLimit": 0, "prHourlyLimit": 0,
"prConcurrentLimit": 0, "prConcurrentLimit": 0,