28 Commits

Author SHA1 Message Date
f54f1aca01 feat(pod): support roll deployment for external TLS certificates
All checks were successful
Helm / helm-lint (push) Successful in 4s
Helm / helm-unittest (push) Successful in 18s
Release / publish-chart (push) Successful in 19s
2025-11-30 13:58:34 +01:00
502c78296e fix(pod): pipe secret correctly to func sha256sum
The privious implemented feature pipe the secret not correctly to the sha256sum
function. This leads everytime to the same sha256 sum.

This patch fixes this bug.
2025-11-30 13:49:15 +01:00
28c1e37e13 chore(deps): rollback docker docker.io/volkerraschek/helm to 3.19.2
All checks were successful
Helm / helm-unittest (push) Successful in 9s
Helm / helm-lint (push) Successful in 10s
Release / publish-chart (push) Successful in 8s
2025-11-30 13:35:56 +01:00
757469762b feat(pod): roll deployment for TLS certificates
Some checks failed
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 9s
Release / publish-chart (push) Failing after 6s
The patch add the annotation `checksum/secret-<name of the TLS secret>` with the
sha512 value of the secret. This ensures a rolling update if the TLS secrets has
been updated. Such an update can be triggered by the cert-manager.
2025-11-30 13:33:50 +01:00
f1a47dc0a5 Merge pull request 'chore(deps): update docker.io/volkerraschek/helm docker tag to v4' (#108) from renovate/major-update-docker.iovolkerraschekhelm into master
All checks were successful
Helm / helm-unittest (push) Successful in 7s
Helm / helm-lint (push) Successful in 9s
Reviewed-on: #108
2025-11-30 11:26:09 +00:00
d86bf91491 Merge branch 'master' into renovate/major-update-docker.iovolkerraschekhelm
All checks were successful
Helm / helm-lint (push) Successful in 4s
Helm / helm-unittest (push) Successful in 7s
Helm / helm-lint (pull_request) Successful in 10s
Helm / helm-unittest (pull_request) Successful in 6s
2025-11-30 11:25:42 +00:00
de615c2ff5 Merge pull request 'chore(deps): update dependency helm/helm to v4.0.1' (#114) from renovate/helm-helm-4.x into master
All checks were successful
Helm / helm-lint (push) Successful in 4s
Helm / helm-unittest (push) Successful in 18s
Reviewed-on: #114
2025-11-30 11:25:34 +00:00
34839d0e4d Merge pull request 'chore(deps): update azure/setup-helm action to v4.3.1' (#113) from renovate/actions into master
All checks were successful
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 8s
2025-11-30 11:01:34 +00:00
80d3b9972b chore(deps): update docker.io/volkerraschek/helm docker tag to v4
All checks were successful
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 7s
Generate README / generate-parameters (push) Successful in 29s
Markdown linter / markdown-link-checker (push) Successful in 11s
Generate README / generate-parameters (pull_request) Successful in 9s
Helm / helm-lint (pull_request) Successful in 4s
Helm / helm-unittest (pull_request) Successful in 7s
Markdown linter / markdown-lint (push) Successful in 29s
Markdown linter / markdown-link-checker (pull_request) Successful in 11s
Markdown linter / markdown-lint (pull_request) Successful in 29s
2025-11-30 11:01:13 +00:00
080965d513 chore(deps): update dependency helm/helm to v4.0.1
All checks were successful
Helm / helm-unittest (push) Successful in 8s
Helm / helm-lint (pull_request) Successful in 4s
Helm / helm-lint (push) Successful in 14s
Helm / helm-unittest (pull_request) Successful in 8s
2025-11-30 11:01:07 +00:00
07700a2952 chore(deps): update azure/setup-helm action to v4.3.1
All checks were successful
Helm / helm-unittest (push) Successful in 12s
Helm / helm-lint (pull_request) Successful in 5s
Helm / helm-lint (push) Successful in 26s
Helm / helm-unittest (pull_request) Successful in 7s
2025-11-30 11:00:59 +00:00
0113b21af9 docs(README): adapt stakaters reloader example
All checks were successful
Helm / helm-lint (push) Successful in 4s
Helm / helm-unittest (push) Successful in 9s
Markdown linter / markdown-link-checker (push) Successful in 16s
Generate README / generate-parameters (push) Successful in 40s
Markdown linter / markdown-lint (push) Successful in 9s
2025-11-30 11:54:50 +01:00
74b45790bf fix(ci): replace volkerraschek/helm with native GitHub Actions
All checks were successful
Helm / helm-unittest (push) Successful in 7s
Helm / helm-lint (push) Successful in 10s
2025-11-30 11:24:14 +01:00
69ac64d858 Merge pull request 'chore(deps): update dependency markdown-link-check to v3.14.2' (#112) from renovate/markdown-link-check-3.x-lockfile into master
All checks were successful
Helm / helm-lint (push) Successful in 14s
Helm / helm-unittest (push) Successful in 16s
2025-11-19 17:01:50 +00:00
38b5dbf355 chore(deps): update dependency markdown-link-check to v3.14.2
All checks were successful
Helm / helm-lint (push) Successful in 8s
Helm / helm-lint (pull_request) Successful in 5s
Helm / helm-unittest (push) Successful in 16s
Helm / helm-unittest (pull_request) Successful in 6s
2025-11-19 17:01:20 +00:00
a164371601 Merge pull request 'chore(deps): update dependency markdownlint-cli to ^0.46.0' (#111) from renovate/markdownlint-cli-0.x into master
All checks were successful
Helm / helm-lint (push) Successful in 14s
Helm / helm-unittest (push) Successful in 17s
2025-11-19 05:02:07 +00:00
f5a6fe056e chore(deps): update dependency markdownlint-cli to ^0.46.0
All checks were successful
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 6s
Helm / helm-lint (pull_request) Successful in 6s
Helm / helm-unittest (pull_request) Successful in 18s
2025-11-19 05:01:18 +00:00
3e8d15cf51 Merge pull request 'chore(deps): update docker.io/library/node docker tag to v25.2.1' (#110) from renovate/update-docker.iolibrarynode into master
All checks were successful
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 16s
2025-11-17 17:21:49 +00:00
df1043b80d Merge pull request 'chore(deps): update actions/checkout action to v5.0.1' (#109) from renovate/actions into master
Some checks failed
Helm / helm-lint (push) Has been cancelled
Helm / helm-unittest (push) Has been cancelled
2025-11-17 17:21:30 +00:00
20910d2d0f chore(deps): update docker.io/library/node docker tag to v25.2.1
All checks were successful
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 7s
Helm / helm-lint (pull_request) Successful in 7s
Helm / helm-unittest (pull_request) Successful in 17s
2025-11-17 17:02:46 +00:00
ec201021b2 chore(deps): update actions/checkout action to v5.0.1
All checks were successful
Helm / helm-unittest (push) Successful in 7s
Helm / helm-lint (push) Successful in 14s
Helm / helm-lint (pull_request) Successful in 5s
Helm / helm-unittest (pull_request) Successful in 17s
2025-11-17 17:02:40 +00:00
3f82552882 Merge pull request 'chore(deps): update docker.io/volkerraschek/helm docker tag to v3.19.2' (#107) from renovate/update-docker.iovolkerraschekhelm into master
All checks were successful
Helm / helm-unittest (push) Successful in 6s
Helm / helm-lint (push) Successful in 14s
2025-11-12 21:09:27 +00:00
c4196dc2f2 chore(deps): update docker.io/volkerraschek/helm docker tag to v3.19.2
All checks were successful
Helm / helm-unittest (push) Successful in 12s
Helm / helm-lint (pull_request) Successful in 5s
Helm / helm-unittest (pull_request) Successful in 6s
Helm / helm-lint (push) Successful in 28s
2025-11-12 21:08:55 +00:00
d364d1a2b6 Merge pull request 'chore(deps): update docker.io/library/node docker tag to v25.2.0' (#106) from renovate/update-docker.iolibrarynode into master
All checks were successful
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 17s
2025-11-12 20:01:48 +00:00
4ca2d29172 chore(deps): update docker.io/library/node docker tag to v25.2.0
All checks were successful
Helm / helm-lint (push) Successful in 7s
Helm / helm-lint (pull_request) Successful in 6s
Helm / helm-unittest (pull_request) Successful in 6s
Helm / helm-unittest (push) Successful in 18s
2025-11-12 20:01:20 +00:00
c8e234ff24 Merge pull request 'chore(deps): update docker.io/library/node docker tag to v25.1.0' (#105) from renovate/update-docker.iolibrarynode into master
All checks were successful
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 15s
2025-10-29 17:01:40 +00:00
cedb98c64c chore(deps): update docker.io/library/node docker tag to v25.1.0
All checks were successful
Helm / helm-lint (push) Successful in 6s
Helm / helm-lint (pull_request) Successful in 7s
Helm / helm-unittest (push) Successful in 17s
Helm / helm-unittest (pull_request) Successful in 7s
2025-10-29 17:01:11 +00:00
51facd6e1c docs(README): add example for outgoing SSH traffic
All checks were successful
Generate README / generate-parameters (push) Successful in 29s
Helm / helm-lint (push) Successful in 14s
Helm / helm-unittest (push) Successful in 17s
Markdown linter / markdown-link-checker (push) Successful in 31s
Markdown linter / markdown-lint (push) Successful in 27s
2025-10-22 18:13:33 +02:00
11 changed files with 250 additions and 643 deletions

View File

@@ -15,15 +15,14 @@ on:
jobs:
generate-parameters:
container:
image: docker.io/library/node:25.0.0-alpine
runs-on:
- ubuntu-latest
image: docker.io/library/node:25.2.1-alpine
runs-on: ubuntu-latest
steps:
- name: Install tooling
run: |
apk update
apk add git npm
- uses: actions/checkout@v5.0.0
- uses: actions/checkout@v5.0.1
- name: Generate parameter section in README
run: |
npm install

View File

@@ -12,31 +12,26 @@ on:
jobs:
helm-lint:
container:
image: docker.io/volkerraschek/helm:3.19.0
runs-on:
- ubuntu-latest
runs-on: ubuntu-latest
steps:
- name: Install tooling
run: |
apk update
apk add git npm
- uses: actions/checkout@v5.0.0
- uses: actions/checkout@v5.0.1
- uses: azure/setup-helm@v4.3.1
with:
version: v4.0.1 # renovate: datasource=github-releases depName=helm/helm
- name: Lint helm files
run: |
helm lint --values values.yaml .
helm-unittest:
container:
image: docker.io/volkerraschek/helm:3.19.0
runs-on:
- ubuntu-latest
runs-on: ubuntu-latest
steps:
- name: Install tooling
run: |
apk update
apk add git npm
- uses: actions/checkout@v5.0.0
- name: Unittest
run: |
helm unittest --strict --file 'unittests/**/*.yaml' ./
- uses: actions/checkout@v5.0.1
- uses: azure/setup-helm@v4.3.1
with:
version: v4.0.1 # renovate: datasource=github-releases depName=helm/helm
- env:
HELM_UNITTEST_VERSION: v1.0.0 #renovate: datasource=github-releases depName=helm-unittest/helm-unittest
name: Install helm-unittest
run: helm plugin install --verify=false --version "${HELM_UNITTEST_VERSION}" https://github.com/helm-unittest/helm-unittest
- name: Execute helm unittests
run: helm unittest --strict --file 'unittests/**/*.yaml' .

View File

@@ -15,15 +15,14 @@ on:
jobs:
markdown-link-checker:
container:
image: docker.io/library/node:25.0.0-alpine
runs-on:
- ubuntu-latest
image: docker.io/library/node:25.2.1-alpine
runs-on: ubuntu-latest
steps:
- name: Install tooling
run: |
apk update
apk add git npm
- uses: actions/checkout@v5.0.0
- uses: actions/checkout@v5.0.1
- name: Verify links in markdown files
run: |
npm install
@@ -31,15 +30,14 @@ jobs:
markdown-lint:
container:
image: docker.io/library/node:25.0.0-alpine
runs-on:
- ubuntu-latest
image: docker.io/library/node:25.2.1-alpine
runs-on: ubuntu-latest
steps:
- name: Install tooling
run: |
apk update
apk add git
- uses: actions/checkout@v5.0.0
- uses: actions/checkout@v5.0.1
- name: Lint markdown files
run: |
npm install

View File

@@ -8,7 +8,7 @@ on:
jobs:
publish-chart:
container:
image: docker.io/volkerraschek/helm:3.19.0
image: docker.io/volkerraschek/helm:3.19.2
runs-on: ubuntu-latest
steps:
- name: Install packages via apk
@@ -16,7 +16,7 @@ jobs:
apk update
apk add git npm jq yq
- uses: actions/checkout@v5.0.0
- uses: actions/checkout@v5.0.1
with:
fetch-depth: 0

View File

@@ -10,7 +10,7 @@ HELM_IMAGE_FULLY_QUALIFIED=${HELM_IMAGE_REGISTRY_HOST}/${HELM_IMAGE_REPOSITORY}:
# NODE_IMAGE
NODE_IMAGE_REGISTRY_HOST?=docker.io
NODE_IMAGE_REPOSITORY?=library/node
NODE_IMAGE_VERSION?=25.0.0-alpine # renovate: datasource=docker registryUrl=https://docker.io depName=docker.io/library/node packageName=library/node
NODE_IMAGE_VERSION?=25.2.1-alpine # renovate: datasource=docker registryUrl=https://docker.io depName=docker.io/library/node packageName=library/node
NODE_IMAGE_FULLY_QUALIFIED=${NODE_IMAGE_REGISTRY_HOST}/${NODE_IMAGE_REPOSITORY}:${NODE_IMAGE_VERSION}
# MISSING DOT

View File

@@ -1,4 +1,4 @@
# athens-proxy-charts
# Athens - A Go module datastore and proxy
[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/volker-raschek)](https://artifacthub.io/packages/search?repo=volker-raschek)
@@ -120,18 +120,13 @@ before expiring.
Until the exporter does not support rotating TLS certificate a workaround can be applied. For example stakater's
[reloader](https://github.com/stakater/Reloader) controller can be used to trigger a rolling update. The following
annotation must be added to instruct the reloader controller to trigger a rolling update, when the mounted configMaps
and secrets have been changed.
annotation must be added to instruct the reloader controller to trigger a rolling update, when the mounted secret has
been changed.
```yaml
deployment:
annotations:
reloader.stakater.com/auto: "true"
```
Instead of triggering a rolling update for configMap and secret resources, this action can also be defined for
individual items. For example, when the secret named `athens-proxy-tls` is mounted and the reloader controller should
only listen for changes of this secret:
> [!IMPORTANT]
> The Helm chart already adds annotations to trigger a rolling release. Helm describes this approach under
> [Automatically Roll Deployments](https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments).
> For this reason, **only external** configMaps or secrets need to be monitored by reloader.
```yaml
deployment:
@@ -149,8 +144,8 @@ stakater's reloader.
```diff
deployment:
annotations:
reloader.stakater.com/auto: "true"
+ reloader.stakater.com/rollout-strategy: "restart"
secret.reloader.stakater.com/reload: "athens-proxy-tls"
```
#### Network policies
@@ -188,6 +183,9 @@ networkPolicies:
protocol: TCP
- port: 53
protocol: UDP
- ports:
- port: 22
protocol: TCP
- ports:
- port: 443
protocol: TCP

749
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -16,6 +16,6 @@
"devDependencies": {
"@bitnami/readme-generator-for-helm": "^2.5.0",
"markdown-link-check": "^3.13.6",
"markdownlint-cli": "^0.45.0"
"markdownlint-cli": "^0.46.0"
}
}

View File

@@ -4,6 +4,14 @@
{{- define "athens-proxy.pod.annotations" }}
{{- include "athens-proxy.annotations" . }}
{{- if and .Values.certificate.enabled }}
{{- $secretName := include "athens-proxy.certificates.server.name" $ }}
{{- if and .Values.certificate.existingSecret.enabled (gt (len .Values.certificate.existingSecret.secretName) 0) }}
{{- $secretName = .Values.certificate.existingSecret.secretName }}
{{- end }}
{{- $secret := lookup "v1" "Secret" .Release.Namespace $secretName }}
{{ printf "checksum/secret-%s: %s" $secretName ($secret | toYaml | sha256sum) }}
{{- end }}
{{- if and .Values.config.env.enabled (not .Values.config.env.existingSecret.enabled) }}
{{ printf "checksum/secret-%s: %s" (include "athens-proxy.secrets.env.name" $) (include (print $.Template.BasePath "/secretEnv.yaml") . | sha256sum) }}
{{- end }}
@@ -21,8 +29,6 @@
{{- end }}
{{- end }}
{{/* labels */}}
{{- define "athens-proxy.pod.labels" -}}

View File

@@ -46,6 +46,44 @@ tests:
certificate.new.issuerRef.kind: ClusterIssuer
certificate.new.issuerRef.name: MyIssuer
asserts:
- exists:
path: spec.template.metadata.annotations["checksum/secret-athens-proxy-unittest-tls"]
template: templates/deployment.yaml
- contains:
path: spec.template.spec.containers[0].env
content:
name: ATHENS_TLSCERT_FILE
value: /etc/athens-proxy/tls/tls.crt
template: templates/deployment.yaml
- contains:
path: spec.template.spec.containers[0].env
content:
name: ATHENS_TLSKEY_FILE
value: /etc/athens-proxy/tls/tls.key
template: templates/deployment.yaml
- contains:
path: spec.template.spec.containers[0].volumeMounts
content:
name: tls
mountPath: /etc/athens-proxy/tls
template: templates/deployment.yaml
- contains:
path: spec.template.spec.volumes
content:
name: tls
secret:
secretName: athens-proxy-unittest-tls
template: templates/deployment.yaml
- it: Rendering with external TLS config
set:
certificate.enabled: true
certificate.existingSecret.enabled: true
certificate.existingSecret.secretName: my-own-secret
asserts:
- exists:
path: spec.template.metadata.annotations["checksum/secret-my-own-secret"]
template: templates/deployment.yaml
- contains:
path: spec.template.spec.containers[0].env
content:

View File

@@ -590,6 +590,12 @@ networkPolicy:
# - Egress
# - Ingress
egress: []
# Allow outgoing SSH traffic to Source Code Control System's (SCCS') like GitHub or GitLab.
#
# - ports:
# - port: 22
# protocol: TCP
# Allow outgoing HTTPS traffic to external go module servers
#
# - ports: