Compare commits

...

31 Commits

Author SHA1 Message Date
volker.raschek 4d12fed6cd chore: update repository structure
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 14s
Generate README / generate-parameters (push) Successful in 33s
Markdown linter / markdown-link-checker (push) Successful in 18s
Release / publish-chart (push) Failing after 5s
Markdown linter / markdown-lint (push) Successful in 32s
2026-05-03 16:31:09 +02:00
volker.raschek e084bac346 fix(ci): adapt add-annotations.sh
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 15s
2026-05-03 16:29:07 +02:00
CSRBot 2f8ba9411b Merge pull request 'chore(deps): update azure/setup-helm action to v5' (#105) from renovate/azure-setup-helm-5.x into master
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 11s
2026-04-14 15:29:29 +00:00
CSRBot bc5ac1d3d7 chore(deps): update azure/setup-helm action to v5
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 11s
Helm / helm-lint (pull_request) Successful in 4s
Helm / helm-unittest (pull_request) Successful in 11s
2026-04-14 13:15:38 +00:00
CSRBot f9a97ba2c1 Merge pull request 'chore(deps): update docker.io/library/node docker tag to v25.9.0' (#104) from renovate/update-docker.iolibrarynode into master
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 13s
2026-04-14 12:47:27 +00:00
CSRBot 5ab960ba4f chore(deps): update docker.io/library/node docker tag to v25.9.0
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 13s
Helm / helm-lint (pull_request) Successful in 7s
Helm / helm-unittest (pull_request) Successful in 12s
2026-04-14 11:21:54 +00:00
CSRBot 249b3ecb33 Merge pull request 'chore(deps): update docker.io/library/node docker tag to v25.8.1' (#103) from renovate/update-docker.iolibrarynode into master
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 17s
2026-03-11 17:14:22 +00:00
CSRBot c68e93e7ea chore(deps): update docker.io/library/node docker tag to v25.8.1
Helm / helm-lint (push) Successful in 10s
Helm / helm-unittest (push) Successful in 10s
Helm / helm-lint (pull_request) Successful in 10s
Helm / helm-unittest (pull_request) Successful in 8s
2026-03-11 17:13:48 +00:00
CSRBot 3820a6fe82 Merge pull request 'chore(deps): update docker.io/library/node docker tag to v25.8.0' (#102) from renovate/update-docker.iolibrarynode into master
Helm / helm-lint (push) Successful in 10s
Helm / helm-unittest (push) Successful in 17s
2026-03-04 02:14:25 +00:00
CSRBot a816572389 chore(deps): update docker.io/library/node docker tag to v25.8.0
Helm / helm-lint (push) Successful in 6s
Helm / helm-lint (pull_request) Successful in 5s
Helm / helm-unittest (pull_request) Successful in 8s
Helm / helm-unittest (push) Successful in 17s
2026-03-04 02:13:54 +00:00
CSRBot 7b5e916b3b Merge pull request 'chore(deps): update dependency markdownlint-cli to ^0.48.0' (#101) from renovate/markdownlint-cli-0.x into master
Helm / helm-lint (push) Successful in 4s
Helm / helm-unittest (push) Successful in 8s
2026-03-03 08:11:01 +00:00
CSRBot b178fa55c2 chore(deps): update dependency markdownlint-cli to ^0.48.0
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 8s
Helm / helm-lint (pull_request) Successful in 4s
Helm / helm-unittest (pull_request) Successful in 7s
2026-03-03 08:10:28 +00:00
CSRBot afa2ba1437 Merge pull request 'chore(deps): update docker.io/library/node docker tag to v25.7.0' (#100) from renovate/update-docker.iolibrarynode into master
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 8s
2026-02-25 20:23:18 +00:00
CSRBot 27a6f0eea4 chore(deps): update docker.io/library/node docker tag to v25.7.0
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 10s
Helm / helm-lint (pull_request) Successful in 6s
Helm / helm-unittest (pull_request) Successful in 7s
2026-02-25 20:15:36 +00:00
CSRBot c48d4775b8 Merge pull request 'chore(deps): update docker.io/library/node docker tag to v25.6.1' (#99) from renovate/update-docker.iolibrarynode into master
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 16s
2026-02-12 17:10:07 +00:00
CSRBot 3526f84a3a chore(deps): update docker.io/library/node docker tag to v25.6.1
Helm / helm-lint (push) Successful in 8s
Helm / helm-unittest (push) Successful in 7s
Helm / helm-unittest (pull_request) Successful in 7s
Helm / helm-lint (pull_request) Successful in 10s
2026-02-12 17:09:44 +00:00
CSRBot b5001ed3f5 Merge pull request 'chore(deps): update docker.io/library/node docker tag to v25.6.0' (#98) from renovate/update-docker.iolibrarynode into master
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 16s
2026-02-03 17:14:59 +00:00
CSRBot 51f031dcad chore(deps): update docker.io/library/node docker tag to v25.6.0
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 8s
Helm / helm-lint (pull_request) Successful in 9s
Helm / helm-unittest (pull_request) Successful in 8s
2026-02-03 17:14:32 +00:00
CSRBot 53159abdb2 Merge pull request 'chore(deps): update docker.io/library/node docker tag to v25.5.0' (#97) from renovate/update-docker.iolibrarynode into master
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 12s
2026-02-01 11:44:10 +00:00
CSRBot 318f2b0e4c chore(deps): update docker.io/library/node docker tag to v25.5.0
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 9s
Helm / helm-lint (pull_request) Successful in 5s
Helm / helm-unittest (pull_request) Successful in 7s
2026-02-01 11:10:54 +00:00
CSRBot 07b8ecf055 Merge pull request 'chore(deps): update actions/checkout action to v6.0.2' (#96) from renovate/actions into master
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 7s
2026-01-22 17:51:07 +00:00
CSRBot 1c491c77e6 chore(deps): update actions/checkout action to v6.0.2
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 8s
Helm / helm-lint (pull_request) Successful in 4s
Helm / helm-unittest (pull_request) Successful in 7s
2026-01-22 17:13:12 +00:00
CSRBot 37391cdb5e Merge pull request 'chore(deps): update docker.io/library/node docker tag to v25.4.0' (#95) from renovate/update-docker.iolibrarynode into master
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 7s
2026-01-20 17:11:37 +00:00
CSRBot f57e60a8cb chore(deps): update docker.io/library/node docker tag to v25.4.0
Helm / helm-lint (push) Successful in 9s
Helm / helm-unittest (push) Successful in 8s
Helm / helm-lint (pull_request) Successful in 9s
Helm / helm-unittest (pull_request) Successful in 7s
2026-01-20 17:11:10 +00:00
CSRBot d003ebc4ca Merge pull request 'chore(deps): update docker.io/library/node docker tag to v25.3.0' (#94) from renovate/update-docker.iolibrarynode into master
Helm / helm-unittest (push) Successful in 9s
Helm / helm-lint (push) Successful in 10s
2026-01-14 20:11:15 +00:00
CSRBot 09a36de49d chore(deps): update docker.io/library/node docker tag to v25.3.0
Helm / helm-lint (push) Successful in 5s
Helm / helm-lint (pull_request) Successful in 5s
Helm / helm-unittest (push) Successful in 17s
Helm / helm-unittest (pull_request) Successful in 8s
2026-01-14 20:10:49 +00:00
CSRBot 7f30808a01 Merge pull request 'chore(deps): update dependency markdownlint-cli to ^0.47.0' (#93) from renovate/markdownlint-cli-0.x into master
Helm / helm-unittest (push) Successful in 7s
Helm / helm-lint (push) Successful in 10s
2025-12-11 08:11:07 +00:00
CSRBot 2458ee0b0c chore(deps): update dependency markdownlint-cli to ^0.47.0
Helm / helm-lint (push) Successful in 5s
Helm / helm-lint (pull_request) Successful in 4s
Helm / helm-unittest (push) Successful in 17s
Helm / helm-unittest (pull_request) Successful in 7s
2025-12-11 08:10:43 +00:00
CSRBot 6043927f0d Merge pull request 'chore(deps): update actions/checkout action to v6' (#91) from renovate/actions-checkout-6.x into master
Helm / helm-lint (push) Successful in 4s
Helm / helm-unittest (push) Successful in 7s
2025-12-02 21:45:54 +00:00
CSRBot 25b242fafb chore(deps): update actions/checkout action to v6
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 8s
Helm / helm-lint (pull_request) Successful in 4s
Helm / helm-unittest (pull_request) Successful in 6s
2025-12-02 21:13:02 +00:00
volker.raschek 8566417668 chore(deps): rollback docker docker.io/volkerraschek/helm to 3.19.2
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 16s
2025-11-30 13:37:15 +01:00
13 changed files with 366 additions and 191 deletions
+56 -45
View File
@@ -1,61 +1,65 @@
#!/bin/bash #!/bin/bash
set -e set -e -o pipefail
CHART_FILE="Chart.yaml" chart_file="Chart.yaml"
if [ ! -f "${CHART_FILE}" ]; then if [ ! -f "${chart_file}" ]; then
echo "ERROR: ${CHART_FILE} not found!" 1>&2 echo "ERROR: ${chart_file} not found!" 1>&2
exit 1 exit 1
fi fi
DEFAULT_NEW_TAG="$(git tag --sort=-version:refname | head -n 1)" default_new_tag="$(git tag --sort=-version:refname | head -n 1)"
DEFAULT_OLD_TAG="$(git tag --sort=-version:refname | head -n 2 | tail -n 1)" default_old_tag="$(git tag --sort=-version:refname | head -n 2 | tail -n 1)"
if [ -z "${1}" ]; then if [ -z "${1}" ]; then
read -p "Enter start tag [${DEFAULT_OLD_TAG}]: " OLD_TAG echo "Enter start tag [${default_old_tag}]:"
if [ -z "${OLD_TAG}" ]; then read -r old_tag
OLD_TAG="${DEFAULT_OLD_TAG}" if [ -z "${old_tag}" ]; then
old_tag="${default_old_tag}"
fi fi
while [ -z "$(git tag --list "${OLD_TAG}")" ]; do while [ -z "$(git tag --list "${old_tag}")" ]; do
echo "ERROR: Tag '${OLD_TAG}' not found!" 1>&2 echo "ERROR: Tag '${old_tag}' not found!" 1>&2
read -p "Enter start tag [${DEFAULT_OLD_TAG}]: " OLD_TAG echo "Enter start tag [${default_old_tag}]:"
if [ -z "${OLD_TAG}" ]; then read -r old_tag
OLD_TAG="${DEFAULT_OLD_TAG}" if [ -z "${old_tag}" ]; then
old_tag="${default_old_tag}"
fi fi
done done
else else
OLD_TAG=${1} old_tag=${1}
if [ -z "$(git tag --list "${OLD_TAG}")" ]; then if [ -z "$(git tag --list "${old_tag}")" ]; then
echo "ERROR: Tag '${OLD_TAG}' not found!" 1>&2 echo "ERROR: Tag '${old_tag}' not found!" 1>&2
exit 1 exit 1
fi fi
fi fi
if [ -z "${2}" ]; then if [ -z "${2}" ]; then
read -p "Enter end tag [${DEFAULT_NEW_TAG}]: " NEW_TAG echo "Enter end tag [${default_new_tag}]:"
if [ -z "${NEW_TAG}" ]; then read -r new_tag
NEW_TAG="${DEFAULT_NEW_TAG}" if [ -z "${new_tag}" ]; then
new_tag="${default_new_tag}"
fi fi
while [ -z "$(git tag --list "${NEW_TAG}")" ]; do while [ -z "$(git tag --list "${new_tag}")" ]; do
echo "ERROR: Tag '${NEW_TAG}' not found!" 1>&2 echo "ERROR: Tag '${new_tag}' not found!" 1>&2
read -p "Enter end tag [${DEFAULT_NEW_TAG}]: " NEW_TAG echo "Enter end tag [${default_new_tag}]:"
if [ -z "${NEW_TAG}" ]; then read -r new_tag
NEW_TAG="${DEFAULT_NEW_TAG}" if [ -z "${new_tag}" ]; then
new_tag="${default_new_tag}"
fi fi
done done
else else
NEW_TAG=${2} new_tag=${2}
if [ -z "$(git tag --list "${NEW_TAG}")" ]; then if [ -z "$(git tag --list "${new_tag}")" ]; then
echo "ERROR: Tag '${NEW_TAG}' not found!" 1>&2 echo "ERROR: Tag '${new_tag}' not found!" 1>&2
exit 1 exit 1
fi fi
fi fi
CHANGE_LOG_YAML=$(mktemp) change_log_yaml=$(mktemp)
echo "[]" > "${CHANGE_LOG_YAML}" echo "[]" > "${change_log_yaml}"
function map_type_to_kind() { function map_type_to_kind() {
case "${1}" in case "${1}" in
@@ -80,35 +84,42 @@ function map_type_to_kind() {
esac esac
} }
COMMIT_TITLES="$(git log --pretty=format:"%s" "${OLD_TAG}..${NEW_TAG}")" commit_titles="$(git log --pretty=format:"%s" "${old_tag}..${new_tag}")"
echo "INFO: Generate change log entries from ${OLD_TAG} until ${NEW_TAG}" echo "INFO: Generate change log entries from ${old_tag} until ${new_tag}"
while IFS= read -r line; do while IFS= read -r line; do
if [[ "${line}" =~ ^([a-zA-Z]+)(\([^\)]+\))?\:\ (.+)$ ]]; then if [[ "${line}" =~ ^([a-zA-Z]+)(\([^\)]+\))?\:\ (.+)$ ]]; then
TYPE="${BASH_REMATCH[1]}" type="${BASH_REMATCH[1]}"
KIND=$(map_type_to_kind "${TYPE}") kind=$(map_type_to_kind "${type}")
if [ "${KIND}" == "skip" ]; then if [ "${kind}" == "skip" ]; then
continue continue
fi fi
DESC="${BASH_REMATCH[3]}" desc="${BASH_REMATCH[3]}"
echo "- ${KIND}: ${DESC}" echo "- ${kind}: ${desc}"
jq --arg kind "${KIND}" --arg description "${DESC}" '. += [ $ARGS.named ]' < "${CHANGE_LOG_YAML}" > "${CHANGE_LOG_YAML}.new" jq --arg kind "${kind}" --arg description "${desc}" '. += [ $ARGS.named ]' < "${change_log_yaml}" > "${change_log_yaml}.new"
mv "${CHANGE_LOG_YAML}.new" "${CHANGE_LOG_YAML}" mv "${change_log_yaml}.new" "${change_log_yaml}"
fi fi
done <<< "${COMMIT_TITLES}" done <<< "${commit_titles}"
if [ -s "${CHANGE_LOG_YAML}" ]; then if [ -s "${change_log_yaml}" ]; then
yq --inplace --input-format json --output-format yml "${CHANGE_LOG_YAML}" yq --inplace --input-format json --output-format yml "${change_log_yaml}"
yq --no-colors --inplace ".annotations.\"artifacthub.io/changes\" |= loadstr(\"${CHANGE_LOG_YAML}\") | sort_keys(.)" "${CHART_FILE}" yq --no-colors --inplace ".annotations.\"artifacthub.io/changes\" |= loadstr(\"${change_log_yaml}\") | sort_keys(.)" "${chart_file}"
else else
echo "ERROR: Changelog file is empty: ${CHANGE_LOG_YAML}" 1>&2 echo "ERROR: Changelog file is empty: ${change_log_yaml}" 1>&2
exit 1 exit 1
fi fi
rm "${CHANGE_LOG_YAML}" rm "${change_log_yaml}"
regexp=".*-alpha-[0-9]+(\.[0-9]+){,2}$"
if [[ "${new_tag}" =~ $regexp ]]; then
yq --inplace '.annotations."artifacthub.io/prerelease" = "true"' "${chart_file}"
else
yq --inplace '.annotations."artifacthub.io/prerelease" = "false"' "${chart_file}"
fi
@@ -0,0 +1,41 @@
name: Upload ArtifactHub Metadata
on:
schedule:
- cron: '0 3 1 * *'
workflow_dispatch:
jobs:
upload-metadata:
name: "Upload artifacthub-repo.yml to OCI registry"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.2
- uses: docker/login-action@v4.1.0
with:
registry: ${{ github.server_url }}
username: ${{ github.repository_owner }}
password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
- uses: oras-project/setup-oras@v2.0.0
with:
version: 1.3.2 # renovate: datasource=github-tags depName=oras-project/oras extractVersion='^v?(?<version>.*)$'
- name: Extract meta information
run: |
echo "GITEA_SERVER_HOSTNAME=$(echo "${GITHUB_SERVER_URL}" | cut -d '/' -f 3)" >> $GITHUB_ENV
echo "PACKAGE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
echo "REPOSITORY_NAME=$(echo ${GITHUB_REPOSITORY} | cut -d '/' -f 2 | sed --regexp-extended 's/-charts?//g')" >> $GITHUB_ENV
echo "REPOSITORY_OWNER=$(echo ${GITHUB_REPOSITORY} | cut -d '/' -f 1)" >> $GITHUB_ENV
- name: Push artifacthub-repo.yml
run: |
oras push ${GITEA_SERVER_HOSTNAME}/${REPOSITORY_OWNER}/${REPOSITORY_NAME}:artifacthub.io \
--config /dev/null:application/vnd.cncf.artifacthub.config.v1+yaml \
artifacthub-repo.yml:application/vnd.cncf.artifacthub.repository-metadata.layer.v1.yaml
- name: Push public cosign key
env:
COSIGN_PUBLIC_KEY: ${{ vars.COSIGN_PUBLIC_KEY }}
run: |
echo "${COSIGN_PUBLIC_KEY}" > cosign.pub
oras push ${GITEA_SERVER_HOSTNAME}/${REPOSITORY_OWNER}/${REPOSITORY_NAME}:cosign.pub \
--artifact-type application/vnd.dev.cosign.public-key.v1 \
--annotation org.opencontainers.image.title=cosign.pub \
cosign.pub:application/vnd.dev.cosign.public-key.v1
+2 -2
View File
@@ -15,14 +15,14 @@ on:
jobs: jobs:
generate-parameters: generate-parameters:
container: container:
image: docker.io/library/node:25.2.1-alpine image: docker.io/library/node:25.9.0-alpine
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Install tooling - name: Install tooling
run: | run: |
apk update apk update
apk add git npm apk add git npm
- uses: actions/checkout@v5.0.1 - uses: actions/checkout@v6.0.2
- name: Generate parameter section in README - name: Generate parameter section in README
run: | run: |
npm install npm install
+6 -6
View File
@@ -14,10 +14,10 @@ jobs:
helm-lint: helm-lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v5.0.1 - uses: actions/checkout@v6.0.2
- uses: azure/setup-helm@v4.3.1 - uses: azure/setup-helm@v5.0.0
with: with:
version: v4.0.1 # renovate: datasource=github-releases depName=helm/helm version: "v4.1.4" # renovate: datasource=github-tags depName=helm/helm
- name: Lint helm files - name: Lint helm files
run: | run: |
helm lint --values values.yaml . helm lint --values values.yaml .
@@ -25,10 +25,10 @@ jobs:
helm-unittest: helm-unittest:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v5.0.1 - uses: actions/checkout@v6.0.2
- uses: azure/setup-helm@v4.3.1 - uses: azure/setup-helm@v5.0.0
with: with:
version: v4.0.1 # renovate: datasource=github-releases depName=helm/helm version: "v4.1.4" # renovate: datasource=github-tags depName=helm/helm
- env: - env:
HELM_UNITTEST_VERSION: v1.0.0 #renovate: datasource=github-releases depName=helm-unittest/helm-unittest HELM_UNITTEST_VERSION: v1.0.0 #renovate: datasource=github-releases depName=helm-unittest/helm-unittest
name: Install helm-unittest name: Install helm-unittest
+4 -4
View File
@@ -15,14 +15,14 @@ on:
jobs: jobs:
markdown-link-checker: markdown-link-checker:
container: container:
image: docker.io/library/node:25.2.1-alpine image: docker.io/library/node:25.9.0-alpine
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Install tooling - name: Install tooling
run: | run: |
apk update apk update
apk add git npm apk add git npm
- uses: actions/checkout@v5.0.1 - uses: actions/checkout@v6.0.2
- name: Verify links in markdown files - name: Verify links in markdown files
run: | run: |
npm install npm install
@@ -30,14 +30,14 @@ jobs:
markdown-lint: markdown-lint:
container: container:
image: docker.io/library/node:25.2.1-alpine image: docker.io/library/node:25.9.0-alpine
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Install tooling - name: Install tooling
run: | run: |
apk update apk update
apk add git apk add git
- uses: actions/checkout@v5.0.1 - uses: actions/checkout@v6.0.2
- name: Lint markdown files - name: Lint markdown files
run: | run: |
npm install npm install
+120 -24
View File
@@ -1,5 +1,10 @@
name: Release name: Release
env:
GPG_PRIVATE_KEY_FILE: ${{ runner.temp }}/private.key
GPG_PRIVATE_KEY_FINGERPRINT: ${{ vars.GPG_PRIVATE_KEY_FINGERPRINT }}
GPG_PRIVATE_KEY_PASSPHRASE_FILE: ${{ runner.temp }}/passphrase.txt
on: on:
push: push:
tags: tags:
@@ -7,16 +12,60 @@ on:
jobs: jobs:
publish-chart: publish-chart:
container:
image: docker.io/volkerraschek/helm:4.0.1
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Install packages via apk - uses: sigstore/cosign-installer@v4.1.1
run: | with:
apk update cosign-release: "v3.0.6" # renovate: datasource=github-tags depName=sigstore/cosign
apk add git npm jq yq
- uses: actions/checkout@v5.0.1 - uses: azure/setup-helm@v5.0.0
with:
version: "v4.1.4" # renovate: datasource=github-tags depName=helm/helm
- name: Install helm plugins
env:
HELM_SIGSTORE_VERSION: "0.3.0" # renovate: datasource=github-tags depName=sigstore/helm-sigstore extractVersion='^v(?<version>\d+\.\d+\.\d+)$'
HELM_SCHEMA_VALUES_VERSION: "2.3.1" # renovate: datasource=github-tags depName=losisin/helm-values-schema-json extractVersion='^v(?<version>\d+\.\d+\.\d+)$'
HELM_UNITTEST_VERSION: "1.0.3" # renovate: datasource=github-tags depName=helm-unittest/helm-unittest extractVersion='^v(?<version>\d+\.\d+\.\d+)$'
run: |
helm plugin install --verify=false https://github.com/sigstore/helm-sigstore.git --version "${HELM_SIGSTORE_VERSION}" 1> /dev/null
helm plugin install --verify=false https://github.com/losisin/helm-values-schema-json.git --version "${HELM_SCHEMA_VALUES_VERSION}" 1> /dev/null
helm plugin install --verify=false https://github.com/helm-unittest/helm-unittest.git --version "${HELM_UNITTEST_VERSION}" 1> /dev/null
helm plugin list
- name: GPG configuration
env:
GPG_PRIVATE_KEY_PASSPHRASE: ${{ secrets.GPG_PRIVATE_KEY_PASSPHRASE }}
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
run: |
# Configure GPG and GPG Agent
mkdir --parents "${HOME}/.gnupg"
chmod 0700 "${HOME}/.gnupg"
cat > "${HOME}/.gnupg/gpg.conf" <<EOF
use-agent
pinentry-mode loopback
EOF
cat > "${HOME}/.gnupg/gpg-agent.conf" <<EOF
allow-loopback-pinentry
max-cache-ttl 86400
default-cache-ttl 86400
EOF
gpgconf --kill gpg-agent
gpgconf --launch gpg-agent
# Import GPG private key
cat 1> "${GPG_PRIVATE_KEY_PASSPHRASE_FILE}" <<< "${GPG_PRIVATE_KEY_PASSPHRASE}"
cat 1> "${GPG_PRIVATE_KEY_FILE}" <<< "${GPG_PRIVATE_KEY}"
gpg --batch --yes --passphrase-fd 0 --import "${GPG_PRIVATE_KEY_FILE}" <<< "${GPG_PRIVATE_KEY_PASSPHRASE}"
# Export GPG keyring
gpg --batch --yes --export "${GPG_PRIVATE_KEY_FINGERPRINT}" 1> "${HOME}/.gnupg/pubring.gpg"
gpg --batch --yes --passphrase-fd 0 --export-secret-keys "${GPG_PRIVATE_KEY_FINGERPRINT}" 1> "${HOME}/.gnupg/secring.gpg" <<< "${GPG_PRIVATE_KEY_PASSPHRASE}"
- uses: actions/checkout@v6.0.2
with: with:
fetch-depth: 0 fetch-depth: 0
@@ -28,9 +77,10 @@ jobs:
- name: Extract meta information - name: Extract meta information
run: | run: |
echo "GITEA_SERVER_HOSTNAME=$(echo "${GITHUB_SERVER_URL}" | cut --delimiter '/' --fields 3)" >> $GITHUB_ENV
echo "PACKAGE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV echo "PACKAGE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
echo "REPOSITORY_NAME=$(echo ${GITHUB_REPOSITORY} | cut -d '/' -f 2 | sed --regexp-extended 's/-charts?//g')" >> $GITHUB_ENV echo "REPOSITORY_NAME=$(echo ${GITHUB_REPOSITORY} | cut --delimiter '/' --fields 2 | sed --regexp-extended 's/-charts?//g')" >> $GITHUB_ENV
echo "REPOSITORY_OWNER=$(echo ${GITHUB_REPOSITORY} | cut -d '/' -f 1)" >> $GITHUB_ENV echo "REPOSITORY_OWNER=$(echo ${GITHUB_REPOSITORY} | cut --delimiter '/' --fields 1)" >> $GITHUB_ENV
- name: Update Helm Chart version in README.md - name: Update Helm Chart version in README.md
run: sed -i -E "s/^CHART_VERSION=.*/CHART_VERSION=${PACKAGE_VERSION}/g" README.md run: sed -i -E "s/^CHART_VERSION=.*/CHART_VERSION=${PACKAGE_VERSION}/g" README.md
@@ -38,24 +88,70 @@ jobs:
- name: Package chart - name: Package chart
run: | run: |
helm dependency build helm dependency build
helm package --version "${PACKAGE_VERSION}" ./ helm package \
--sign \
--key "$(gpg --with-colons --list-keys "${GPG_PRIVATE_KEY_FINGERPRINT}" | grep uid | cut --delimiter ':' --fields 10)" \
--keyring "${HOME}/.gnupg/secring.gpg" \
--passphrase-file "${GPG_PRIVATE_KEY_PASSPHRASE_FILE}" \
--version "${PACKAGE_VERSION}" ./
- name: Upload Chart to ChartMuseum - uses: docker/login-action@v4.1.0
with:
registry: ${{ github.server_url }}
username: ${{ github.repository_owner }}
password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
- name: Upload Chart to Gitea (OCI)
env: env:
COSIGN_PASSWORD: ${{ secrets.COSIGN_PASSWORD }}
COSIGN_PRIVATE_KEY: ${{ secrets.COSIGN_PRIVATE_KEY }}
run: |
helm push ${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz oci://${GITEA_SERVER_HOSTNAME}/${REPOSITORY_OWNER}
cosign sign --yes --upload=true --key=env://COSIGN_PRIVATE_KEY ${GITEA_SERVER_HOSTNAME}/${REPOSITORY_OWNER}/${REPOSITORY_NAME}:${PACKAGE_VERSION}
- name: Upload Chart to Gitea (Helm)
env:
GITEA_REGISTRY_TOKEN: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
run: |
curl \
--fail \
--show-error \
--request POST \
--user "${REPOSITORY_OWNER}:${GITEA_REGISTRY_TOKEN}" \
--upload-file "${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz" \
https://${GITEA_SERVER_HOSTNAME}/api/packages/${REPOSITORY_OWNER}/helm/api/charts
if [ -f "${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz.prov" ]; then
curl \
--fail \
--show-error \
--request POST \
--user "${CHARTMUSEUM_USERNAME}:${CHARTMUSEUM_PASSWORD}" \
--upload-file "${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz.prov" \
https://${GITEA_SERVER_HOSTNAME}/api/packages/${REPOSITORY_OWNER}/helm/api/prov
fi
- name: Upload Chart to Chartmuseum (Helm)
env:
CHARTMUSEUM_HOSTNAME: ${{ vars.CHARTMUSEUM_HOSTNAME }}
CHARTMUSEUM_USERNAME: ${{ secrets.CHARTMUSEUM_USERNAME }}
CHARTMUSEUM_PASSWORD: ${{ secrets.CHARTMUSEUM_PASSWORD }} CHARTMUSEUM_PASSWORD: ${{ secrets.CHARTMUSEUM_PASSWORD }}
CHARTMUSEUM_REPOSITORY: ${{ vars.CHARTMUSEUM_REPOSITORY }} CHARTMUSEUM_REPOSITORY: ${{ vars.CHARTMUSEUM_REPOSITORY }}
CHARTMUSEUM_USERNAME: ${{ secrets.CHARTMUSEUM_USERNAME }}
CHARTMUSEUM_HOSTNAME: ${{ vars.CHARTMUSEUM_HOSTNAME }}
run: | run: |
helm repo add --username ${CHARTMUSEUM_USERNAME} --password ${CHARTMUSEUM_PASSWORD} chartmuseum https://${CHARTMUSEUM_HOSTNAME}/${CHARTMUSEUM_REPOSITORY} curl \
helm cm-push ${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz chartmuseum --fail \
helm repo remove chartmuseum --show-error \
--request POST \
--user "${CHARTMUSEUM_USERNAME}:${CHARTMUSEUM_PASSWORD}" \
--upload-file "${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz" \
https://${CHARTMUSEUM_HOSTNAME}/api/${CHARTMUSEUM_REPOSITORY}/charts
- name: Upload Chart to Gitea if [ -f "${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz.prov" ]; then
env: curl \
GITEA_PACKAGE_REGISTRY_TOKEN: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} --fail \
GITEA_SERVER_URL: ${{ github.server_url }} --show-error \
run: | --request POST \
helm repo add --username ${REPOSITORY_OWNER} --password ${GITEA_PACKAGE_REGISTRY_TOKEN} gitea ${GITEA_SERVER_URL}/api/packages/${REPOSITORY_OWNER}/helm --user "${CHARTMUSEUM_USERNAME}:${CHARTMUSEUM_PASSWORD}" \
helm cm-push ${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz gitea --upload-file ${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz.prov \
helm repo remove gitea https://${CHARTMUSEUM_HOSTNAME}/api/${CHARTMUSEUM_REPOSITORY}/prov
fi
-1
View File
@@ -136,7 +136,6 @@ MD044:
- kube-prometheus-stack - kube-prometheus-stack
- Memcached - Memcached
- Oracle - Oracle
- ORBIS U
- PostgreSQL - PostgreSQL
- Prometheus - Prometheus
- prometheus-exporter - prometheus-exporter
+4 -1
View File
@@ -1,8 +1,11 @@
{ {
"files.associations": {
".gitea/workflows/*.yaml": "github-actions-workflow"
},
"yaml.schemas": { "yaml.schemas": {
"https://raw.githubusercontent.com/helm-unittest/helm-unittest/v1.0.3/schema/helm-testsuite.json": [ "https://raw.githubusercontent.com/helm-unittest/helm-unittest/v1.0.3/schema/helm-testsuite.json": [
"/unittests/**/*.yaml" "/unittests/**/*.yaml"
] ]
}, },
"yaml.schemaStore.enable": true "yaml.schemaStore.enable": true
} }
+7
View File
@@ -1,12 +1,19 @@
annotations: annotations:
artifacthub.io/license: MIT
artifacthub.io/links: | artifacthub.io/links: |
- name: Prometheus Fail2Ban exporter (binary) - name: Prometheus Fail2Ban exporter (binary)
url: https://git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter url: https://git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter
- name: support - name: support
url: https://git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter-charts/issues url: https://git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter-charts/issues
artifacthub.io/operator: "false"
artifacthub.io/prerelease: "false"
artifacthub.io/signKey: |
fingerprint: 3B0CE9853CAD76076260025383D342258456906E
url: https://keys.openpgp.org/vks/v1/by-fingerprint/3B0CE9853CAD76076260025383D342258456906E
apiVersion: v2 apiVersion: v2
appVersion: "0.1.1" appVersion: "0.1.1"
description: Prometheus metric exporter for Fail2Ban description: Prometheus metric exporter for Fail2Ban
home: https://git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter-charts
# icon: https://annotations.example.com/icon.png # icon: https://annotations.example.com/icon.png
keywords: keywords:
- prometheus - prometheus
+15 -49
View File
@@ -21,7 +21,8 @@ separate [chapter](#argocd).
## Helm: configuration and installation ## Helm: configuration and installation
1. A helm chart repository must be configured, to pull the helm charts from. 1. A helm chart repository must be configured, to pull the helm charts from. The helm charts can either be pulled from
the classic helm chart repository or OCI registry.
2. All available [parameters](#parameters) are documented in detail below. The parameters can be defined via the helm 2. All available [parameters](#parameters) are documented in detail below. The parameters can be defined via the helm
`--set` flag or directly as part of a `values.yaml` file. The following example defines the `prometheus-exporter` `--set` flag or directly as part of a `values.yaml` file. The following example defines the `prometheus-exporter`
repository and use the `--set` flag for a basic deployment. repository and use the `--set` flag for a basic deployment.
@@ -32,7 +33,7 @@ separate [chapter](#argocd).
> time is not possible. > time is not possible.
```bash ```bash
helm repo add prometheus-exporters https://charts.cryptic.systems/prometheus-exporters helm repo add prometheus-exporters https://git.cryptic.systems/api/packages/volker.raschek/helm
helm repo update helm repo update
CHART_VERSION=0.4.21 CHART_VERSION=0.4.21
helm install --version "${CHART_VERSION}" prometheus-fail2ban-exporter prometheus-exporters/prometheus-fail2ban-exporter \ helm install --version "${CHART_VERSION}" prometheus-fail2ban-exporter prometheus-exporters/prometheus-fail2ban-exporter \
@@ -40,6 +41,18 @@ helm install --version "${CHART_VERSION}" prometheus-fail2ban-exporter prometheu
--set 'prometheus.metrics.serviceMonitor.enabled=true' --set 'prometheus.metrics.serviceMonitor.enabled=true'
``` ```
Alternatively, the deployment of the helm charts can also be done via an OCI registry:
```bash
CHART_VERSION=0.5.9
helm install "oci://git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter:${CHART_VERSION}" \
--set 'config.database.secret.databaseUsername=postgres' \
--set 'config.database.secret.databasePassword=postgres' \
--set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \
--set 'prometheus.metrics.enabled=true' \
--set 'prometheus.metrics.serviceMonitor.enabled=true'
```
Instead of passing all parameters via the *set* flag, it is also possible to define them as part of the `values.yaml`. Instead of passing all parameters via the *set* flag, it is also possible to define them as part of the `values.yaml`.
The following command downloads the `values.yaml` for a specific version of this chart. Please keep in mind, that the The following command downloads the `values.yaml` for a specific version of this chart. Please keep in mind, that the
version of the chart must be in sync with the `values.yaml`. Newer *minor* versions can have new features. New *major* version of the chart must be in sync with the `values.yaml`. Newer *minor* versions can have new features. New *major*
@@ -93,53 +106,6 @@ helm install --version "${CHART_VERSION}" prometheus-fail2ban-exporter prometheu
--set 'daemonSet.fail2banExporter.resources.limits.cpu=1000m' --set 'daemonSet.fail2banExporter.resources.limits.cpu=1000m'
``` ```
<!--
#### TLS authentication and encryption
The first example shows how to deploy the metric exporter with TLS encryption. The verification of the custom TLS
certification will be skipped by Prometheus.
> [!WARNING]
> The secret `Prometheus-fail2banql-exporter-http` containing the TLS certificate is already present. The keys `ca.crt`,
> `TLS.key` and `TLS.crt` of the secret can be mounted into the container filesystem for TLS authentication / encryption.
```bash
helm install Prometheus-fail2ban-exporter Prometheus-exporters/Prometheus-fail2ban-exporter \
--set 'daemonSet.volumes[0].name=TLS' \
--set 'daemonSet.volumes[0].secret.secretName=Prometheus-fail2banql-exporter-http' \
--set 'daemonSet.fail2banExporter.volumeMounts[0].name=TLS' \
--set 'daemonSet.fail2banExporter.volumeMounts[0].mountPath=/etc/Prometheus-fail2ban-exporter/TLS' \
--set 'daemonSet.fail2banExporter.volumeMounts[0].readOnly=true' \
--set 'Prometheus.metrics.enabled=true' \
--set 'Prometheus.metrics.serviceMonitor.enabled=true' \
--set 'Prometheus.metrics.serviceMonitor.scheme=https' \
--set 'Prometheus.metrics.serviceMonitor.tlsConfig.insecureSkipVerify=true'
```
If the Prometheus pod has a TLS certificate mounted and is also signed by the private key of the CA which issued the TLS
certificate for the metrics exporter - TLS certificate verification can be enabled. The following flags must be
replaced:
```diff
helm install Prometheus-fail2ban-exporter Prometheus-exporters/Prometheus-fail2ban-exporter \
--set 'config.webConfig.secret.webConfig.cert_file=/etc/Prometheus-fail2ban-exporter/TLS/TLS.crt' \
--set 'config.webConfig.secret.webConfig.client_ca_file=/etc/Prometheus-fail2ban-exporter/TLS/ca.crt' \
--set 'config.webConfig.secret.webConfig.key_file=/etc/Prometheus-fail2ban-exporter/TLS/TLS.key'
--set 'daemonSet.volumes[0].name=TLS' \
--set 'daemonSet.volumes[0].secret.secretName=Prometheus-fail2banql-exporter-http' \
--set 'daemonSet.fail2banExporter.volumeMounts[0].name=TLS' \
--set 'daemonSet.fail2banExporter.volumeMounts[0].mountPath=/etc/Prometheus-fail2ban-exporter/TLS' \
--set 'daemonSet.fail2banExporter.volumeMounts[0].readOnly=true' \
--set 'Prometheus.metrics.enabled=true' \
--set 'Prometheus.metrics.serviceMonitor.enabled=true' \
--set 'Prometheus.metrics.serviceMonitor.scheme=https' \
- --set 'Prometheus.metrics.serviceMonitor.tlsConfig.insecureSkipVerify=true' \
+ --set 'Prometheus.metrics.serviceMonitor.tlsConfig.caFile=/etc/Prometheus/TLS/ca.crt' \
+ --set 'Prometheus.metrics.serviceMonitor.tlsConfig.certFile=/etc/Prometheus/TLS/TLS.crt' \
+ --set 'Prometheus.metrics.serviceMonitor.tlsConfig.keyFile=/etc/Prometheus/TLS/TLS.key'
```
-->
#### Grafana dashboard #### Grafana dashboard
The helm chart includes Grafana dashboards. These can be deployed as a configMap by activating Grafana integration. It The helm chart includes Grafana dashboards. These can be deployed as a configMap by activating Grafana integration. It
+110 -51
View File
@@ -9,7 +9,7 @@
"devDependencies": { "devDependencies": {
"@bitnami/readme-generator-for-helm": "^2.5.0", "@bitnami/readme-generator-for-helm": "^2.5.0",
"markdown-link-check": "^3.13.6", "markdown-link-check": "^3.13.6",
"markdownlint-cli": "^0.46.0" "markdownlint-cli": "^0.48.0"
}, },
"engines": { "engines": {
"node": ">=16.0.0", "node": ">=16.0.0",
@@ -33,29 +33,6 @@
"readme-generator": "bin/index.js" "readme-generator": "bin/index.js"
} }
}, },
"node_modules/@isaacs/balanced-match": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
"integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": "20 || >=22"
}
},
"node_modules/@isaacs/brace-expansion": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz",
"integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@isaacs/balanced-match": "^4.0.1"
},
"engines": {
"node": "20 || >=22"
}
},
"node_modules/@oozcitak/dom": { "node_modules/@oozcitak/dom": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-2.0.1.tgz", "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-2.0.1.tgz",
@@ -156,6 +133,19 @@
"node": ">= 14" "node": ">= 14"
} }
}, },
"node_modules/ansi-regex": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
"node_modules/argparse": { "node_modules/argparse": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -637,6 +627,19 @@
"dev": true, "dev": true,
"license": "ISC" "license": "ISC"
}, },
"node_modules/get-east-asian-width": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz",
"integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/get-uri": { "node_modules/get-uri": {
"version": "6.0.4", "version": "6.0.4",
"resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.4.tgz", "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.4.tgz",
@@ -981,9 +984,9 @@
} }
}, },
"node_modules/markdown-it": { "node_modules/markdown-it": {
"version": "14.1.0", "version": "14.1.1",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz",
"integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -1055,9 +1058,9 @@
} }
}, },
"node_modules/markdownlint": { "node_modules/markdownlint": {
"version": "0.39.0", "version": "0.40.0",
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.39.0.tgz", "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.40.0.tgz",
"integrity": "sha512-Xt/oY7bAiHwukL1iru2np5LIkhwD19Y7frlsiDILK62v3jucXCD6JXlZlwMG12HZOR+roHIVuJZrfCkOhp6k3g==", "integrity": "sha512-UKybllYNheWac61Ia7T6fzuQNDZimFIpCg2w6hHjgV1Qu0w1TV0LlSgryUGzM0bkKQCBhy2FDhEELB73Kb0kAg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -1068,7 +1071,8 @@
"micromark-extension-gfm-footnote": "2.1.0", "micromark-extension-gfm-footnote": "2.1.0",
"micromark-extension-gfm-table": "2.1.1", "micromark-extension-gfm-table": "2.1.1",
"micromark-extension-math": "3.1.0", "micromark-extension-math": "3.1.0",
"micromark-util-types": "2.0.2" "micromark-util-types": "2.0.2",
"string-width": "8.1.0"
}, },
"engines": { "engines": {
"node": ">=20" "node": ">=20"
@@ -1078,23 +1082,23 @@
} }
}, },
"node_modules/markdownlint-cli": { "node_modules/markdownlint-cli": {
"version": "0.46.0", "version": "0.48.0",
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.46.0.tgz", "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.48.0.tgz",
"integrity": "sha512-4gxTNzPjpLnY7ftrEZD4flPY0QBkQLiqezb6KURFSkV+vPHFOsYw8OMtY6fu82Yt8ghtSrWegpYdq1ix25VFLQ==", "integrity": "sha512-NkZQNu2E0Q5qLEEHwWj674eYISTLD4jMHkBzDobujXd1kv+yCxi8jOaD/rZoQNW1FBBMMGQpuW5So8B51N/e0A==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"commander": "~14.0.2", "commander": "~14.0.3",
"deep-extend": "~0.6.0", "deep-extend": "~0.6.0",
"ignore": "~7.0.5", "ignore": "~7.0.5",
"js-yaml": "~4.1.1", "js-yaml": "~4.1.1",
"jsonc-parser": "~3.3.1", "jsonc-parser": "~3.3.1",
"jsonpointer": "~5.0.1", "jsonpointer": "~5.0.1",
"markdown-it": "~14.1.0", "markdown-it": "~14.1.1",
"markdownlint": "~0.39.0", "markdownlint": "~0.40.0",
"minimatch": "~10.1.1", "minimatch": "~10.2.4",
"run-con": "~1.3.2", "run-con": "~1.3.2",
"smol-toml": "~1.5.2", "smol-toml": "~1.6.0",
"tinyglobby": "~0.2.15" "tinyglobby": "~0.2.15"
}, },
"bin": { "bin": {
@@ -1104,10 +1108,33 @@
"node": ">=20" "node": ">=20"
} }
}, },
"node_modules/markdownlint-cli/node_modules/balanced-match": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
"dev": true,
"license": "MIT",
"engines": {
"node": "18 || 20 || >=22"
}
},
"node_modules/markdownlint-cli/node_modules/brace-expansion": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
"integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
"dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^4.0.2"
},
"engines": {
"node": "18 || 20 || >=22"
}
},
"node_modules/markdownlint-cli/node_modules/commander": { "node_modules/markdownlint-cli/node_modules/commander": {
"version": "14.0.2", "version": "14.0.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz",
"integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@@ -1115,16 +1142,16 @@
} }
}, },
"node_modules/markdownlint-cli/node_modules/minimatch": { "node_modules/markdownlint-cli/node_modules/minimatch": {
"version": "10.1.1", "version": "10.2.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
"integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
"dev": true, "dev": true,
"license": "BlueOak-1.0.0", "license": "BlueOak-1.0.0",
"dependencies": { "dependencies": {
"@isaacs/brace-expansion": "^5.0.0" "brace-expansion": "^5.0.2"
}, },
"engines": { "engines": {
"node": "20 || >=22" "node": "18 || 20 || >=22"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/isaacs" "url": "https://github.com/sponsors/isaacs"
@@ -1890,7 +1917,6 @@
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
@@ -1997,9 +2023,9 @@
} }
}, },
"node_modules/smol-toml": { "node_modules/smol-toml": {
"version": "1.5.2", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.5.2.tgz", "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.0.tgz",
"integrity": "sha512-QlaZEqcAH3/RtNyet1IPIYPsEWAaYyXXv1Krsi+1L/QHppjX4Ifm8MQsBISz9vE8cHicIq3clogsheili5vhaQ==", "integrity": "sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==",
"dev": true, "dev": true,
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"engines": { "engines": {
@@ -2057,6 +2083,39 @@
"dev": true, "dev": true,
"license": "BSD-3-Clause" "license": "BSD-3-Clause"
}, },
"node_modules/string-width": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
"dev": true,
"license": "MIT",
"dependencies": {
"get-east-asian-width": "^1.3.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/strip-ansi": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
"node_modules/strip-json-comments": { "node_modules/strip-json-comments": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+1 -1
View File
@@ -16,6 +16,6 @@
"devDependencies": { "devDependencies": {
"@bitnami/readme-generator-for-helm": "^2.5.0", "@bitnami/readme-generator-for-helm": "^2.5.0",
"markdown-link-check": "^3.13.6", "markdown-link-check": "^3.13.6",
"markdownlint-cli": "^0.46.0" "markdownlint-cli": "^0.48.0"
} }
} }
-7
View File
@@ -44,13 +44,6 @@
} }
], ],
"packageRules": [ "packageRules": [
{
"groupName": "Update docker.io/volkerraschek/helm",
"matchDepNames": [
"docker.io/volkerraschek/helm",
"volkerraschek/helm"
]
},
{ {
"automerge": true, "automerge": true,
"groupName": "Update helm plugin 'unittest'", "groupName": "Update helm plugin 'unittest'",