25 Commits

Author SHA1 Message Date
0c0c0e5ea7 fix(Chart): escape changelog messages for artifacthub
All checks were successful
Helm / helm-lint (push) Successful in 14s
Helm / helm-unittest (push) Successful in 16s
Release / publish-chart (push) Successful in 25s
2025-06-06 22:03:34 +02:00
863c3a30c1 fix(Chart): escape changelog messages for artifacthub
Some checks failed
Helm / helm-unittest (push) Successful in 17s
Helm / helm-lint (push) Successful in 24s
Release / publish-chart (push) Failing after 18s
2025-06-06 22:01:12 +02:00
c9a45d8040 chore(deps): update dependency volker.raschek/prometheus-fail2ban-exporter-charts to v0.4.16
All checks were successful
Generate README / generate-parameters (pull_request) Successful in 45s
Helm / helm-lint (pull_request) Successful in 16s
Helm / helm-unittest (pull_request) Successful in 15s
Markdown linter / markdown-link-checker (pull_request) Successful in 30s
Markdown linter / markdown-lint (pull_request) Successful in 33s
Helm / helm-lint (push) Successful in 25s
Generate README / generate-parameters (push) Successful in 30s
Helm / helm-unittest (push) Successful in 24s
Markdown linter / markdown-link-checker (push) Successful in 32s
Markdown linter / markdown-lint (push) Successful in 46s
2025-06-04 19:11:43 +00:00
24d29f2b09 chore(ci): cleanup scripts
All checks were successful
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 16s
Release / publish-chart (push) Successful in 18s
2025-06-04 19:43:26 +02:00
a4180e0953 chore(ci): use git tag sort to get last two tags
All checks were successful
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (push) Successful in 16s
Release / publish-chart (push) Successful in 25s
2025-06-04 19:23:13 +02:00
c5783bd053 chore(ci): log commits
Some checks failed
Helm / helm-unittest (push) Successful in 13s
Helm / helm-lint (push) Successful in 15s
Release / publish-chart (push) Failing after 14s
2025-06-04 19:18:32 +02:00
7cfe55a106 chore(ci): extend logging of add-annotations.sh
Some checks failed
Helm / helm-lint (push) Successful in 18s
Helm / helm-unittest (push) Successful in 17s
Release / publish-chart (push) Failing after 15s
2025-06-04 18:53:06 +02:00
a0bb4f2277 chore(ci): write error message to stderr
Some checks failed
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 26s
Release / publish-chart (push) Failing after 23s
2025-06-04 18:47:02 +02:00
022a4d2155 chore(deps): update dependency volker.raschek/prometheus-fail2ban-exporter-charts to v0.4.11
Some checks failed
Generate README / generate-parameters (pull_request) Successful in 28s
Helm / helm-lint (pull_request) Successful in 17s
Helm / helm-unittest (pull_request) Successful in 17s
Markdown linter / markdown-lint (pull_request) Successful in 28s
Markdown linter / markdown-link-checker (pull_request) Successful in 48s
Helm / helm-lint (push) Successful in 15s
Generate README / generate-parameters (push) Successful in 29s
Helm / helm-unittest (push) Successful in 26s
Markdown linter / markdown-link-checker (push) Successful in 34s
Release / publish-chart (push) Failing after 19s
Markdown linter / markdown-lint (push) Successful in 45s
2025-06-03 22:11:02 +00:00
130ee5d49e refac(ci): add more logs into GitHub Actions
Some checks failed
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 14s
Release / publish-chart (push) Failing after 16s
2025-06-03 21:37:51 +02:00
be667bad1d refac(ci): cleanup GitHub Actions
Some checks failed
Helm / helm-unittest (push) Successful in 13s
Helm / helm-lint (push) Successful in 15s
Release / publish-chart (push) Failing after 26s
2025-06-03 21:34:02 +02:00
01614570f7 fix(scripts): adapt script parameter list
Some checks failed
Helm / helm-lint (push) Successful in 14s
Helm / helm-unittest (push) Successful in 16s
Release / publish-chart (push) Failing after 14s
2025-06-03 21:32:28 +02:00
6de5e9aa48 chore(ci): use actions/checkout to fetch tags
Some checks failed
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 13s
Release / publish-chart (push) Failing after 15s
2025-06-03 21:26:55 +02:00
2740175246 fix(scripts): exit when change log file is empty
Some checks failed
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 17s
Release / publish-chart (push) Failing after 14s
2025-06-03 21:14:26 +02:00
7caedbe80d fix(scripts): exit when change log file is empty
Some checks failed
Helm / helm-unittest (push) Waiting to run
Helm / helm-lint (push) Has been cancelled
2025-06-03 21:14:13 +02:00
eac8c552bb chore(chart): remove change log
All checks were successful
Helm / helm-lint (push) Successful in 11s
Helm / helm-unittest (push) Successful in 15s
Release / publish-chart (push) Successful in 18s
2025-06-03 21:04:09 +02:00
c4b209a1a4 chore(ci): change arguments of add-annotations.sh
All checks were successful
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 14s
Release / publish-chart (push) Successful in 18s
2025-06-03 20:53:45 +02:00
9cd56ac7f6 chore(ci): enforce to checkout git tag
All checks were successful
Helm / helm-unittest (push) Successful in 12s
Helm / helm-lint (push) Successful in 15s
Release / publish-chart (push) Successful in 25s
2025-06-03 20:46:41 +02:00
6425930268 chore(ci): checkout tags without pruning
Some checks failed
Helm / helm-lint (push) Successful in 11s
Helm / helm-unittest (push) Successful in 15s
Release / publish-chart (push) Failing after 12s
2025-06-03 20:39:08 +02:00
69c4b3dd4d chore(ci): checkout tags via git
Some checks failed
Helm / helm-lint (push) Successful in 11s
Helm / helm-unittest (push) Successful in 16s
Release / publish-chart (push) Failing after 14s
2025-06-03 20:33:39 +02:00
d56f5e65c7 chore(ci): fetch tags
All checks were successful
Helm / helm-unittest (push) Successful in 12s
Helm / helm-lint (push) Successful in 15s
Release / publish-chart (push) Successful in 26s
2025-06-03 20:19:07 +02:00
4229055965 chore(ci): print tags
All checks were successful
Helm / helm-unittest (push) Successful in 13s
Helm / helm-lint (push) Successful in 15s
Release / publish-chart (push) Successful in 23s
2025-06-03 20:10:37 +02:00
34edb19f8e chore(metadata): adapt link to binary
All checks were successful
Helm / helm-lint (push) Successful in 18s
Helm / helm-unittest (push) Successful in 24s
2025-06-03 20:04:52 +02:00
61020ff224 chore(metadata): add further Artifacthub.io annotations
All checks were successful
Helm / helm-unittest (push) Successful in 12s
Helm / helm-lint (push) Successful in 14s
2025-06-03 19:47:58 +02:00
bfdec6719a chore(license): publish under the MIT license
All checks were successful
Helm / helm-unittest (push) Successful in 12s
Helm / helm-lint (push) Successful in 15s
2025-06-03 19:41:09 +02:00
5 changed files with 73 additions and 37 deletions

View File

@ -4,13 +4,12 @@ set -e
CHART_FILE="Chart.yaml"
if [ ! -f "${CHART_FILE}" ]; then
echo "ERROR: ${CHART_FILE} not found!"
echo "ERROR: ${CHART_FILE} not found!" 1>&2
exit 1
fi
DEFAULT_NEW_TAG="$(git describe --abbrev=0)"
DEFAULT_OLD_TAG="$(git describe --abbrev=0 --tags "$(git rev-list --tags --skip=1 --max-count=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)"
if [ -z "${1}" ]; then
read -p "Enter start tag [${DEFAULT_OLD_TAG}]: " OLD_TAG
@ -19,7 +18,7 @@ if [ -z "${1}" ]; then
fi
while [ -z "$(git tag --list "${OLD_TAG}")" ]; do
echo "ERROR: Tag '${OLD_TAG}' not found!"
echo "ERROR: Tag '${OLD_TAG}' not found!" 1>&2
read -p "Enter start tag [${DEFAULT_OLD_TAG}]: " OLD_TAG
if [ -z "${OLD_TAG}" ]; then
OLD_TAG="${DEFAULT_OLD_TAG}"
@ -28,34 +27,35 @@ if [ -z "${1}" ]; then
else
OLD_TAG=${1}
if [ -z "$(git tag --list "${OLD_TAG}")" ]; then
echo "ERROR: Tag '${OLD_TAG}' not found!"
echo "ERROR: Tag '${OLD_TAG}' not found!" 1>&2
exit 1
fi
fi
if [ -z "${1}" ]; then
if [ -z "${2}" ]; then
read -p "Enter end tag [${DEFAULT_NEW_TAG}]: " NEW_TAG
if [ -z "${NEW_TAG}" ]; then
NEW_TAG="${DEFAULT_NEW_TAG}"
fi
while [ -z "$(git tag --list "${NEW_TAG}")" ]; do
echo "ERROR: Tag '${NEW_TAG}' not found!"
echo "ERROR: Tag '${NEW_TAG}' not found!" 1>&2
read -p "Enter end tag [${DEFAULT_NEW_TAG}]: " NEW_TAG
if [ -z "${NEW_TAG}" ]; then
NEW_TAG="${DEFAULT_NEW_TAG}"
fi
done
else
NEW_TAG=${1}
NEW_TAG=${2}
if [ -z "$(git tag --list "${NEW_TAG}")" ]; then
echo "ERROR: Tag '${NEW_TAG}' not found!"
echo "ERROR: Tag '${NEW_TAG}' not found!" 1>&2
exit 1
fi
fi
YAML_FILE=$(mktemp)
CHANGE_LOG_YAML=$(mktemp)
echo "[]" > "${CHANGE_LOG_YAML}"
function map_type_to_kind() {
case "${1}" in
@ -80,24 +80,35 @@ function map_type_to_kind() {
esac
}
COMMIT_TITLES=$(git log "${OLD_TAG}..${NEW_TAG}" --pretty=format:"%s")
COMMIT_TITLES="$(git log --pretty=format:"%s" "${OLD_TAG}..${NEW_TAG}")"
echo "INFO: Generate change log entries from ${OLD_TAG} until ${NEW_TAG}"
while IFS= read -r line; do
if [[ "${line}" =~ ^([a-zA-Z]+)(\([^\)]+\))?\:\ (.+)$ ]]; then
TYPE="${BASH_REMATCH[1]}"
KIND=$(map_type_to_kind "${TYPE}")
if [ "${TYPE}" == "skip" ]; then
if [ "${KIND}" == "skip" ]; then
continue
fi
DESC="${BASH_REMATCH[3]}"
KIND=$(map_type_to_kind "${TYPE}")
yq --inplace ". += [ {\"kind\": \"${KIND}\", \"description\": \"${DESC}\"}]" "${YAML_FILE}"
echo "- ${KIND}: ${DESC}"
jq --arg kind changed --arg description "$DESC" '. += [ $ARGS.named ]' < ${CHANGE_LOG_YAML} > ${CHANGE_LOG_YAML}.new
mv ${CHANGE_LOG_YAML}.new ${CHANGE_LOG_YAML}
fi
done <<< "${COMMIT_TITLES}"
yq --no-colors --inplace ".annotations.\"artifacthub.io/changes\" |= loadstr(\"${YAML_FILE}\") | sort_keys(.)" "${CHART_FILE}"
yq --no-colors --inplace ".version = \"${NEW_TAG}\"" "${CHART_FILE}"
if [ -s "${CHANGE_LOG_YAML}" ]; then
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}"
else
echo "ERROR: Changelog file is empty: ${CHANGE_LOG_YAML}" 1>&2
exit 1
fi
rm "${YAML_FILE}"
rm "${CHANGE_LOG_YAML}"

View File

@ -14,16 +14,17 @@ jobs:
- name: Install tooling
run: |
apk update
apk add git npm yq
apk add git npm jq yq
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Add Artifacthub.io annotations
run: |
NEW_TAG="$(git describe --abbrev=0)"
OLD_TAG="$(git describe --abbrev=0 --tags "$(git rev-list --tags --skip=1 --max-count=1)")"
.gitea/scripts/add-annotations.sh "${NEW_TAG}" "${OLD_TAG}"
NEW_TAG="$(git tag --sort=-version:refname | head -n 1)"
OLD_TAG="$(git tag --sort=-version:refname | head -n 2 | tail -n 1)"
.gitea/scripts/add-annotations.sh "${OLD_TAG}" "${NEW_TAG}"
- name: Package chart
env:

View File

@ -1,18 +1,21 @@
annotations:
artifacthub.io/links: |
- name: Prometheus Fail2Ban exporter (binary)
url: https://git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter
- name: support
url: https://git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter-charts/issues
apiVersion: v2
name: prometheus-fail2ban-exporter
description: Prometheus metric exporter for Fail2Ban
type: application
version: "0.1.0"
appVersion: "0.1.1"
description: Prometheus metric exporter for Fail2Ban
# icon: https://annotations.example.com/icon.png
keywords:
- prometheus
- prometheus-exporter
- prometheus-fail2ban-exporter
- fail2ban-exporter
- prometheus
- prometheus-exporter
- prometheus-fail2ban-exporter
- fail2ban-exporter
name: prometheus-fail2ban-exporter
sources:
- https://git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter-charts
- https://git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter
- https://git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter-charts
- https://git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter
type: application
version: "0.4.1"

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 Markus Pesch
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -42,7 +42,7 @@ version of the chart must be in sync with the `values.yaml`. Newer *minor* versi
versions can break something!
```bash
CHART_VERSION=0.4.0
CHART_VERSION=0.4.16
helm show values prometheus-exporters/prometheus-fail2ban-exporter --version "${CHART_VERSION}" > values.yaml
```