Compare commits
129 Commits
cloudflare
...
generic-de
| Author | SHA1 | Date | |
|---|---|---|---|
| 857c53799a | |||
| 2f09ce9dc0 | |||
| 64d4c731c7 | |||
| 80a4a3fa39 | |||
| d9ce69b996 | |||
| 0767066fc5 | |||
| 749f62a791 | |||
| a429797e5e | |||
| 52078fa459 | |||
| ed0cf6155f | |||
| 965b3006e9 | |||
|
9b77893478
|
|||
| dfea3a92b1 | |||
|
803933f7c6
|
|||
| 7506af9663 | |||
|
7b35bd6005
|
|||
| 36a7ecb017 | |||
|
4ae815cb5c
|
|||
| 7e41a17ab6 | |||
| 9c62b02f02 | |||
| 529bb9cd1f | |||
| 7c0d740d51 | |||
| a440911a57 | |||
| 1923aa9eba | |||
|
57e80cb889
|
|||
| 7ca61d22a9 | |||
| 1f5bbe4536 | |||
| db7b019e7f | |||
| c1229130a9 | |||
| 2e4547d89f | |||
| ec1d4b6734 | |||
| 1849703994 | |||
| ed71bb33f3 | |||
| 9f784fd928 | |||
|
dd664b21b9
|
|||
|
b14a7cb43a
|
|||
|
fa58dfc323
|
|||
|
951950b3a0
|
|||
| 711e21eb42 | |||
| 59d266bddf | |||
|
3aa36a4686
|
|||
| 83c3614377 | |||
|
6310d16882
|
|||
| dd556ed042 | |||
| 3e45ada5ee | |||
| dfc1c004f7 | |||
|
e356a1f5e4
|
|||
| eeb862334c | |||
| 564ac85500 | |||
|
9022faf339
|
|||
| c23f9cbff6 | |||
|
5e347fb07b
|
|||
| e0774edd94 | |||
| 1df6be47bf | |||
| 0a18610132 | |||
|
e792f6ea77
|
|||
| e228822694 | |||
| 0469bfe6ff | |||
| 113188b039 | |||
| b16ac7209a | |||
|
dd7a5a352d
|
|||
| b6a0fd8661 | |||
| dc46ba5939 | |||
|
06b4b4c8d0
|
|||
|
b94ae7ef72
|
|||
| a9e669fd76 | |||
| 19bd111758 | |||
| e5ab5017b7 | |||
| 2d661bafa0 | |||
| 7901a085f5 | |||
| d403cc4066 | |||
| da4a2acd8a | |||
| ae3897832b | |||
| de2b30b476 | |||
| 58e380c9ea | |||
| 2dfa733e49 | |||
| 227c0db540 | |||
| e09e2ba56f | |||
| bf18a84ea2 | |||
| 01bcb37e45 | |||
| 8e2f1d13e7 | |||
| 01052fa169 | |||
| 049829d7ef | |||
| d8a21ebe6c | |||
|
8fa08ea571
|
|||
| a74dcf8d07 | |||
| f3d13ef30f | |||
|
a277a8459f
|
|||
|
5635efb0bf
|
|||
| cb9b22574a | |||
| 76aef8d563 | |||
| 0f00be34cc | |||
|
d51b0a0f05
|
|||
| d729a5b1b5 | |||
|
a3521256f4
|
|||
| 857918cdb6 | |||
|
b4c5b8ef62
|
|||
| 0c4a92f971 | |||
| a381849255 | |||
| 175dc6a382 | |||
| bf16bd9e46 | |||
|
1e376185ac
|
|||
| ff2d7cd5c6 | |||
| 81d33840bf | |||
| b5a367af6a | |||
|
2ed348b7db
|
|||
| 8d4a0f2ba2 | |||
| 88a1c15cec | |||
| 43df30e7c3 | |||
| 72da712906 | |||
| c7871ee4b6 | |||
| 3d6d0a1cfb | |||
| b46e63218d | |||
| d37c77f244 | |||
| 3a1a432005 | |||
| 77a3e4a926 | |||
| b88454612b | |||
|
57e5184bee
|
|||
| a789214d01 | |||
|
cbe22fc5e4
|
|||
| 617fcc0ef8 | |||
| b9727e4afc | |||
| e5c767b6c5 | |||
| f95dd80e3a | |||
|
a56d7a435c
|
|||
| 222a273671 | |||
| c4345f3e7b | |||
|
be5dee1fd8
|
|||
| 595f234afa |
@@ -5,10 +5,10 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint-test:
|
lint-test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-js
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
@@ -18,13 +18,14 @@ jobs:
|
|||||||
version: latest
|
version: latest
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: "3.13"
|
python-version: '3.14'
|
||||||
check-latest: true
|
|
||||||
|
|
||||||
- name: Set up Chart Testing
|
- name: Set up Chart Testing
|
||||||
uses: helm/chart-testing-action@v2.7.0
|
uses: helm/chart-testing-action@v2.7.0
|
||||||
|
with:
|
||||||
|
yamale_version: "6.0.0"
|
||||||
|
|
||||||
- name: Run Chart Testing (list-changed)
|
- name: Run Chart Testing (list-changed)
|
||||||
id: list-changed
|
id: list-changed
|
||||||
@@ -37,3 +38,18 @@ jobs:
|
|||||||
- name: Run Chart Testing (lint)
|
- name: Run Chart Testing (lint)
|
||||||
if: steps.list-changed.outputs.changed == 'true'
|
if: steps.list-changed.outputs.changed == 'true'
|
||||||
run: ct lint --validate-maintainers=false --target-branch ${{ gitea.event.repository.default_branch }}
|
run: ct lint --validate-maintainers=false --target-branch ${{ gitea.event.repository.default_branch }}
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
name: process-issues
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: '@daily'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
process-issues:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout Python Script
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
repository: alexlebens/workflow-scripts
|
|
||||||
ref: main
|
|
||||||
token: ${{ secrets.BOT_TOKEN }}
|
|
||||||
path: scripts
|
|
||||||
|
|
||||||
- name: Set up Python
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: '3.13'
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: pip install requests
|
|
||||||
|
|
||||||
- name: Run Script
|
|
||||||
env:
|
|
||||||
INSTANCE_URL: ${{ vars.INSTANCE_URL }}
|
|
||||||
REPOSITORY: ${{ gitea.repository }}
|
|
||||||
TOKEN: ${{ secrets.BOT_TOKEN }}
|
|
||||||
STALE_DAYS: 3
|
|
||||||
STALE_TAG: 'stale'
|
|
||||||
EXCLUDE_TAG: 'renovate'
|
|
||||||
run: python ./scripts/scripts/process-issues.py
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
name: process-pull-requests
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: '@daily'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
process-pull-requests:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout Python Script
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
repository: alexlebens/workflow-scripts
|
|
||||||
ref: main
|
|
||||||
token: ${{ secrets.BOT_TOKEN }}
|
|
||||||
path: scripts
|
|
||||||
|
|
||||||
- name: Set up Python
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: '3.13'
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: pip install requests
|
|
||||||
|
|
||||||
- name: Run Script
|
|
||||||
env:
|
|
||||||
INSTANCE_URL: ${{ vars.INSTANCE_URL }}
|
|
||||||
REPOSITORY: ${{ gitea.repository }}
|
|
||||||
TOKEN: ${{ secrets.BOT_TOKEN }}
|
|
||||||
STALE_DAYS: 3
|
|
||||||
STALE_TAG: 'stale'
|
|
||||||
REQUIRED_TAG: 'automerge'
|
|
||||||
run: python ./scripts/scripts/process-pull-requests.py
|
|
||||||
@@ -14,37 +14,80 @@ env:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-js
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up Helm
|
- name: Set up Helm
|
||||||
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
|
||||||
|
|
||||||
@@ -62,10 +105,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
url: '${{ secrets.NTFY_URL }}'
|
url: '${{ secrets.NTFY_URL }}'
|
||||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
topic: '${{ secrets.NTFY_TOPIC }}'
|
||||||
title: 'Gitea Action'
|
title: 'Release Success - ${{ env.CHART_NAME }}'
|
||||||
priority: 3
|
priority: 3
|
||||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
||||||
details: 'Helm Chart for ${{ env.CHART_NAME }} release workflow has successfully completed!'
|
tags: action,successfully,completed
|
||||||
|
details: 'Helm Chart ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }} has been released!'
|
||||||
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
||||||
|
|
||||||
- name: ntfy Failed
|
- name: ntfy Failed
|
||||||
@@ -74,10 +118,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
url: '${{ secrets.NTFY_URL }}'
|
url: '${{ secrets.NTFY_URL }}'
|
||||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
topic: '${{ secrets.NTFY_TOPIC }}'
|
||||||
title: 'Gitea Action'
|
title: 'Release Failure - ${{ env.CHART_NAME }}'
|
||||||
priority: 4
|
priority: 4
|
||||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
||||||
details: 'Helm Chart for ${{ env.CHART_NAME }} release workflow has failed!'
|
tags: action,failed
|
||||||
|
details: 'Helm Chart ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }} has failed to be released.'
|
||||||
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=release-charts-cloudflared.yml", "clear": true}]'
|
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/helm-charts/actions?workflow=release-charts-cloudflared.yml", "clear": true}]'
|
||||||
image: true
|
image: true
|
||||||
|
|||||||
@@ -14,37 +14,80 @@ env:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-js
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up Helm
|
- name: Set up Helm
|
||||||
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
|
||||||
|
|
||||||
@@ -62,10 +105,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
url: '${{ secrets.NTFY_URL }}'
|
url: '${{ secrets.NTFY_URL }}'
|
||||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
topic: '${{ secrets.NTFY_TOPIC }}'
|
||||||
title: 'Gitea Action'
|
title: 'Release Success - ${{ env.CHART_NAME }}'
|
||||||
priority: 3
|
priority: 3
|
||||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
||||||
details: 'Helm Chart for ${{ env.CHART_NAME }} release workflow has successfully completed!'
|
tags: action,successfully,completed
|
||||||
|
details: 'Helm Chart ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }} has been released!'
|
||||||
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
||||||
|
|
||||||
- name: ntfy Failed
|
- name: ntfy Failed
|
||||||
@@ -74,10 +118,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
url: '${{ secrets.NTFY_URL }}'
|
url: '${{ secrets.NTFY_URL }}'
|
||||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
topic: '${{ secrets.NTFY_TOPIC }}'
|
||||||
title: 'Gitea Action'
|
title: 'Release Failure - ${{ env.CHART_NAME }}'
|
||||||
priority: 4
|
priority: 4
|
||||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
||||||
details: 'Helm Chart for ${{ env.CHART_NAME }} release workflow has failed!'
|
tags: action,failed
|
||||||
|
details: 'Helm Chart ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }} has failed to be released.'
|
||||||
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=release-charts-generic-device-plugin.yml", "clear": true}]'
|
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/helm-charts/actions?workflow=release-charts-generic-device-plugin.yml", "clear": true}]'
|
||||||
image: true
|
image: true
|
||||||
|
|||||||
@@ -14,37 +14,80 @@ env:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-js
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up Helm
|
- name: Set up Helm
|
||||||
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
|
||||||
|
|
||||||
@@ -62,10 +105,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
url: '${{ secrets.NTFY_URL }}'
|
url: '${{ secrets.NTFY_URL }}'
|
||||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
topic: '${{ secrets.NTFY_TOPIC }}'
|
||||||
title: 'Gitea Action'
|
title: 'Release Success - ${{ env.CHART_NAME }}'
|
||||||
priority: 3
|
priority: 3
|
||||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
||||||
details: 'Helm Chart for ${{ env.CHART_NAME }} release workflow has successfully completed!'
|
tags: action,successfully,completed
|
||||||
|
details: 'Helm Chart ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }} has been released!'
|
||||||
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
||||||
|
|
||||||
- name: ntfy Failed
|
- name: ntfy Failed
|
||||||
@@ -74,10 +118,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
url: '${{ secrets.NTFY_URL }}'
|
url: '${{ secrets.NTFY_URL }}'
|
||||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
topic: '${{ secrets.NTFY_TOPIC }}'
|
||||||
title: 'Gitea Action'
|
title: 'Release Failure - ${{ env.CHART_NAME }}'
|
||||||
priority: 4
|
priority: 4
|
||||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
||||||
details: 'Helm Chart for ${{ env.CHART_NAME }} release workflow has failed!'
|
tags: action,failed
|
||||||
|
details: 'Helm Chart ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }} has failed to be released.'
|
||||||
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=release-charts-gitea-actions.yml", "clear": true}]'
|
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/helm-charts/actions?workflow=release-charts-gitea-actions.yml", "clear": true}]'
|
||||||
image: true
|
image: true
|
||||||
|
|||||||
@@ -14,37 +14,80 @@ env:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-js
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up Helm
|
- name: Set up Helm
|
||||||
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
|
||||||
|
|
||||||
@@ -62,10 +105,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
url: '${{ secrets.NTFY_URL }}'
|
url: '${{ secrets.NTFY_URL }}'
|
||||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
topic: '${{ secrets.NTFY_TOPIC }}'
|
||||||
title: 'Gitea Action'
|
title: 'Release Success - ${{ env.CHART_NAME }}'
|
||||||
priority: 3
|
priority: 3
|
||||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
||||||
details: 'Helm Chart for ${{ env.CHART_NAME }} release workflow has successfully completed!'
|
tags: action,successfully,completed
|
||||||
|
details: 'Helm Chart ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }} has been released!'
|
||||||
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
||||||
|
|
||||||
- name: ntfy Failed
|
- name: ntfy Failed
|
||||||
@@ -74,10 +118,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
url: '${{ secrets.NTFY_URL }}'
|
url: '${{ secrets.NTFY_URL }}'
|
||||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
topic: '${{ secrets.NTFY_TOPIC }}'
|
||||||
title: 'Gitea Action'
|
title: 'Release Failure - ${{ env.CHART_NAME }}'
|
||||||
priority: 4
|
priority: 4
|
||||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
||||||
details: 'Helm Chart for ${{ env.CHART_NAME }} release workflow has failed!'
|
tags: action,failed
|
||||||
|
details: 'Helm Chart ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }} has failed to be released.'
|
||||||
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=release-charts-postgres-cluster.yml", "clear": true}]'
|
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/helm-charts/actions?workflow=release-charts-postgres-cluster.yml", "clear": true}]'
|
||||||
image: true
|
image: true
|
||||||
|
|||||||
@@ -13,10 +13,10 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
renovate:
|
renovate:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: ghcr.io/renovatebot/renovate:40
|
container: ghcr.io/renovatebot/renovate:42
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Renovate
|
- name: Renovate
|
||||||
run: renovate
|
run: renovate
|
||||||
|
|||||||
2
.github/workflows/release-charts.yml
vendored
2
.github/workflows/release-charts.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
|
|||||||
10
.gitignore
vendored
10
.gitignore
vendored
@@ -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/
|
|
||||||
|
|||||||
6
charts/cloudflared/Chart.lock
Normal file
6
charts/cloudflared/Chart.lock
Normal 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"
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
name: cloudflared
|
name: cloudflared
|
||||||
version: 1.17.1
|
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.1.1
|
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.6.0"
|
appVersion: "2025.11.1"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# cloudflared
|
# cloudflared
|
||||||
|
|
||||||
 
|
 
|
||||||
|
|
||||||
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.1.1 |
|
| 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.6.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 |
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ existingSecretKey: cf-tunnel-token
|
|||||||
# -- Default image
|
# -- Default image
|
||||||
image:
|
image:
|
||||||
repository: cloudflare/cloudflared
|
repository: cloudflare/cloudflared
|
||||||
tag: "2025.6.0"
|
tag: "2025.11.1"
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
# -- Default resources
|
# -- Default resources
|
||||||
|
|||||||
6
charts/generic-device-plugin/Chart.lock
Normal file
6
charts/generic-device-plugin/Chart.lock
Normal 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"
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
name: generic-device-plugin
|
name: generic-device-plugin
|
||||||
version: 0.3.1
|
version: 0.20.4
|
||||||
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.1.1
|
version: 4.5.0
|
||||||
appVersion: 0.2.0
|
appVersion: 0.20.4
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# generic-device-plugin
|
# generic-device-plugin
|
||||||
|
|
||||||
 
|
 
|
||||||
|
|
||||||
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.1.1 |
|
| https://bjw-s-labs.github.io/helm-charts/ | common | 4.5.0 |
|
||||||
|
|
||||||
## Values
|
## Values
|
||||||
|
|
||||||
@@ -27,10 +27,10 @@ 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 | `"squat.ai"` | 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:d7d0951df7f11479185fd9fba1c1cb4d9c8f3232d38a5468d6fe80074f2b45d5"}` | 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 | `{"limit":{"cpu":"100m","memory":"20Mi"},"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 |
|
||||||
|
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ 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:d7d0951df7f11479185fd9fba1c1cb4d9c8f3232d38a5468d6fe80074f2b45d5
|
tag: latest@sha256:4896ffd516624d6eb7572e102bc4397e91f8bc3b2fb38b5bfefd758baae3dcf2
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
|
|
||||||
# -- Domain used by devices for identifcation
|
# -- Domain used by devices for identifcation
|
||||||
deviceDomain: squat.ai
|
deviceDomain: devic.es
|
||||||
|
|
||||||
# -- Service port
|
# -- Service port
|
||||||
service:
|
service:
|
||||||
@@ -16,9 +16,6 @@ service:
|
|||||||
|
|
||||||
# -- Default resources
|
# -- Default resources
|
||||||
resources:
|
resources:
|
||||||
limit:
|
|
||||||
cpu: 100m
|
|
||||||
memory: 20Mi
|
|
||||||
requests:
|
requests:
|
||||||
cpu: 50m
|
cpu: 50m
|
||||||
memory: 10Mi
|
memory: 10Mi
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
name: postgres-cluster
|
name: postgres-cluster
|
||||||
version: 6.4.4
|
version: 6.16.1
|
||||||
description: Cloudnative-pg Cluster
|
description: Cloudnative-pg Cluster
|
||||||
keywords:
|
keywords:
|
||||||
- database
|
- database
|
||||||
@@ -11,4 +11,4 @@ sources:
|
|||||||
maintainers:
|
maintainers:
|
||||||
- name: alexlebens
|
- name: alexlebens
|
||||||
icon: https://avatars.githubusercontent.com/u/100373852?s=48&v=4
|
icon: https://avatars.githubusercontent.com/u/100373852?s=48&v=4
|
||||||
appVersion: v1.26.0
|
appVersion: v1.27.0
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# postgres-cluster
|
# postgres-cluster
|
||||||
|
|
||||||
 
|
 
|
||||||
|
|
||||||
Cloudnative-pg Cluster
|
Cloudnative-pg Cluster
|
||||||
|
|
||||||
@@ -19,22 +19,21 @@ Cloudnative-pg Cluster
|
|||||||
|
|
||||||
| Key | Type | Default | Description |
|
| Key | Type | Default | Description |
|
||||||
|-----|------|---------|-------------|
|
|-----|------|---------|-------------|
|
||||||
| backup | object | `{"enabled":false,"method":"objectStore","objectStore":[],"scheduledBackups":[]}` | Backup settings |
|
| backup | object | `{"method":"objectStore","objectStore":[],"scheduledBackups":[]}` | Backup settings |
|
||||||
| backup.enabled | bool | `false` | You need to configure backups manually, so backups are disabled by default. |
|
|
||||||
| 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.5-1-bullseye"},"imagePullPolicy":"IfNotPresent","imagePullSecrets":[],"initdb":{},"instances":3,"logLevel":"info","monitoring":{"customQueries":[],"customQueriesSecret":[],"disableDefaultQueries":false,"enabled":false,"podMonitor":{"enabled":true,"metricRelabelings":[],"relabelings":[]},"prometheusRule":{"enabled":false,"excludeRules":[]}},"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.5-1-bullseye"}` | 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 |
|
||||||
| cluster.logLevel | string | `"info"` | The instances' log level, one of the following values: error, warning, info (default), debug, trace |
|
| cluster.logLevel | string | `"info"` | The instances' log level, one of the following values: error, warning, info (default), debug, trace |
|
||||||
| cluster.monitoring | object | `{"customQueries":[],"customQueriesSecret":[],"disableDefaultQueries":false,"enabled":false,"podMonitor":{"enabled":true,"metricRelabelings":[],"relabelings":[]},"prometheusRule":{"enabled":false,"excludeRules":[]}}` | Enable default monitoring and alert rules |
|
| cluster.monitoring | object | `{"customQueries":[],"customQueriesSecret":[],"disableDefaultQueries":false,"enabled":false,"podMonitor":{"enabled":true,"metricRelabelings":[],"relabelings":[]},"prometheusRule":{"enabled":false,"excludeRules":["CNPGClusterLastFailedArchiveTimeWarning"]}}` | Enable default monitoring and alert rules |
|
||||||
| cluster.monitoring.customQueries | list | `[]` | Custom Prometheus metrics Will be stored in the ConfigMap |
|
| cluster.monitoring.customQueries | list | `[]` | Custom Prometheus metrics Will be stored in the ConfigMap |
|
||||||
| cluster.monitoring.customQueriesSecret | list | `[]` | The list of secrets containing the custom queries |
|
| cluster.monitoring.customQueriesSecret | list | `[]` | The list of secrets containing the custom queries |
|
||||||
| cluster.monitoring.disableDefaultQueries | bool | `false` | Whether the default queries should be injected. Set it to true if you don't want to inject default queries into the cluster. |
|
| cluster.monitoring.disableDefaultQueries | bool | `false` | Whether the default queries should be injected. Set it to true if you don't want to inject default queries into the cluster. |
|
||||||
@@ -43,7 +42,7 @@ Cloudnative-pg Cluster
|
|||||||
| cluster.monitoring.podMonitor.metricRelabelings | list | `[]` | The list of metric relabelings for the PodMonitor. Applied to samples before ingestion. |
|
| cluster.monitoring.podMonitor.metricRelabelings | list | `[]` | The list of metric relabelings for the PodMonitor. Applied to samples before ingestion. |
|
||||||
| cluster.monitoring.podMonitor.relabelings | list | `[]` | The list of relabelings for the PodMonitor. Applied to samples before scraping. |
|
| cluster.monitoring.podMonitor.relabelings | list | `[]` | The list of relabelings for the PodMonitor. Applied to samples before scraping. |
|
||||||
| cluster.monitoring.prometheusRule.enabled | bool | `false` | Whether to enable the PrometheusRule automated alerts |
|
| cluster.monitoring.prometheusRule.enabled | bool | `false` | Whether to enable the PrometheusRule automated alerts |
|
||||||
| cluster.monitoring.prometheusRule.excludeRules | list | `[]` | Exclude specified rules |
|
| cluster.monitoring.prometheusRule.excludeRules | list | `["CNPGClusterLastFailedArchiveTimeWarning"]` | Exclude specified rules |
|
||||||
| cluster.postgresUID | int | `-1` | The UID and GID of the postgres user inside the image, defaults to 26 |
|
| cluster.postgresUID | int | `-1` | The UID and GID of the postgres user inside the image, defaults to 26 |
|
||||||
| cluster.postgresql | object | `{"ldap":{},"parameters":{"hot_standby_feedback":"on","max_slot_wal_keep_size":"2000MB","shared_buffers":"128MB"},"pg_hba":[],"pg_ident":[],"shared_preload_libraries":[],"synchronous":{}}` | Parameters to be set for the database itself See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-PostgresConfiguration |
|
| cluster.postgresql | object | `{"ldap":{},"parameters":{"hot_standby_feedback":"on","max_slot_wal_keep_size":"2000MB","shared_buffers":"128MB"},"pg_hba":[],"pg_ident":[],"shared_preload_libraries":[],"synchronous":{}}` | Parameters to be set for the database itself See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-PostgresConfiguration |
|
||||||
| cluster.postgresql.ldap | object | `{}` | PostgreSQL LDAP configuration (see https://cloudnative-pg.io/documentation/current/postgresql_conf/#ldap-configuration) |
|
| cluster.postgresql.ldap | object | `{}` | PostgreSQL LDAP configuration (see https://cloudnative-pg.io/documentation/current/postgresql_conf/#ldap-configuration) |
|
||||||
@@ -109,7 +108,7 @@ Cloudnative-pg Cluster
|
|||||||
| recovery.pgBaseBackup.source.passwordSecret.key | string | `"password"` | The key in the secret containing the password |
|
| recovery.pgBaseBackup.source.passwordSecret.key | string | `"password"` | The key in the secret containing the password |
|
||||||
| recovery.pgBaseBackup.source.passwordSecret.name | string | `""` | Name of the secret containing the password |
|
| recovery.pgBaseBackup.source.passwordSecret.name | string | `""` | Name of the secret containing the password |
|
||||||
| recovery.pgBaseBackup.source.passwordSecret.value | string | `""` | The password value to use when creating the secret |
|
| recovery.pgBaseBackup.source.passwordSecret.value | string | `""` | The password value to use when creating the secret |
|
||||||
| type | string | `"postgresql"` | Type of the CNPG database. Available types: * `postgresql` * `tensorchord` |
|
| type | string | `"postgresql"` | Type of the CNPG database. Available types: * `postgresql` |
|
||||||
|
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
|
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ annotations:
|
|||||||
description: |-
|
description: |-
|
||||||
Archiving failed for {{`{{`}} $labels.pod {{`}}`}}
|
Archiving failed for {{`{{`}} $labels.pod {{`}}`}}
|
||||||
expr: |
|
expr: |
|
||||||
(cnpg_pg_stat_archiver_last_failed_time - cnpg_pg_stat_archiver_last_archived_time) > 1
|
(cnpg_pg_stat_archiver_last_failed_time - cnpg_pg_stat_archiver_last_archived_time) > 2
|
||||||
for: 1m
|
for: 1m
|
||||||
labels:
|
labels:
|
||||||
severity: warning
|
severity: warning
|
||||||
|
|||||||
@@ -11,21 +11,8 @@ bootstrap:
|
|||||||
{{- if .Values.cluster.initdb.owner }}
|
{{- if .Values.cluster.initdb.owner }}
|
||||||
owner: {{ tpl .Values.cluster.initdb.owner . }}
|
owner: {{ tpl .Values.cluster.initdb.owner . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if eq .Values.type "tensorchord" }}
|
{{- if (.Values.cluster.initdb.postInitApplicationSQL) }}
|
||||||
dataChecksums: true
|
|
||||||
{{- end }}
|
|
||||||
{{- if or (eq .Values.type "tensorchord") (.Values.cluster.initdb.postInitApplicationSQL) }}
|
|
||||||
postInitApplicationSQL:
|
postInitApplicationSQL:
|
||||||
{{- if eq .Values.type "tensorchord" }}
|
|
||||||
- ALTER SYSTEM SET search_path TO "$user", public, vectors;
|
|
||||||
- SET search_path TO "$user", public, vectors;
|
|
||||||
- CREATE EXTENSION IF NOT EXISTS "vectors";
|
|
||||||
- CREATE EXTENSION IF NOT EXISTS "cube";
|
|
||||||
- CREATE EXTENSION IF NOT EXISTS "earthdistance";
|
|
||||||
- ALTER SCHEMA vectors OWNER TO "app";
|
|
||||||
- GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA vectors TO "app";
|
|
||||||
- GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO "app";
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.cluster.initdb }}
|
{{- with .Values.cluster.initdb }}
|
||||||
{{- range .postInitApplicationSQL }}
|
{{- range .postInitApplicationSQL }}
|
||||||
{{- printf "- %s" . | nindent 6 }}
|
{{- printf "- %s" . | nindent 6 }}
|
||||||
|
|||||||
@@ -83,21 +83,3 @@ Generate recovery server name
|
|||||||
{{- printf "%s-backup-%s" (include "cluster.name" .) (toString .Values.recovery.objectStore.index) | trunc 63 | trimSuffix "-" -}}
|
{{- printf "%s-backup-%s" (include "cluster.name" .) (toString .Values.recovery.objectStore.index) | trunc 63 | trimSuffix "-" -}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{/*
|
|
||||||
Generate name for recovery object store credentials
|
|
||||||
*/}}
|
|
||||||
{{- define "cluster.recoveryCredentials" -}}
|
|
||||||
{{- if .Values.recovery.endpointCredentials -}}
|
|
||||||
{{- .Values.recovery.endpointCredentials -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- printf "%s-backup-secret" (include "cluster.name" .) | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Generate name for backup object store credentials
|
|
||||||
*/}}
|
|
||||||
{{- define "cluster.backupCredentials" -}}
|
|
||||||
{{- printf "%s-backup-secret" (include "cluster.name" .) | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end }}
|
|
||||||
|
|||||||
@@ -19,13 +19,15 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
postgresUID: {{ include "cluster.postgresUID" . }}
|
postgresUID: {{ include "cluster.postgresUID" . }}
|
||||||
postgresGID: {{ include "cluster.postgresGID" . }}
|
postgresGID: {{ include "cluster.postgresGID" . }}
|
||||||
{{ if or (eq .Values.backup.method "objectStore") (eq .Values.recovery.method "objectStore") }}
|
|
||||||
plugins:
|
plugins:
|
||||||
{{ end }}
|
|
||||||
{{- range $objectStore := .Values.backup.objectStore }}
|
{{- range $objectStore := .Values.backup.objectStore }}
|
||||||
- name: barman-cloud.cloudnative-pg.io
|
- name: barman-cloud.cloudnative-pg.io
|
||||||
enabled: true
|
enabled: true
|
||||||
isWALArchiver: {{ $objectStore.isWALArchiver | default true }}
|
{{- if $objectStore.isWALArchiver }}
|
||||||
|
isWALArchiver: true
|
||||||
|
{{- else }}
|
||||||
|
isWALArchiver: false
|
||||||
|
{{- end }}
|
||||||
parameters:
|
parameters:
|
||||||
barmanObjectName: "{{ include "cluster.name" $ }}-{{ $objectStore.name }}-backup"
|
barmanObjectName: "{{ include "cluster.name" $ }}-{{ $objectStore.name }}-backup"
|
||||||
{{- if $objectStore.clusterName }}
|
{{- if $objectStore.clusterName }}
|
||||||
@@ -34,10 +36,11 @@ spec:
|
|||||||
serverName: "{{ include "cluster.name" $ }}-backup-{{ $objectStore.index }}"
|
serverName: "{{ include "cluster.name" $ }}-backup-{{ $objectStore.index }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{ if eq .Values.recovery.method "objectStore" }}
|
{{ if (eq .Values.recovery.method "objectStore") }}
|
||||||
- name: barman-cloud.cloudnative-pg.io
|
externalClusters:
|
||||||
enabled: true
|
- name: recovery
|
||||||
isWALArchiver: false
|
plugin:
|
||||||
|
name: barman-cloud.cloudnative-pg.io
|
||||||
parameters:
|
parameters:
|
||||||
barmanObjectName: "{{ include "cluster.name" . }}-{{ .Values.recovery.objectStore.name }}"
|
barmanObjectName: "{{ include "cluster.name" . }}-{{ .Values.recovery.objectStore.name }}"
|
||||||
serverName: {{ include "cluster.recoveryServerName" . }}
|
serverName: {{ include "cluster.recoveryServerName" . }}
|
||||||
@@ -81,11 +84,8 @@ spec:
|
|||||||
enablePDB: {{ .Values.cluster.enablePDB }}
|
enablePDB: {{ .Values.cluster.enablePDB }}
|
||||||
|
|
||||||
postgresql:
|
postgresql:
|
||||||
{{- if or (eq .Values.type "tensorchord") (not (empty .Values.cluster.postgresql.shared_preload_libraries)) }}
|
{{- if .Values.cluster.postgresql.shared_preload_libraries }}
|
||||||
shared_preload_libraries:
|
shared_preload_libraries:
|
||||||
{{- if eq .Values.type "tensorchord" }}
|
|
||||||
- vectors.so
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.cluster.postgresql.shared_preload_libraries }}
|
{{- with .Values.cluster.postgresql.shared_preload_libraries }}
|
||||||
{{- toYaml . | nindent 6 }}
|
{{- toYaml . | nindent 6 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{{ if and (.Values.backup.enabled) (eq .Values.backup.method "objectStore") }}
|
{{ if (eq .Values.backup.method "objectStore") }}
|
||||||
{{ $context := . -}}
|
{{ $context := . -}}
|
||||||
{{ range .Values.backup.objectStore -}}
|
{{ range .Values.backup.objectStore -}}
|
||||||
---
|
---
|
||||||
@@ -27,7 +27,7 @@ spec:
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
maxParallel: {{ .wal.maxParallel | default "1" }}
|
maxParallel: {{ .wal.maxParallel | default "1" }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .wal }}
|
{{- if .data }}
|
||||||
data:
|
data:
|
||||||
compression: {{ .data.compression | default "snappy" }}
|
compression: {{ .data.compression | default "snappy" }}
|
||||||
{{- with .data.encryption }}
|
{{- with .data.encryption }}
|
||||||
@@ -37,19 +37,16 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
s3Credentials:
|
s3Credentials:
|
||||||
accessKeyId:
|
accessKeyId:
|
||||||
{{- if .endpointCredentials }}
|
name: {{ .endpointCredentials | default (printf "%s-cluster-backup-secret" (include "cluster.name" $context) | trunc 63 | trimSuffix "-") }}
|
||||||
name: {{ .endpointCredentials }}
|
|
||||||
{{- else }}
|
|
||||||
name: {{ include "cluster.backupCredentials" $context }}
|
|
||||||
{{- end }}
|
|
||||||
key: ACCESS_KEY_ID
|
key: ACCESS_KEY_ID
|
||||||
secretAccessKey:
|
secretAccessKey:
|
||||||
{{- if .endpointCredentials }}
|
name: {{ .endpointCredentials | default (printf "%s-cluster-backup-secret" (include "cluster.name" $context) | trunc 63 | trimSuffix "-") }}
|
||||||
name: {{ .endpointCredentials }}
|
|
||||||
{{- else }}
|
|
||||||
name: {{ include "cluster.backupCredentials" $context }}
|
|
||||||
{{- end }}
|
|
||||||
key: ACCESS_SECRET_KEY
|
key: ACCESS_SECRET_KEY
|
||||||
|
{{- if .endpointCredentialsIncludeRegion }}
|
||||||
|
region:
|
||||||
|
name: {{ .endpointCredentials | default (printf "%s-cluster-backup-secret" (include "cluster.name" $context) | trunc 63 | trimSuffix "-") }}
|
||||||
|
key: ACCESS_REGION
|
||||||
|
{{- end }}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
@@ -85,9 +82,9 @@ spec:
|
|||||||
jobs: {{ .Values.recovery.objectStore.data.jobs }}
|
jobs: {{ .Values.recovery.objectStore.data.jobs }}
|
||||||
s3Credentials:
|
s3Credentials:
|
||||||
accessKeyId:
|
accessKeyId:
|
||||||
name: {{ include "cluster.recoveryCredentials" . }}
|
name: {{ .Values.recovery.objectStore.endpointCredentials | default (printf "%s-cluster-backup-secret" (include "cluster.name" .) | trunc 63 | trimSuffix "-") }}
|
||||||
key: ACCESS_KEY_ID
|
key: ACCESS_KEY_ID
|
||||||
secretAccessKey:
|
secretAccessKey:
|
||||||
name: {{ include "cluster.recoveryCredentials" . }}
|
name: {{ .Values.recovery.objectStore.endpointCredentials | default (printf "%s-cluster-backup-secret" (include "cluster.name" .) | trunc 63 | trimSuffix "-") }}
|
||||||
key: ACCESS_SECRET_KEY
|
key: ACCESS_SECRET_KEY
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
{{ if .Values.backup.enabled }}
|
|
||||||
{{ $context := . -}}
|
{{ $context := . -}}
|
||||||
{{ range .Values.backup.scheduledBackups -}}
|
{{ range .Values.backup.scheduledBackups -}}
|
||||||
---
|
---
|
||||||
@@ -10,7 +9,7 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
{{- include "cluster.labels" $context | nindent 4 }}
|
{{- include "cluster.labels" $context | nindent 4 }}
|
||||||
spec:
|
spec:
|
||||||
immediate: {{ .immediate | default true }}
|
immediate: {{ .immediate | default false }}
|
||||||
suspend: {{ .suspend | default false }}
|
suspend: {{ .suspend | default false }}
|
||||||
schedule: {{ .schedule | quote | required "Schedule is required" }}
|
schedule: {{ .schedule | quote | required "Schedule is required" }}
|
||||||
backupOwnerReference: {{ .backupOwnerReference | default "self" }}
|
backupOwnerReference: {{ .backupOwnerReference | default "self" }}
|
||||||
@@ -22,4 +21,3 @@ spec:
|
|||||||
parameters:
|
parameters:
|
||||||
barmanObjectName: "{{ include "cluster.name" $context }}-{{ .backupName }}-backup"
|
barmanObjectName: "{{ include "cluster.name" $context }}-{{ .backupName }}-backup"
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
{{ end }}
|
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ namespaceOverride: ""
|
|||||||
|
|
||||||
# -- Type of the CNPG database. Available types:
|
# -- Type of the CNPG database. Available types:
|
||||||
# * `postgresql`
|
# * `postgresql`
|
||||||
# * `tensorchord`
|
|
||||||
type: postgresql
|
type: postgresql
|
||||||
|
|
||||||
# -- Cluster mode of operation. Available modes:
|
# -- Cluster mode of operation. Available modes:
|
||||||
@@ -21,7 +20,7 @@ cluster:
|
|||||||
# -- Default image
|
# -- Default image
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/cloudnative-pg/postgresql
|
repository: ghcr.io/cloudnative-pg/postgresql
|
||||||
tag: "17.5-1-bullseye"
|
tag: 17.7-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
|
||||||
@@ -131,7 +130,8 @@ cluster:
|
|||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
# -- Exclude specified rules
|
# -- Exclude specified rules
|
||||||
excludeRules: []
|
excludeRules:
|
||||||
|
- CNPGClusterLastFailedArchiveTimeWarning
|
||||||
|
|
||||||
# -- Whether the default queries should be injected.
|
# -- Whether the default queries should be injected.
|
||||||
# Set it to true if you don't want to inject default queries into the cluster.
|
# Set it to true if you don't want to inject default queries into the cluster.
|
||||||
@@ -417,9 +417,6 @@ recovery:
|
|||||||
# -- Backup settings
|
# -- Backup settings
|
||||||
backup:
|
backup:
|
||||||
|
|
||||||
# -- You need to configure backups manually, so backups are disabled by default.
|
|
||||||
enabled: false
|
|
||||||
|
|
||||||
# -- Method to create backups, options currently are only objectStore
|
# -- Method to create backups, options currently are only objectStore
|
||||||
method: objectStore
|
method: objectStore
|
||||||
|
|
||||||
|
|||||||
@@ -6,19 +6,14 @@
|
|||||||
":rebaseStalePrs"
|
":rebaseStalePrs"
|
||||||
],
|
],
|
||||||
"timezone": "US/Central",
|
"timezone": "US/Central",
|
||||||
"schedule": [ "* */1 * * *" ],
|
|
||||||
"labels": [],
|
"labels": [],
|
||||||
"prHourlyLimit": 0,
|
"prHourlyLimit": 0,
|
||||||
"prConcurrentLimit": 0,
|
"prConcurrentLimit": 0,
|
||||||
"packageRules": [
|
"packageRules": [
|
||||||
{
|
{
|
||||||
"description": "Label charts",
|
"description": "Label charts",
|
||||||
"matchDatasources": [
|
"matchDatasources": ["helm"],
|
||||||
"helm"
|
"addLabels": ["chart"],
|
||||||
],
|
|
||||||
"addLabels": [
|
|
||||||
"chart"
|
|
||||||
],
|
|
||||||
"automerge": false,
|
"automerge": false,
|
||||||
"bumpVersions": [
|
"bumpVersions": [
|
||||||
{
|
{
|
||||||
@@ -30,12 +25,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Label images",
|
"description": "Label images",
|
||||||
"matchDatasources": [
|
"matchDatasources": ["docker"],
|
||||||
"docker"
|
"addLabels": ["image"],
|
||||||
],
|
|
||||||
"addLabels": [
|
|
||||||
"image"
|
|
||||||
],
|
|
||||||
"automerge": false,
|
"automerge": false,
|
||||||
"bumpVersions": [
|
"bumpVersions": [
|
||||||
{
|
{
|
||||||
@@ -46,23 +37,18 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "CNPG image",
|
"description": "Automerge generic-device-plugin image on digest",
|
||||||
"matchDepNames": [
|
"matchDatasources": ["docker"],
|
||||||
"ghcr.io/cloudnative-pg/postgresql"
|
"matchDepNames": ["ghcr.io/squat/generic-device-plugin"],
|
||||||
],
|
"matchUpdateTypes": ["digest"],
|
||||||
"matchDatasources": [
|
"addLabels": ["image", "automerge"],
|
||||||
"docker"
|
"automerge": true,
|
||||||
],
|
"minimumReleaseAge": "1 days",
|
||||||
"addLabels": [
|
|
||||||
"image"
|
|
||||||
],
|
|
||||||
"automerge": false,
|
|
||||||
"versioning": "deb",
|
|
||||||
"bumpVersions": [
|
"bumpVersions": [
|
||||||
{
|
{
|
||||||
"filePatterns": ["{{packageFileDir}}/Chart.{yaml,yml}"],
|
"filePatterns": ["{{packageFileDir}}/Chart.{yaml,yml}"],
|
||||||
"matchStrings": ["version:\\s(?<version>[^\\s]+)"],
|
"matchStrings": ["version:\\s(?<version>[^\\s]+)"],
|
||||||
"bumpType": "{{#if isPatch}}patch{{else}}minor{{/if}}"
|
"bumpType": "patch"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user