Compare commits

...
95 Commits
Author SHA1 Message Date
CSRBot 4858bbfea8 Merge pull request 'chore(deps): update dependency helm to v4.2.4' (#187) from renovate/helm-4.x into master
Helm / helm-lint (push) Successful in 7s
Helm / helm-unittest (push) Successful in 40s
2026-08-13 18:05:25 +00:00
CSRBot b224d1b699 chore(deps): update dependency helm to v4.2.4
Helm / helm-lint (push) Successful in 8s
Helm / helm-lint (pull_request) Successful in 7s
Helm / helm-unittest (push) Successful in 29s
Helm / helm-unittest (pull_request) Successful in 18s
2026-08-13 18:04:33 +00:00
CSRBot a17b503955 Merge pull request 'chore(deps): update dependency helm/helm to v4.2.4' (#186) from renovate/helm-helm-4.x into master
Helm / helm-unittest (push) Successful in 29s
Helm / helm-lint (push) Successful in 7s
2026-08-13 15:05:46 +00:00
CSRBot 3f416bdd8f chore(deps): update dependency helm/helm to v4.2.4
Helm / helm-lint (push) Successful in 13s
Helm / helm-unittest (push) Successful in 20s
Helm / helm-lint (pull_request) Successful in 12s
Helm / helm-unittest (pull_request) Successful in 17s
2026-08-13 15:04:48 +00:00
CSRBot 992a105ee7 Merge pull request 'chore(deps): update dependency sigstore/cosign to v3.1.3' (#184) from renovate/sigstore-cosign-3.x into master
Helm / helm-lint (push) Successful in 7s
Helm / helm-unittest (push) Successful in 48s
2026-08-09 21:05:10 +00:00
CSRBot d6d2f7f632 chore(deps): update dependency sigstore/cosign to v3.1.3
Helm / helm-lint (push) Successful in 10s
Helm / helm-unittest (push) Successful in 21s
Helm / helm-lint (pull_request) Successful in 14s
Helm / helm-unittest (pull_request) Successful in 18s
2026-08-09 21:04:19 +00:00
CSRBot d7a9ceece9 Merge pull request 'chore(deps): update docker.io/library/node docker tag to v26.7.0' (#185) from renovate/update-docker.iolibrarynode into master
Helm / helm-lint (push) Successful in 11s
Helm / helm-unittest (push) Successful in 26s
2026-08-09 18:13:29 +00:00
CSRBot 8aa240b695 chore(deps): update docker.io/library/node docker tag to v26.7.0
Helm / helm-lint (pull_request) Successful in 11s
Helm / helm-lint (push) Successful in 14s
Helm / helm-unittest (push) Successful in 44s
Helm / helm-unittest (pull_request) Successful in 27s
2026-08-09 18:09:03 +00:00
CSRBot 7f330b714c Merge pull request 'chore(deps): update docker.io/library/node docker tag to v26.5.1' (#183) from renovate/update-docker.iolibrarynode into master
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 23s
2026-07-30 21:05:29 +00:00
CSRBot 6097ff6ff6 chore(deps): update docker.io/library/node docker tag to v26.5.1
Helm / helm-lint (push) Successful in 11s
Helm / helm-unittest (push) Successful in 17s
Helm / helm-lint (pull_request) Successful in 12s
Helm / helm-unittest (pull_request) Successful in 16s
2026-07-30 21:04:43 +00:00
CSRBot 53325928e9 Merge pull request 'chore(deps): update dependency markdown-link-check to v3.15.0' (#181) from renovate/markdown-link-check-3.x-lockfile into master
Helm / helm-lint (push) Successful in 7s
Helm / helm-unittest (push) Successful in 26s
2026-07-29 21:07:25 +00:00
CSRBot f4aef66fee chore(deps): update dependency markdown-link-check to v3.15.0
Helm / helm-unittest (push) Successful in 30s
Helm / helm-lint (push) Successful in 12s
Helm / helm-lint (pull_request) Successful in 10s
Helm / helm-unittest (pull_request) Successful in 19s
2026-07-29 18:11:19 +00:00
CSRBot 3e8ed11eab Merge pull request 'chore(deps): update docker/login-action action to v4.6.0' (#182) from renovate/docker-login-action-4.x into master
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 16s
2026-07-29 15:42:27 +00:00
CSRBot a8e0f00711 chore(deps): update docker/login-action action to v4.6.0
Helm / helm-lint (push) Successful in 11s
Helm / helm-unittest (push) Successful in 26s
Helm / helm-lint (pull_request) Successful in 13s
Helm / helm-unittest (pull_request) Successful in 28s
2026-07-29 15:09:36 +00:00
CSRBot 4d17780ff4 Merge pull request 'chore(deps): update docker/login-action action to v4.5.2' (#180) from renovate/docker-login-action-4.x into master
Helm / helm-lint (push) Successful in 7s
Helm / helm-unittest (push) Successful in 20s
2026-07-28 09:13:37 +00:00
CSRBot 0eba0da597 chore(deps): update docker/login-action action to v4.5.2
Helm / helm-lint (push) Successful in 14s
Helm / helm-unittest (push) Successful in 30s
Helm / helm-lint (pull_request) Successful in 12s
Helm / helm-unittest (pull_request) Successful in 25s
2026-07-28 09:04:46 +00:00
CSRBot 1c44f343c1 Merge pull request 'chore(deps): update update helm plugins to v1.1.2' (#179) from renovate/update-helm-plugins into master
Helm / helm-unittest (push) Successful in 17s
Helm / helm-lint (push) Successful in 6s
2026-07-24 18:09:43 +00:00
CSRBot 1c382831fd chore(deps): update update helm plugins to v1.1.2
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (push) Successful in 26s
Helm / helm-lint (pull_request) Successful in 12s
Helm / helm-unittest (pull_request) Successful in 29s
2026-07-24 18:04:21 +00:00
CSRBot 241247781d Merge pull request 'chore(deps): update docker/login-action action to v4.5.1' (#178) from renovate/docker-login-action-4.x into master
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 15s
2026-07-24 15:12:58 +00:00
CSRBot a498cc0ba1 chore(deps): update docker/login-action action to v4.5.1
Helm / helm-unittest (push) Successful in 25s
Helm / helm-lint (pull_request) Successful in 12s
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (pull_request) Successful in 23s
2026-07-24 15:05:06 +00:00
CSRBot 42048266d8 Merge pull request 'chore(deps): update docker/login-action action to v4.5.0' (#177) from renovate/docker-login-action-4.x into master
Helm / helm-unittest (push) Successful in 16s
Helm / helm-lint (push) Successful in 5s
2026-07-23 18:12:42 +00:00
CSRBot c64935b054 chore(deps): update docker/login-action action to v4.5.0
Helm / helm-lint (push) Successful in 11s
Helm / helm-unittest (push) Successful in 26s
Helm / helm-lint (pull_request) Successful in 11s
Helm / helm-unittest (pull_request) Successful in 25s
2026-07-23 18:04:28 +00:00
CSRBot 66cace7ddc Merge pull request 'chore(deps): update actions/checkout action to v6.1.0' (#176) from renovate/actions-checkout-6.x into master
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 16s
2026-07-20 18:45:54 +00:00
CSRBot 3ef3d6dd3b chore(deps): update actions/checkout action to v6.1.0
Helm / helm-lint (push) Successful in 7s
Helm / helm-unittest (push) Successful in 16s
Helm / helm-lint (pull_request) Successful in 6s
Helm / helm-unittest (pull_request) Successful in 16s
2026-07-20 18:09:06 +00:00
CSRBot ad6cc16d9c Merge pull request 'chore(deps): pin dependencies' (#174) from renovate/pin-dependencies into master
Helm / helm-lint (push) Successful in 7s
Helm / helm-unittest (push) Successful in 28s
2026-07-19 10:47:24 +00:00
CSRBot a428bdc47d chore(deps): pin dependencies
Helm / helm-unittest (pull_request) Successful in 15s
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 16s
Helm / helm-lint (pull_request) Successful in 5s
2026-07-17 21:05:08 +00:00
CSRBot a71619c727 Merge pull request 'chore(deps): update dependency sigstore/cosign to v3.1.2' (#175) from renovate/sigstore-cosign-3.x into master
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 25s
2026-07-17 18:11:08 +00:00
CSRBot 5d34f13333 chore(deps): update dependency sigstore/cosign to v3.1.2
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 18s
Helm / helm-lint (pull_request) Successful in 7s
Helm / helm-unittest (pull_request) Successful in 21s
2026-07-17 18:05:03 +00:00
CSRBot b369eb024d Merge pull request 'chore(deps): update dependency markdownlint-cli to v0.49.1' (#173) from renovate/markdownlint-cli-0.x-lockfile into master
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 30s
2026-07-15 00:09:18 +00:00
CSRBot 4aa7fc12da chore(deps): update dependency markdownlint-cli to v0.49.1
Helm / helm-lint (push) Successful in 12s
Helm / helm-lint (pull_request) Successful in 11s
Helm / helm-unittest (push) Successful in 22s
Helm / helm-unittest (pull_request) Successful in 29s
2026-07-15 00:08:15 +00:00
CSRBot 9da2ce9bb4 Merge pull request 'chore(deps): update dependency volker.raschek/athens-proxy-charts to v2.0.3' (#172) from renovate/volker.raschek-athens-proxy-charts-2.x into master
Markdown linter / markdown-lint (push) Successful in 34s
Generate README / generate-parameters (push) Successful in 26s
Helm / helm-lint (push) Successful in 13s
Helm / helm-unittest (push) Successful in 37s
Markdown linter / markdown-link-checker (push) Successful in 36s
2026-07-13 12:07:05 +00:00
CSRBot 363e81fe7f chore(deps): update dependency volker.raschek/athens-proxy-charts to v2.0.3
Helm / helm-lint (push) Successful in 13s
Helm / helm-unittest (push) Successful in 34s
Generate README / generate-parameters (push) Successful in 1m1s
Markdown linter / markdown-link-checker (push) Successful in 40s
Markdown linter / markdown-lint (push) Successful in 25s
Helm / helm-lint (pull_request) Successful in 5s
Generate README / generate-parameters (pull_request) Successful in 1m27s
Helm / helm-unittest (pull_request) Successful in 22s
Markdown linter / markdown-link-checker (pull_request) Successful in 50s
Markdown linter / markdown-lint (pull_request) Successful in 24s
2026-07-13 12:04:21 +00:00
volker.raschek 5a928cdf8c chore(deps): update volker-raschek/cosign-installer to v4.1.3-rc3
Helm / helm-lint (push) Successful in 7s
Helm / helm-unittest (push) Successful in 35s
Release / publish-chart (push) Successful in 3m1s
2026-07-13 12:22:32 +02:00
CSRBotandvolker.raschek b5c3e8eb83 chore(deps): update dependency losisin/helm-values-schema-json to v2.5.0
Helm / helm-lint (push) Successful in 11s
Helm / helm-unittest (push) Successful in 20s
Release / publish-chart (push) Failing after 5s
2026-07-13 09:35:42 +00:00
volker.raschek ae68fe28ba chore(deps): update volker-raschek/cosign-installer to v4.1.3-rc2
Helm / helm-lint (push) Successful in 11s
Helm / helm-unittest (push) Successful in 24s
2026-07-13 11:18:32 +02:00
CSRBot 0347e3dc0a Merge pull request 'chore(deps): update oras-project/setup-oras action to v2.0.1' (#171) from renovate/oras-project-setup-oras-2.x into master
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 19s
2026-07-11 18:04:15 +00:00
CSRBot e96ee64d1d chore(deps): update oras-project/setup-oras action to v2.0.1
Helm / helm-lint (push) Successful in 7s
Helm / helm-lint (pull_request) Successful in 5s
Helm / helm-unittest (push) Successful in 27s
Helm / helm-unittest (pull_request) Successful in 20s
2026-07-11 18:03:35 +00:00
CSRBot c2b4c4247d Merge pull request 'chore(deps): update dependency oras-project/oras to v1.3.3' (#170) from renovate/oras-project-oras-1.x into master
Helm / helm-lint (push) Successful in 7s
Helm / helm-unittest (push) Successful in 20s
2026-07-10 21:04:34 +00:00
CSRBot b59e12f7b3 chore(deps): update dependency oras-project/oras to v1.3.3
Helm / helm-lint (push) Successful in 7s
Helm / helm-lint (pull_request) Successful in 7s
Helm / helm-unittest (push) Successful in 31s
Helm / helm-unittest (pull_request) Successful in 29s
2026-07-10 21:03:43 +00:00
CSRBot 88ade88834 Merge pull request 'chore(deps): update dependency helm/helm to v4.2.3' (#169) from renovate/helm-helm-4.x into master
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 28s
2026-07-09 21:05:24 +00:00
CSRBot 6b39f33f7e chore(deps): update dependency helm/helm to v4.2.3
Helm / helm-lint (push) Successful in 25s
Helm / helm-lint (pull_request) Successful in 5s
Helm / helm-unittest (push) Successful in 48s
Helm / helm-unittest (pull_request) Successful in 26s
2026-07-09 21:04:16 +00:00
CSRBot d333aabb87 Merge pull request 'chore(deps): update docker.io/library/node docker tag to v26.5.0' (#168) from renovate/update-docker.iolibrarynode into master
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (push) Successful in 21s
2026-07-08 18:04:52 +00:00
CSRBot 9d4d8f0038 chore(deps): update docker.io/library/node docker tag to v26.5.0
Helm / helm-lint (push) Successful in 6s
Helm / helm-lint (pull_request) Successful in 12s
Helm / helm-unittest (push) Successful in 20s
Helm / helm-unittest (pull_request) Successful in 29s
2026-07-08 18:03:50 +00:00
CSRBot da067287c9 Merge pull request 'chore(deps): update docker/login-action action to v4.4.0' (#167) from renovate/docker-login-action-4.x into master
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 26s
2026-07-03 15:11:24 +00:00
CSRBot e0199a049b chore(deps): update docker/login-action action to v4.4.0
Helm / helm-unittest (pull_request) Successful in 30s
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (push) Successful in 29s
Helm / helm-lint (pull_request) Successful in 10s
2026-07-03 15:04:00 +00:00
CSRBot e54844bace Merge pull request 'chore(deps): update docker/login-action action to v4.3.0' (#166) from renovate/docker-login-action-4.x into master
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 13s
2026-07-02 19:01:47 +00:00
CSRBot c7e3f39b2a chore(deps): update docker/login-action action to v4.3.0
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 16s
Helm / helm-lint (pull_request) Successful in 5s
Helm / helm-unittest (pull_request) Successful in 13s
2026-07-02 18:05:21 +00:00
CSRBot 0422602203 Merge pull request 'chore(deps): update docker.io/library/node docker tag to v26.4.0' (#165) from renovate/update-docker.iolibrarynode into master
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 27s
2026-06-25 18:05:00 +00:00
CSRBot 140feee74a chore(deps): update docker.io/library/node docker tag to v26.4.0
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (pull_request) Successful in 18s
Helm / helm-unittest (push) Successful in 21s
Helm / helm-lint (pull_request) Successful in 13s
2026-06-25 18:04:09 +00:00
CSRBot 8f3b1aa4b5 Merge pull request 'chore(deps): update azure/setup-helm action to v5.0.1' (#164) from renovate/azure-setup-helm-5.x into master
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 26s
2026-06-23 21:05:30 +00:00
CSRBot 497e727f74 chore(deps): update azure/setup-helm action to v5.0.1
Helm / helm-lint (push) Successful in 30s
Helm / helm-lint (pull_request) Successful in 6s
Helm / helm-unittest (pull_request) Successful in 27s
Helm / helm-unittest (push) Successful in 1m6s
2026-06-23 21:04:17 +00:00
CSRBot 5eddb5e2cd Merge pull request 'chore(deps): update docker.io/library/node docker tag to v26.3.1' (#162) from renovate/update-docker.iolibrarynode into master
Helm / helm-lint (push) Successful in 7s
Helm / helm-unittest (push) Successful in 13s
2026-06-18 15:05:12 +00:00
CSRBot 60bf3bf8cb chore(deps): update docker.io/library/node docker tag to v26.3.1
Helm / helm-lint (push) Successful in 6s
Helm / helm-lint (pull_request) Successful in 7s
Helm / helm-unittest (push) Successful in 24s
Helm / helm-unittest (pull_request) Successful in 15s
2026-06-18 15:04:21 +00:00
CSRBot be97f6d602 Merge pull request 'chore(deps): update dependency helm/helm to v4.2.2' (#159) from renovate/helm-helm-4.x into master
Helm / helm-lint (push) Successful in 10s
Helm / helm-unittest (push) Successful in 23s
2026-06-18 00:03:26 +00:00
CSRBot e40c097800 chore(deps): update dependency helm/helm to v4.2.2
Helm / helm-lint (push) Successful in 12s
Helm / helm-lint (pull_request) Successful in 6s
Helm / helm-unittest (pull_request) Successful in 16s
Helm / helm-unittest (push) Successful in 36s
2026-06-17 21:05:02 +00:00
CSRBot 4ff6705a0f Merge pull request 'chore(deps): update dependency markdownlint-cli to ^0.49.0' (#161) from renovate/markdownlint-cli-0.x into master
Helm / helm-lint (push) Successful in 10s
Helm / helm-unittest (push) Successful in 19s
2026-06-17 06:07:00 +00:00
CSRBot fbd90f792d chore(deps): update dependency markdownlint-cli to ^0.49.0
Helm / helm-lint (push) Successful in 8s
Helm / helm-lint (pull_request) Successful in 7s
Helm / helm-unittest (push) Successful in 30s
Helm / helm-unittest (pull_request) Successful in 23s
2026-06-17 06:06:12 +00:00
CSRBot 5e12a30b89 Merge pull request 'chore(deps): update dependency helm/helm to v4.2.1' (#157) from renovate/helm-helm-4.x into master
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 26s
2026-06-12 06:05:35 +00:00
CSRBot 32a1a4369b chore(deps): update dependency helm/helm to v4.2.1
Helm / helm-unittest (push) Successful in 1m2s
Helm / helm-lint (pull_request) Successful in 6s
Helm / helm-lint (push) Successful in 1m11s
Helm / helm-unittest (pull_request) Successful in 19s
2026-06-12 06:03:59 +00:00
CSRBot 85f3d9058e Merge pull request 'chore(deps): update dependency sigstore/cosign to v3.1.1' (#155) from renovate/sigstore-cosign-3.x into master
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 15s
2026-06-09 18:05:44 +00:00
CSRBot 4b5e12af96 chore(deps): update dependency sigstore/cosign to v3.1.1
Helm / helm-unittest (push) Successful in 18s
Helm / helm-lint (pull_request) Successful in 5s
Helm / helm-unittest (pull_request) Successful in 24s
Helm / helm-lint (push) Successful in 6s
2026-06-09 18:04:22 +00:00
CSRBot 6abfe2e8c2 chore(deps): update dependency helm-unittest/helm-unittest to v1.1.1
Helm / helm-unittest (pull_request) Successful in 17s
Helm / helm-lint (pull_request) Successful in 5s
Helm / helm-lint (push) Successful in 10s
Helm / helm-unittest (push) Successful in 16s
2026-06-07 15:37:22 +00:00
volker.raschek 9835e55788 fix(renovate): add preset helm
Helm / helm-lint (push) Successful in 10s
Helm / helm-unittest (push) Successful in 26s
2026-06-07 17:27:56 +02:00
CSRBot ee73920a21 Merge pull request 'chore(deps): update dependency helm-unittest/helm-unittest to v1.1.1' (#153) from renovate/update-helm-plugin-'unittest' into master
Helm / helm-unittest (push) Successful in 15s
Helm / helm-lint (push) Successful in 10s
2026-06-07 15:15:06 +00:00
CSRBot f9c4d3938c chore(deps): update dependency helm-unittest/helm-unittest to v1.1.1
Helm / helm-lint (push) Successful in 9s
Helm / helm-lint (pull_request) Successful in 5s
Helm / helm-unittest (push) Successful in 25s
Helm / helm-unittest (pull_request) Successful in 18s
2026-06-07 15:14:17 +00:00
volker.raschek 46ce9352e4 fix(renovate): update several packages
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 27s
2026-06-07 17:07:47 +02:00
volker.raschek 5e602662df fix(Makefile): get rid of volkerraschek/helm
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 26s
2026-06-07 16:29:11 +02:00
volker.raschek 0f91c70c3f docs(values): add networkPolicy example for GatewayAPI
Helm / helm-unittest (push) Successful in 31s
Helm / helm-lint (push) Successful in 6s
Generate README / generate-parameters (push) Successful in 37s
2026-06-07 15:18:05 +02:00
CSRBot b0e8c4d316 Merge pull request 'chore(deps): update dependency sigstore/cosign to v3.1.0' (#152) from renovate/sigstore-cosign-3.x into master
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 23s
2026-06-06 00:04:18 +00:00
CSRBot 53329bc944 chore(deps): update dependency sigstore/cosign to v3.1.0
Helm / helm-lint (push) Successful in 10s
Helm / helm-lint (pull_request) Successful in 4s
Helm / helm-unittest (push) Successful in 24s
Helm / helm-unittest (pull_request) Successful in 20s
2026-06-06 00:03:17 +00:00
CSRBot 98fdecc448 Merge pull request 'chore(deps): update actions/checkout action to v6.0.3' (#149) from renovate/actions into master
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 14s
2026-06-02 15:19:45 +00:00
CSRBot 89030770af chore(deps): update actions/checkout action to v6.0.3
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 15s
Helm / helm-lint (pull_request) Successful in 6s
Helm / helm-unittest (pull_request) Successful in 17s
2026-06-02 15:03:35 +00:00
CSRBot 7b4aab43af Merge pull request 'chore(deps): update docker.io/library/node docker tag to v26.3.0' (#148) from renovate/update-docker.iolibrarynode into master
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 25s
2026-06-02 00:03:57 +00:00
CSRBot 26fbf722a0 chore(deps): update docker.io/library/node docker tag to v26.3.0
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 18s
Helm / helm-lint (pull_request) Successful in 15s
Helm / helm-unittest (pull_request) Successful in 14s
2026-06-02 00:03:09 +00:00
CSRBot 50f2854026 Merge pull request 'chore(deps): update dependency volker.raschek/athens-proxy-charts to v2' (#147) from renovate/volker.raschek-athens-proxy-charts-2.x into master
Helm / helm-lint (push) Successful in 6s
Generate README / generate-parameters (push) Successful in 36s
Helm / helm-unittest (push) Successful in 16s
Markdown linter / markdown-lint (push) Successful in 15s
Markdown linter / markdown-link-checker (push) Successful in 41s
2026-06-01 21:03:59 +00:00
CSRBot 7f3b0f70c9 chore(deps): update dependency volker.raschek/athens-proxy-charts to v2
Generate README / generate-parameters (push) Successful in 22s
Helm / helm-lint (push) Successful in 6s
Generate README / generate-parameters (pull_request) Successful in 44s
Helm / helm-unittest (push) Successful in 15s
Helm / helm-lint (pull_request) Successful in 13s
Helm / helm-unittest (pull_request) Successful in 15s
Markdown linter / markdown-lint (push) Successful in 16s
Markdown linter / markdown-link-checker (push) Successful in 43s
Markdown linter / markdown-link-checker (pull_request) Successful in 22s
Markdown linter / markdown-lint (pull_request) Successful in 14s
2026-06-01 21:02:51 +00:00
volker.raschek d3e7543814 fix(httpRoute): avoid Argo CD drift
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 15s
Release / publish-chart (push) Successful in 2m18s
The following patch avoids a drift in Argo CD. Argo CD detects the missing
`group` of the backendRef.
2026-06-01 22:45:23 +02:00
volker.raschek eb907f6b8a fix(ci): respect rc pattern
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (push) Successful in 14s
Release / publish-chart (push) Successful in 1m51s
2026-06-01 22:35:55 +02:00
volker.raschek 2237090669 fix(scripts): adapt regexp for release candidates
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 15s
Release / publish-chart (push) Successful in 2m30s
2026-06-01 22:12:37 +02:00
volker.raschek daeedce720 fix(scripts): adapt rc pattern
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (push) Successful in 28s
Release / publish-chart (push) Successful in 1m43s
2026-06-01 21:37:00 +02:00
CSRBotandvolker.raschek 281915b7f3 chore(deps): update docker/login-action action to v4.2.0
Helm / helm-lint (push) Successful in 10s
Helm / helm-unittest (push) Successful in 32s
2026-05-31 19:26:37 +00:00
CSRBotandvolker.raschek e871a9cc2a chore(deps): update dependency helm/helm to v4.2.0
Helm / helm-lint (pull_request) Successful in 11s
Helm / helm-unittest (pull_request) Successful in 18s
Helm / helm-lint (push) Successful in 14s
Helm / helm-unittest (push) Successful in 15s
2026-05-31 19:26:12 +00:00
CSRBotandvolker.raschek 570d4761d0 chore(deps): update docker.io/library/node docker tag to v26
Helm / helm-lint (push) Successful in 11s
Helm / helm-unittest (push) Successful in 19s
2026-05-31 19:25:38 +00:00
CSRBot e668b001fc chore(deps): update dependency helm-unittest/helm-unittest to v1.1.0
Helm / helm-lint (pull_request) Successful in 5s
Helm / helm-unittest (pull_request) Successful in 19s
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (push) Successful in 17s
2026-05-31 19:21:51 +00:00
volker.raschek 24f372b390 fix(renovate): remove helm-unittest plugin
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 18s
Release / publish-chart (push) Successful in 2m11s
2026-05-31 21:20:48 +02:00
volker.raschek dbe754df4e fix: avoid mixing singular and plural naming conventions
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (push) Successful in 28s
Release / publish-chart (push) Successful in 2m21s
2026-05-31 21:01:15 +02:00
volker.raschek 91a57cea52 fix(ci): add workflow to upload artifacthub metadata
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (push) Successful in 18s
2026-05-31 20:35:42 +02:00
CSRBot 0594cea675 Merge pull request 'chore(deps): update docker/login-action action to v4.2.0' (#145) from renovate/actions into master
Helm / helm-lint (push) Successful in 14s
Helm / helm-unittest (push) Successful in 28s
2026-05-31 18:05:32 +00:00
CSRBot 0c323bc2a3 chore(deps): update docker/login-action action to v4.2.0
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (push) Successful in 17s
Helm / helm-lint (pull_request) Successful in 12s
Helm / helm-unittest (pull_request) Successful in 22s
2026-05-31 18:02:54 +00:00
volker.raschek b7eec51d27 fix(scripts): support pre-releases
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 18s
Release / publish-chart (push) Successful in 2m8s
2026-05-31 19:15:22 +02:00
volker.raschek 3427a9a962 fix: add annotations for ArtifactHub
Helm / helm-lint (push) Successful in 11s
Helm / helm-unittest (push) Successful in 31s
2026-05-31 18:59:39 +02:00
volker.raschek d27029e01f docs(README): adapt parameter description
Helm / helm-lint (push) Successful in 11s
Generate README / generate-parameters (push) Successful in 29s
Helm / helm-unittest (push) Successful in 35s
Markdown linter / markdown-link-checker (push) Successful in 31s
Markdown linter / markdown-lint (push) Successful in 35s
2026-05-31 18:57:08 +02:00
volker.raschek 63d4db362a fix(ci): sign helm chart
Helm / helm-lint (push) Successful in 11s
Helm / helm-unittest (push) Successful in 21s
2026-05-31 18:56:03 +02:00
volker.raschek f760568ac5 fix(service)!: migrate services.http to service
Generate README / generate-parameters (push) Failing after 39s
Helm / helm-lint (push) Successful in 14s
Helm / helm-unittest (push) Successful in 28s
Markdown linter / markdown-link-checker (push) Successful in 45s
Markdown linter / markdown-lint (push) Successful in 33s
2026-05-31 18:44:25 +02:00
volker.raschek e1f5a16542 feat: support gatewayAPI 2026-05-31 18:44:25 +02:00
49 changed files with 1664 additions and 520 deletions
+13 -3
View File
@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
set -e set -eo pipefail
CHART_FILE="Chart.yaml" CHART_FILE="Chart.yaml"
if [ ! -f "${CHART_FILE}" ]; then if [ ! -f "${CHART_FILE}" ]; then
@@ -8,8 +8,11 @@ if [ ! -f "${CHART_FILE}" ]; then
exit 1 exit 1
fi fi
DEFAULT_NEW_TAG="$(git tag --sort=-version:refname | head -n 1)" rc_pattern="\-rc([-\.][0-9]+)?$"
DEFAULT_OLD_TAG="$(git tag --sort=-version:refname | head -n 2 | tail -n 1)"
# Exclude prerelease tags (matching -rc or -rc.<digits>) from default tag selection
DEFAULT_NEW_TAG="$(git tag --sort=-version:refname | grep --invert-match --perl-regexp "${rc_pattern}" | head --lines 1)"
DEFAULT_OLD_TAG="$(git tag --sort=-version:refname | grep --invert-match --perl-regexp "${rc_pattern}" | head --lines 2 | tail --lines 1)"
if [ -z "${1}" ]; then if [ -z "${1}" ]; then
read -p "Enter start tag [${DEFAULT_OLD_TAG}]: " OLD_TAG read -p "Enter start tag [${DEFAULT_OLD_TAG}]: " OLD_TAG
@@ -54,6 +57,13 @@ else
fi fi
fi fi
# Check if NEW_TAG is a prerelease (matches -rc or -rc-<digits> suffix)
if [[ "${NEW_TAG}" =~ ${rc_pattern} ]]; then
echo "INFO: Tag '${NEW_TAG}' is a prerelease, setting prerelease annotation and skipping changelog."
yq --no-colors --inplace ".annotations.\"artifacthub.io/prerelease\" = \"true\" | sort_keys(.)" "${CHART_FILE}"
exit 0
fi
CHANGE_LOG_YAML=$(mktemp) CHANGE_LOG_YAML=$(mktemp)
echo "[]" > "${CHANGE_LOG_YAML}" echo "[]" > "${CHANGE_LOG_YAML}"
@@ -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@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
with:
registry: ${{ github.server_url }}
username: ${{ github.repository_owner }}
password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
- uses: oras-project/setup-oras@1d808f7d7f6995cc68b7bf507bfe5c5446e1dc9d # v2.0.1
with:
version: 1.3.3 # 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.9.0-alpine image: docker.io/library/node:26.7.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@v6.0.2 - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
- 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@v6.0.2 - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
- uses: azure/setup-helm@v5.0.0 - uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # v5.0.1
with: with:
version: v4.0.1 # renovate: datasource=github-releases depName=helm/helm version: v4.2.4 # renovate: datasource=github-releases 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@v6.0.2 - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
- uses: azure/setup-helm@v5.0.0 - uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # v5.0.1
with: with:
version: v4.0.1 # renovate: datasource=github-releases depName=helm/helm version: v4.2.4 # renovate: datasource=github-releases 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.9.0-alpine image: docker.io/library/node:26.7.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@v6.0.2 - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
- 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.9.0-alpine image: docker.io/library/node:26.7.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@v6.0.2 - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
- name: Lint markdown files - name: Lint markdown files
run: | run: |
npm install npm install
+129 -26
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,30 +12,76 @@ on:
jobs: jobs:
publish-chart: publish-chart:
container:
image: docker.io/volkerraschek/helm:3.19.2
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Install packages via apk - uses: volker-raschek/cosign-installer@7643eed6736a199595ed2a31e9979ec353a88adb # v4.1.3-rc3
run: | with:
apk update cosign-release: "v3.1.3" # renovate: datasource=github-tags depName=sigstore/cosign
apk add git npm jq yq
- uses: actions/checkout@v6.0.2 - uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # v5.0.1
with:
version: "v4.2.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.5.0" # renovate: datasource=github-tags depName=losisin/helm-values-schema-json extractVersion='^v(?<version>\d+\.\d+\.\d+)$'
HELM_UNITTEST_VERSION: "1.1.2" # 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@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Add Artifacthub.io annotations - name: Add Artifacthub.io annotations
run: | run: |
NEW_TAG="$(git tag --sort=-version:refname | head -n 1)" rc_pattern="\-rc([-\.][0-9]+)?$"
OLD_TAG="$(git tag --sort=-version:refname | head -n 2 | tail -n 1)" NEW_TAG="$(git tag --sort=-version:refname | grep --invert-match --perl-regexp "${rc_pattern}" | head --lines 1)"
OLD_TAG="$(git tag --sort=-version:refname | grep --invert-match --perl-regexp "${rc_pattern}" | head --lines 2 | tail --lines 1)"
.gitea/scripts/add-annotations.sh "${OLD_TAG}" "${NEW_TAG}" .gitea/scripts/add-annotations.sh "${OLD_TAG}" "${NEW_TAG}"
- 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 +89,76 @@ 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@dbcb813823bdd20940b903addbd779551569679f # v4.6.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
# NOTE:
# Gitea does currently not support uploading Helm chart provenance files, so we skip this step for now. Once
# Gitea supports this, we can simply uncomment the following lines to upload the provenance file as well.
#
# https://github.com/helm/helm/issues/31866
#
# 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
+5 -5
View File
@@ -1,9 +1,9 @@
charts charts
cosign*
node_modules node_modules
target target
values2.yml !values.yaml
values2.yaml !values.yml
values*.yaml
values*.yml
*.tgz *.tgz
install.sh
uninstall.sh
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"yaml.schemas": { "yaml.schemas": {
"https://raw.githubusercontent.com/helm-unittest/helm-unittest/v1.1.0/schema/helm-testsuite.json": [ "https://raw.githubusercontent.com/helm-unittest/helm-unittest/v1.1.2/schema/helm-testsuite.json": [
"/unittests/**/*.yaml" "/unittests/**/*.yaml"
] ]
}, },
+6
View File
@@ -1,9 +1,15 @@
annotations: annotations:
artifacthub.io/license: MIT
artifacthub.io/links: | artifacthub.io/links: |
- name: Athens proxy (binary) - name: Athens proxy (binary)
url: https://github.com/gomods/athens url: https://github.com/gomods/athens
- name: support - name: support
url: https://git.cryptic.systems/volker.raschek/athens-proxy-charts/issues url: https://git.cryptic.systems/volker.raschek/athens-proxy-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
name: athens-proxy name: athens-proxy
description: Athens proxy server for golang description: Athens proxy server for golang
+19 -32
View File
@@ -1,12 +1,6 @@
# CONTAINER_RUNTIME # CONTAINER_RUNTIME
CONTAINER_RUNTIME?=$(shell which podman) CONTAINER_RUNTIME?=$(shell which podman)
# HELM_IMAGE
HELM_IMAGE_REGISTRY_HOST?=docker.io
HELM_IMAGE_REPOSITORY?=volkerraschek/helm
HELM_IMAGE_VERSION?=3.19.0 # renovate: datasource=docker registryUrl=https://docker.io depName=docker.io/volkerraschek/helm
HELM_IMAGE_FULLY_QUALIFIED=${HELM_IMAGE_REGISTRY_HOST}/${HELM_IMAGE_REPOSITORY}:${HELM_IMAGE_VERSION}
# NODE_IMAGE # NODE_IMAGE
NODE_IMAGE_REGISTRY_HOST?=docker.io NODE_IMAGE_REGISTRY_HOST?=docker.io
NODE_IMAGE_REPOSITORY?=library/node NODE_IMAGE_REPOSITORY?=library/node
@@ -18,6 +12,25 @@ NODE_IMAGE_FULLY_QUALIFIED=${NODE_IMAGE_REGISTRY_HOST}/${NODE_IMAGE_REPOSITORY}:
missing-dot: missing-dot:
grep --perl-regexp '## @(param|skip).*[^.]$$' values.yaml grep --perl-regexp '## @(param|skip).*[^.]$$' values.yaml
# README
# ==============================================================================
readme: readme/link readme/lint readme/parameters
readme/link:
npm install && npm run readme:link
readme/lint:
npm install && npm run readme:lint
readme/parameters:
npm install && npm run readme:parameters
# HELM UNITTESTS
# ==============================================================================
PHONY+=helm/unittest
helm/unittest:
helm unittest --strict --file 'unittests/**/*.yaml' ./
# CONTAINER RUN - README # CONTAINER RUN - README
# ============================================================================== # ==============================================================================
PHONY+=container-run/readme PHONY+=container-run/readme
@@ -47,32 +60,6 @@ container-run/readme/parameters:
${NODE_IMAGE_FULLY_QUALIFIED} \ ${NODE_IMAGE_FULLY_QUALIFIED} \
npm install && npm run readme:parameters npm install && npm run readme:parameters
# CONTAINER RUN - HELM UNITTESTS
# ==============================================================================
PHONY+=container-run/helm-unittests
container-run/helm-unittests:
${CONTAINER_RUNTIME} run \
--env HELM_REPO_PASSWORD=${CHART_SERVER_PASSWORD} \
--env HELM_REPO_USERNAME=${CHART_SERVER_USERNAME} \
--rm \
--volume $(shell pwd):$(shell pwd) \
--workdir $(shell pwd) \
${HELM_IMAGE_FULLY_QUALIFIED} \
unittest --strict --file 'unittests/**/*.yaml' ./
# CONTAINER RUN - HELM UPDATE DEPENDENCIES
# ==============================================================================
PHONY+=container-run/helm-update-dependencies
container-run/helm-update-dependencies:
${CONTAINER_RUNTIME} run \
--env HELM_REPO_PASSWORD=${CHART_SERVER_PASSWORD} \
--env HELM_REPO_USERNAME=${CHART_SERVER_USERNAME} \
--rm \
--volume $(shell pwd):$(shell pwd) \
--workdir $(shell pwd) \
${HELM_IMAGE_FULLY_QUALIFIED} \
dependency update
# CONTAINER RUN - MARKDOWN-LINT # CONTAINER RUN - MARKDOWN-LINT
# ============================================================================== # ==============================================================================
PHONY+=container-run/helm-lint PHONY+=container-run/helm-lint
+167 -28
View File
@@ -37,7 +37,7 @@ version of the chart must be in sync with the `values.yaml`. Newer *minor* versi
versions can break something! versions can break something!
```bash ```bash
CHART_VERSION=1.4.1 CHART_VERSION=v2.0.3
helm show values volker.raschek/athens-proxy --version "${CHART_VERSION}" > values.yaml helm show values volker.raschek/athens-proxy --version "${CHART_VERSION}" > values.yaml
``` ```
@@ -51,7 +51,7 @@ The helm chart also contains a persistent volume claim definition. It persistent
Use the `--set` argument to persist your data. Use the `--set` argument to persist your data.
```bash ```bash
CHART_VERSION=1.4.1 CHART_VERSION=v2.0.3
helm install --version "${CHART_VERSION}" athens-proxy volker.raschek/athens-proxy \ helm install --version "${CHART_VERSION}" athens-proxy volker.raschek/athens-proxy \
persistence.enabled=true persistence.enabled=true
``` ```
@@ -81,7 +81,7 @@ Further information about this topic can be found in one of Kanishk's blog
> Please take care the a CPU limit < `1000m` can also lead to CPU throttling. Please read the linked documentation carefully. > Please take care the a CPU limit < `1000m` can also lead to CPU throttling. Please read the linked documentation carefully.
```bash ```bash
CHART_VERSION=1.4.1 CHART_VERSION=v2.0.3
helm install --version "${CHART_VERSION}" athens-proxy volker.raschek/athens-proxy \ helm install --version "${CHART_VERSION}" athens-proxy volker.raschek/athens-proxy \
--set 'deployment.athensProxy.env.name=GOMAXPROCS' \ --set 'deployment.athensProxy.env.name=GOMAXPROCS' \
--set 'deployment.athensProxy.env.valueFrom.resourceFieldRef.resource=limits.cpu' \ --set 'deployment.athensProxy.env.valueFrom.resourceFieldRef.resource=limits.cpu' \
@@ -96,12 +96,16 @@ certificate can be used the [cert-manager](https://cert-manager.io/). The chart
certificate via `cert-manager.io/v1 Certificate` resource. Alternatively can be mounted a TLS certificate from a secret. certificate via `cert-manager.io/v1 Certificate` resource. Alternatively can be mounted a TLS certificate from a secret.
The secret must be from type `kubernetes.io/tls`. The secret must be from type `kubernetes.io/tls`.
If athens-proxy is deployed behind a reverse proxy, for example an ingress nginx controller or Gateway API, please
instruct the reverse proxy to establish a TLS encrypted connection to avoid connection problems. The documentation
describes configuring [Ingress NGINX](#ingress-nginx) as well as [NGINX Gateway Fabric](#gatewayapi-nginx-fabric).
> [!WARNING] > [!WARNING]
> The following example expects that the [cert-manager](https://cert-manager.io/) is deployed and the `Issuer` named > The following example expects that the [cert-manager](https://cert-manager.io/) is deployed and the `Issuer` named
> `athens-proxy-ca` is present in the same namespace of the helm deployment. > `athens-proxy-ca` is present in the same namespace of the helm deployment.
```bash ```bash
CHART_VERSION=1.4.1 CHART_VERSION=v2.0.3
helm install --version "${CHART_VERSION}" athens-proxy volker.raschek/athens-proxy \ helm install --version "${CHART_VERSION}" athens-proxy volker.raschek/athens-proxy \
--set 'config.certificate.enabled=true' \ --set 'config.certificate.enabled=true' \
--set 'config.certificate.new.issuerRef.kind=Issuer' \ --set 'config.certificate.new.issuerRef.kind=Issuer' \
@@ -111,6 +115,110 @@ helm install --version "${CHART_VERSION}" athens-proxy volker.raschek/athens-pro
The environment variables `ATHENS_TLSCERT_FILE` and `ATHENS_TLSKEY_FILE` are automatically added and the TLS certificate The environment variables `ATHENS_TLSCERT_FILE` and `ATHENS_TLSKEY_FILE` are automatically added and the TLS certificate
and private key are mounted to a pre-defined destination inside the container file system. and private key are mounted to a pre-defined destination inside the container file system.
##### Ingress NGINX
The following changes must be applied to enable TLS encryption and authentication on-top between the ingress and backend
service.
> [!IMPORTANT]
> The HTTP Version between the ingress nginx and backend must be set to `1.1`, as well as the TLS protocol must be set
> to `TLSv1.2`. Otherwise can't the nginx establish a TLS connection.
The secret `athens-proxy/ingress-nginx-controller-tls` contains TLS certificates for the nginx ingress controller. The
TLS certificate must be created manually, for example via [cert-manager](https://cert-manager.io/). It is used by the
nginx for TLS authentication.
```yaml
ingress:
enabled: true
className: "nginx"
annotations:
nginx.ingress.kubernetes.io/backend-protocol: HTTPS
nginx.ingress.kubernetes.io/proxy-http-version: "1.1"
nginx.ingress.kubernetes.io/proxy-ssl-secret: athens-proxy/ingress-nginx-controller-tls
nginx.ingress.kubernetes.io/proxy-ssl-protocols: TLSv1.2
nginx.ingress.kubernetes.io/proxy-ssl-name: athens-proxy
nginx.ingress.kubernetes.io/proxy-ssl-verify: "on"
```
##### GatewayAPI: NGINX Fabric
The following changes must be applied to enable TLS encryption and authentication on-top between the gateway and backend
service.
> [!IMPORTANT]
> The HTTP Version between the nginx gateway fabric and backend must be set to `1.1`, as well as the TLS protocol must
> be set to `TLSv1.2`. Otherwise can't the nginx establish a TLS connection.
The `gatewayAPI.core.backendTLSPolicy.validation.caCertificateRefs` must contain at least one secret containing the
root or intermediate certificate of the issued TLS certificate used by athens-proxy to be able to validate the TLS
certificate.
```yaml
gatewayAPI:
enabled: true
core:
backendTLSPolicy:
enabled: true
validation:
caCertificateRefs:
- group: ""
kind: Secret
name: "athens-proxy-ca"
hostname: "athens-proxy"
httpRoute:
enabled: true
hostnames:
- athens-proxy.example.local
parentRefs:
- name: nginx
kind: Gateway
group: gateway.networking.k8s.io
namespace: my-gateway-namespace
sectionName: athens-proxy-https
```
The Gateway resource is not part of the helm chart, but for illustrating the configuration example, here a GatewayAPI
resource with configured backend TLS certificate. The TLS certificates `gateway-frontend-tls` and `gateway-backend-tls`
must also be created manually, for example via [cert-manager](https://cert-manager.io/).
```yaml
---
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
name: nginx
namespace: my-gateway-namespace
spec:
gatewayClassName: nginx
listeners:
- allowedRoutes:
kinds:
- group: gateway.networking.k8s.io
kind: HTTPRoute
namespaces:
from: All
hostname: athens-proxy.example.local
name: https
port: 443
protocol: HTTPS
tls:
certificateRefs:
- group: ''
kind: Secret
name: gateway-frontend-tls
namespace: my-gateway-namespace
mode: Terminate
tls:
backend:
clientCertificateRef:
group: ''
kind: Secret
name: gateway-backend-tls
namespace: my-gateway-namespace
```
#### TLS certificate rotation #### TLS certificate rotation
If the application uses TLS certificates that are mounted as a secret in the container file system like the example If the application uses TLS certificates that are mounted as a secret in the container file system like the example
@@ -198,6 +306,13 @@ networkPolicies:
podSelector: podSelector:
matchLabels: matchLabels:
app.kubernetes.io/name: ingress-nginx app.kubernetes.io/name: ingress-nginx
# NGINX GatewayAPI Fabric
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: gateway-nginx
podSelector:
matchLabels:
app.kubernetes.io/name: gateway-nginx
ports: ports:
- port: http - port: http
protocol: TCP protocol: TCP
@@ -385,6 +500,30 @@ spec:
| `deployment.topologySpreadConstraints` | TopologySpreadConstraints of the athens-proxy deployment. | `[]` | | `deployment.topologySpreadConstraints` | TopologySpreadConstraints of the athens-proxy deployment. | `[]` |
| `deployment.volumes` | Additional volumes to mount into the pods of the athens-proxy deployment. | `[]` | | `deployment.volumes` | Additional volumes to mount into the pods of the athens-proxy deployment. | `[]` |
### GatewayAPI
| Name | Description | Value |
| ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| `gatewayAPI.enabled` | Enable the Gateway API resources. Requires Kubernetes v1.19 or higher, the CRD's and a compatible gateway controller. | `false` |
| `gatewayAPI.core.backendTLSPolicy.enabled` | Enable the BackendTLSPolicy resource. Requires also `gatewayAPI.enabled` to be `true`. | `false` |
| `gatewayAPI.core.backendTLSPolicy.annotations` | Additional annotations for the BackendTLSPolicy. | `{}` |
| `gatewayAPI.core.backendTLSPolicy.labels` | Additional labels for the BackendTLSPolicy. | `{}` |
| `gatewayAPI.core.backendTLSPolicy.validation` | Validation configuration for the BackendTLSPolicy. For example, you can specify a trusted CA certificate to validate the TLS connection between the gateway and the athens-proxy pod. | `{}` |
| `gatewayAPI.core.httpRoute.enabled` | Enable the HTTPRoute resource. Requires also `gatewayAPI.enabled` and `service.enabled` to be `true`. | `false` |
| `gatewayAPI.core.httpRoute.annotations` | Additional annotations for the HTTPRoute. | `{}` |
| `gatewayAPI.core.httpRoute.labels` | Additional labels for the HTTPRoute. | `{}` |
| `gatewayAPI.core.httpRoute.hostnames` | Hostnames for the HTTPRoute. | `[]` |
| `gatewayAPI.core.httpRoute.parentRefs` | ParentRefs for the HTTPRoute. You can specify parentRefs to bind the HTTPRoute to specific Gateway resources. | `[]` |
| `gatewayAPI.nginx.clientSettingsPolicy.enabled` | Enable the ClientSettingsPolicy resource. Requires also `gatewayAPI.enabled` to be `true`. | `false` |
| `gatewayAPI.nginx.clientSettingsPolicy.annotations` | Additional annotations for the ClientSettingsPolicy. | `{}` |
| `gatewayAPI.nginx.clientSettingsPolicy.labels` | Additional labels for the ClientSettingsPolicy. | `{}` |
| `gatewayAPI.nginx.clientSettingsPolicy.clientMaxBodySize` | ClientMaxBodySize sets the maximum allowed size of the client request body. If not specified, the default of the nginx gateway controller is used. | `""` |
| `gatewayAPI.nginx.clientSettingsPolicy.clientBodyTimeout` | ClientBodyTimeout sets the timeout for reading the client request body. If not specified, the default of the nginx gateway controller is used. | `""` |
| `gatewayAPI.nginx.clientSettingsPolicy.keepaliveRequests` | KeepaliveRequests sets the maximum number of requests that can be served through one keepalive connection. If not specified, the default of the nginx gateway controller is used. | `nil` |
| `gatewayAPI.nginx.clientSettingsPolicy.keepaliveTime` | KeepaliveTime sets the time a keepalive connection is kept open. If not specified, the default of the nginx gateway controller is used. | `""` |
| `gatewayAPI.nginx.clientSettingsPolicy.keepaliveTimeout` | KeepaliveTimeout sets the time a client has to wait for the response of a request until the connection is closed. If not specified, the default of the nginx gateway controller is used. | `""` |
| `gatewayAPI.nginx.clientSettingsPolicy.keepaliveMinTimeout` | KeepaliveMinTimeout sets the minimum time a client has to wait for the response of a request until the connection is closed. If not specified, the default of the nginx gateway controller is used. | `""` |
### Horizontal Pod Autoscaler (HPA) ### Horizontal Pod Autoscaler (HPA)
| Name | Description | Value | | Name | Description | Value |
@@ -398,14 +537,14 @@ spec:
### Ingress ### Ingress
| Name | Description | Value | | Name | Description | Value |
| --------------------- | -------------------------------------------------------------------------------------------------------------------- | ------- | | --------------------- | ---------------------------------------------------------------------------------------- | ------- |
| `ingress.enabled` | Enable creation of an ingress resource. Requires, that the http service is also enabled. | `false` | | `ingress.enabled` | Enable creation of an ingress resource. Requires, that the http service is also enabled. | `false` |
| `ingress.className` | Ingress class. | `nginx` | | `ingress.className` | Ingress class. | `nginx` |
| `ingress.annotations` | Additional ingress annotations. | `{}` | | `ingress.annotations` | Additional ingress annotations. | `{}` |
| `ingress.labels` | Additional ingress labels. | `{}` | | `ingress.labels` | Additional ingress labels. | `{}` |
| `ingress.hosts` | Ingress specific configuration. Specification only required when another ingress controller is used instead of `t1k. | `[]` | | `ingress.hosts` | Ingress specific configuration. | `[]` |
| `ingress.tls` | Ingress TLS settings. Specification only required when another ingress controller is used instead of `t1k``. | `[]` | | `ingress.tls` | Ingress TLS settings. | `[]` |
### Persistence ### Persistence
@@ -440,22 +579,22 @@ spec:
### Service ### Service
| Name | Description | Value | | Name | Description | Value |
| ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| `services.http.enabled` | Enable the service. | `true` | | `service.enabled` | Enable the service. | `true` |
| `services.http.annotations` | Additional service annotations. | `{}` | | `service.annotations` | Additional service annotations. | `{}` |
| `services.http.externalIPs` | External IPs for the service. | `[]` | | `service.externalIPs` | External IPs for the service. | `[]` |
| `services.http.externalTrafficPolicy` | If `service.type` is `NodePort` or `LoadBalancer`, set this to `Local` to tell kube-proxy to only use node local endpoints for cluster external traffic. Furthermore, this enables source IP preservation. | `Cluster` | | `service.externalTrafficPolicy` | If `service.type` is `NodePort` or `LoadBalancer`, set this to `Local` to tell kube-proxy to only use node local endpoints for cluster external traffic. Furthermore, this enables source IP preservation. | `Cluster` |
| `services.http.internalTrafficPolicy` | If `service.type` is `NodePort` or `LoadBalancer`, set this to `Local` to tell kube-proxy to only use node local endpoints for cluster internal traffic. | `Cluster` | | `service.internalTrafficPolicy` | If `service.type` is `NodePort` or `LoadBalancer`, set this to `Local` to tell kube-proxy to only use node local endpoints for cluster internal traffic. | `Cluster` |
| `services.http.ipFamilies` | IPFamilies is list of IP families (e.g. `IPv4`, `IPv6`) assigned to this service. This field is usually assigned automatically based on cluster configuration and only required for customization. | `[]` | | `service.ipFamilies` | IPFamilies is list of IP families (e.g. `IPv4`, `IPv6`) assigned to this service. This field is usually assigned automatically based on cluster configuration and only required for customization. | `[]` |
| `services.http.labels` | Additional service labels. | `{}` | | `service.labels` | Additional service labels. | `{}` |
| `services.http.loadBalancerClass` | LoadBalancerClass is the class of the load balancer implementation this Service belongs to. Requires service from type `LoadBalancer`. | `""` | | `service.loadBalancerClass` | LoadBalancerClass is the class of the load balancer implementation this Service belongs to. Requires service from type `LoadBalancer`. | `""` |
| `services.http.loadBalancerIP` | LoadBalancer will get created with the IP specified in this field. Requires service from type `LoadBalancer`. | `""` | | `service.loadBalancerIP` | LoadBalancer will get created with the IP specified in this field. Requires service from type `LoadBalancer`. | `""` |
| `services.http.loadBalancerSourceRanges` | Source range filter for LoadBalancer. Requires service from type `LoadBalancer`. | `[]` | | `service.loadBalancerSourceRanges` | Source range filter for LoadBalancer. Requires service from type `LoadBalancer`. | `[]` |
| `services.http.port` | Port to forward the traffic to. | `3000` | | `service.port` | Port to forward the traffic to. | `3000` |
| `services.http.sessionAffinity` | Supports `ClientIP` and `None`. Enable client IP based session affinity via `ClientIP`. | `None` | | `service.sessionAffinity` | Supports `ClientIP` and `None`. Enable client IP based session affinity via `ClientIP`. | `None` |
| `services.http.sessionAffinityConfig` | Contains the configuration of the session affinity. | `{}` | | `service.sessionAffinityConfig` | Contains the configuration of the session affinity. | `{}` |
| `services.http.type` | Kubernetes service type for the traffic. | `ClusterIP` | | `service.type` | Kubernetes service type for the traffic. | `ClusterIP` |
### ServiceAccount ### ServiceAccount
+1
View File
@@ -0,0 +1 @@
repositoryID: 4c206fe5-b83a-457a-bcad-7dd664f8b70c
+315 -248
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.48.0" "markdownlint-cli": "^0.49.0"
}, },
"engines": { "engines": {
"node": ">=16.0.0", "node": ">=16.0.0",
@@ -34,64 +34,57 @@
} }
}, },
"node_modules/@oozcitak/dom": { "node_modules/@oozcitak/dom": {
"version": "2.0.1", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-2.0.1.tgz", "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-2.0.2.tgz",
"integrity": "sha512-Un5k8MKqGak1LQM/behcHylmGdRopBXZax19weVedEAIrOCRZooY+MvX4Ehcz0ftOEPgYZ7vjIm/+MokVBFO3w==", "integrity": "sha512-GjpKhkSYC3Mj4+lfwEyI1dqnsKTgwGy48ytZEhm4A/xnH/8z9M3ZVXKr/YGQi3uCLs1AEBS+x5T2JPiueEDW8w==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@oozcitak/infra": "^2.0.1", "@oozcitak/infra": "^2.0.2",
"@oozcitak/url": "^2.0.1", "@oozcitak/url": "^3.0.0",
"@oozcitak/util": "^9.0.2" "@oozcitak/util": "^10.0.0"
}, },
"engines": { "engines": {
"node": ">=20.0" "node": ">=20.0"
} }
}, },
"node_modules/@oozcitak/infra": { "node_modules/@oozcitak/infra": {
"version": "2.0.1", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-2.0.1.tgz", "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-2.0.2.tgz",
"integrity": "sha512-TtjI+kducm0ExL3OTKglPLkAIQ3alq0Otbokml62haZESfQaL3ojLJxl7+UTBhWCkBBuCshzGEEYmX5MXo8WOg==", "integrity": "sha512-2g+E7hoE2dgCz/APPOEK5s3rMhJvNxSMBrP+U+j1OWsIbtSpWxxlUjq1lU8RIsFJNYv7NMlnVsCuHcUzJW+8vA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@oozcitak/util": "~9.0.2" "@oozcitak/util": "^10.0.0"
}, },
"engines": { "engines": {
"node": ">=20.0" "node": ">=20.0"
} }
}, },
"node_modules/@oozcitak/url": { "node_modules/@oozcitak/url": {
"version": "2.0.1", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-2.0.1.tgz", "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-3.0.0.tgz",
"integrity": "sha512-lLHUQUyYy86q+qbALr0TMVh+VQAYwNGbsxBx4LhfjvkNYG0hgAwWtq7ePebGs2nEhZmmIFl24ikuCpH2r5d3+A==", "integrity": "sha512-ZKfET8Ak1wsLAiLWNfFkZc/BraDccuTJKR6svTYc7sVjbR+Iu0vtXdiDMY4o6jaFl5TW2TlS7jbLl4VovtAJWQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@oozcitak/infra": "^2.0.1", "@oozcitak/infra": "^2.0.2",
"@oozcitak/util": "^9.0.2" "@oozcitak/util": "^10.0.0"
}, },
"engines": { "engines": {
"node": ">=20.0" "node": ">=20.0"
} }
}, },
"node_modules/@oozcitak/util": { "node_modules/@oozcitak/util": {
"version": "9.0.4", "version": "10.0.0",
"resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-9.0.4.tgz", "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-10.0.0.tgz",
"integrity": "sha512-kmx1hRJlsvxiTCpK97off59LqSEOtkWOPe4rdfFL8TjZtihYSTVNObIfc86jtLngfnuIuuTRt+TUCgRS220RSQ==", "integrity": "sha512-hAX0pT/73190NLqBPPWSdBVGtbY6VOhWYK3qqHqtXQ1gK7kS2yz4+ivsN07hpJ6I3aeMtKP6J6npsEKOAzuTLA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=20.0" "node": ">=20.0"
} }
}, },
"node_modules/@tootallnate/quickjs-emscripten": {
"version": "0.23.0",
"resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
"integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
"dev": true,
"license": "MIT"
},
"node_modules/@types/debug": { "node_modules/@types/debug": {
"version": "4.1.12", "version": "4.1.12",
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
@@ -124,13 +117,13 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/agent-base": { "node_modules/agent-base": {
"version": "7.1.3", "version": "9.0.0",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-9.0.0.tgz",
"integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", "integrity": "sha512-TQf59BsZnytt8GdJKLPfUZ54g/iaUL2OWDSFCCvMOhsHduDQxO8xC4PNeyIkVcA5KwL2phPSv0douC0fgWzmnA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">= 14" "node": ">= 20"
} }
}, },
"node_modules/ansi-regex": { "node_modules/ansi-regex": {
@@ -181,9 +174,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/basic-ftp": { "node_modules/basic-ftp": {
"version": "5.0.5", "version": "5.3.1",
"resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.3.1.tgz",
"integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", "integrity": "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@@ -209,13 +202,13 @@
} }
}, },
"node_modules/chalk": { "node_modules/chalk": {
"version": "5.6.2", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-6.0.0.tgz",
"integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", "integrity": "sha512-2uNTXIuTTxk7ciZgAU1BQcgnchcG0xXnrs6jzkQfj9SsRa9M2s5zE8WT96hS6KmG4MzWHSrvH43DF1m4XRkrFg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": "^12.17.0 || ^14.13 || >=16.0.0" "node": ">=22"
}, },
"funding": { "funding": {
"url": "https://github.com/chalk/chalk?sponsor=1" "url": "https://github.com/chalk/chalk?sponsor=1"
@@ -346,13 +339,13 @@
} }
}, },
"node_modules/data-uri-to-buffer": { "node_modules/data-uri-to-buffer": {
"version": "6.0.2", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-8.0.0.tgz",
"integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", "integrity": "sha512-6UHfyCux51b8PTGDgveqtz1tvphBku5DrMKKJbFAZAJOI2zsjDpDoYE1+QGj7FOMS4BdTFNJsJiR3zEB0xH0yQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">= 14" "node": ">= 20"
} }
}, },
"node_modules/debug": { "node_modules/debug": {
@@ -398,9 +391,9 @@
} }
}, },
"node_modules/degenerator": { "node_modules/degenerator": {
"version": "5.0.1", "version": "7.0.1",
"resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-7.0.1.tgz",
"integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", "integrity": "sha512-ABErK0IefDSyHjlPH7WUEenIAX2rPPnrDcDM+TS3z3+zu9TfyKKi07BQM+8rmxpdE2y1v5fjjdoAS/x4D2U60w==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -409,7 +402,10 @@
"esprima": "^4.0.1" "esprima": "^4.0.1"
}, },
"engines": { "engines": {
"node": ">= 14" "node": ">= 20"
},
"peerDependencies": {
"quickjs-wasi": "^2.2.0"
} }
}, },
"node_modules/dequal": { "node_modules/dequal": {
@@ -628,9 +624,9 @@
"license": "ISC" "license": "ISC"
}, },
"node_modules/get-east-asian-width": { "node_modules/get-east-asian-width": {
"version": "1.4.0", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz",
"integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@@ -641,18 +637,18 @@
} }
}, },
"node_modules/get-uri": { "node_modules/get-uri": {
"version": "6.0.4", "version": "8.0.1",
"resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.4.tgz", "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-8.0.1.tgz",
"integrity": "sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==", "integrity": "sha512-/5N/P4Lrh0p/mDwlDRi7Y1+P2o/OyzZI3l6Iz1Ov6XXwwm1y3RlZLuo3gVgML99djrEDtV980bBxSuOeHLk8ww==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"basic-ftp": "^5.0.2", "basic-ftp": "^5.3.1",
"data-uri-to-buffer": "^6.0.2", "data-uri-to-buffer": "8.0.0",
"debug": "^4.3.4" "debug": "^4.3.4"
}, },
"engines": { "engines": {
"node": ">= 14" "node": ">= 20"
} }
}, },
"node_modules/glob": { "node_modules/glob": {
@@ -708,31 +704,33 @@
} }
}, },
"node_modules/http-proxy-agent": { "node_modules/http-proxy-agent": {
"version": "7.0.2", "version": "9.1.0",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-9.1.0.tgz",
"integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "integrity": "sha512-2NxoveTT58mjYT4n3RPTEfCZGLMbidoO8XEieXfpSYxu+PQJ1qpx4ypwH6N+uF9twBPIvRRgvkvW5HUTYWENig==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"agent-base": "^7.1.0", "agent-base": "9.0.0",
"debug": "^4.3.4" "debug": "^4.3.4",
"proxy-agent-negotiate": "1.1.0"
}, },
"engines": { "engines": {
"node": ">= 14" "node": ">= 20"
} }
}, },
"node_modules/https-proxy-agent": { "node_modules/https-proxy-agent": {
"version": "7.0.6", "version": "9.1.0",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-9.1.0.tgz",
"integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "integrity": "sha512-ag87y7cJJ9/3+GxFr8Oy4O5faDsGRGnBGsJj/YjOSsSx/5eadKLYTMPlzuR6obgoCDDm0abAAZitXXQkMOPSpA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"agent-base": "^7.1.2", "agent-base": "9.0.0",
"debug": "4" "debug": "^4.3.4",
"proxy-agent-negotiate": "1.1.0"
}, },
"engines": { "engines": {
"node": ">= 14" "node": ">= 20"
} }
}, },
"node_modules/iconv-lite": { "node_modules/iconv-lite": {
@@ -749,9 +747,9 @@
} }
}, },
"node_modules/ignore": { "node_modules/ignore": {
"version": "7.0.5", "version": "7.0.6",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.6.tgz",
"integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "integrity": "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@@ -778,25 +776,21 @@
"license": "ISC" "license": "ISC"
}, },
"node_modules/ini": { "node_modules/ini": {
"version": "4.1.3", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", "resolved": "https://registry.npmjs.org/ini/-/ini-7.0.0.tgz",
"integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", "integrity": "sha512-ifK0CgjALofS5bkrcTy4RaQ9Vx2Knf/eLeIO+NaswQEpH1UblrtTSCIvN71qQDMq0PeQ/SSPojvEJp9vvvfr+w==",
"dev": true, "dev": true,
"license": "ISC", "license": "ISC",
"engines": { "engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0" "node": "^22.22.2 || ^24.15.0 || >=26.0.0"
} }
}, },
"node_modules/ip-address": { "node_modules/ip-address": {
"version": "9.0.5", "version": "10.3.1",
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.3.1.tgz",
"integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", "integrity": "sha512-1e9d3kb97NHJTIJDZW9rKqW2h6+dFa50Dy0fpPSMQp2ADje5gvKsXmdiK6dwY5t76TaTt5+P5N1Y/LoToIxP6g==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": {
"jsbn": "1.1.0",
"sprintf-js": "^1.1.3"
},
"engines": { "engines": {
"node": ">= 12" "node": ">= 12"
} }
@@ -879,10 +873,20 @@
} }
}, },
"node_modules/js-yaml": { "node_modules/js-yaml": {
"version": "4.1.1", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz",
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==",
"dev": true, "dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/puzrin"
},
{
"type": "github",
"url": "https://github.com/sponsors/nodeca"
}
],
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"argparse": "^2.0.1" "argparse": "^2.0.1"
@@ -891,13 +895,6 @@
"js-yaml": "bin/js-yaml.js" "js-yaml": "bin/js-yaml.js"
} }
}, },
"node_modules/jsbn": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
"integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==",
"dev": true,
"license": "MIT"
},
"node_modules/jsonc-parser": { "node_modules/jsonc-parser": {
"version": "3.3.1", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
@@ -943,24 +940,34 @@
} }
}, },
"node_modules/link-check": { "node_modules/link-check": {
"version": "5.5.1", "version": "5.6.0",
"resolved": "https://registry.npmjs.org/link-check/-/link-check-5.5.1.tgz", "resolved": "https://registry.npmjs.org/link-check/-/link-check-5.6.0.tgz",
"integrity": "sha512-GrtE4Zp/FBduvElmad375NrPeMYnKwNt9rH/TDG/rbQbHL0QVC4S/cEPVKZ0CkhXlVuiK+/5flGpRxQzoLbjEA==", "integrity": "sha512-oTHNw9+pgFvXqgTM3vWYOMkf4Pv5mywUr2L6EYkiRiVtpGrDXs8wV+kGP3bxBRwnC7gD3b9IRBu1dx/Tm1MFDQ==",
"dev": true, "dev": true,
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"is-relative-url": "^4.1.0", "is-relative-url": "^4.1.0",
"ms": "^2.1.3", "ms": "^2.1.3",
"needle": "^3.3.1", "needle": "^3.5.0",
"node-email-verifier": "^3.4.1", "node-email-verifier": "^4.0.0",
"proxy-agent": "^6.5.0" "proxy-agent": "^8.0.2"
} }
}, },
"node_modules/linkify-it": { "node_modules/linkify-it": {
"version": "5.0.0", "version": "5.0.2",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.2.tgz",
"integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", "integrity": "sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==",
"dev": true, "dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/puzrin"
},
{
"type": "github",
"url": "https://github.com/sponsors/markdown-it"
}
],
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"uc.micro": "^2.0.0" "uc.micro": "^2.0.0"
@@ -984,15 +991,25 @@
} }
}, },
"node_modules/markdown-it": { "node_modules/markdown-it": {
"version": "14.1.1", "version": "14.3.0",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.3.0.tgz",
"integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==", "integrity": "sha512-RCEsPjR+sr0x+AuYp601tKTkgFG4YEPLCzHST3cQ/fhlJkqAkz1L2/Qbp1j9qw5SBwQHFBoW8+hoN5xssOF0Tw==",
"dev": true, "dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/puzrin"
},
{
"type": "github",
"url": "https://github.com/sponsors/markdown-it"
}
],
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"argparse": "^2.0.1", "argparse": "^2.0.1",
"entities": "^4.4.0", "entities": "^4.5.0",
"linkify-it": "^5.0.0", "linkify-it": "^5.0.2",
"mdurl": "^2.0.0", "mdurl": "^2.0.0",
"punycode.js": "^2.3.1", "punycode.js": "^2.3.1",
"uc.micro": "^2.1.0" "uc.micro": "^2.1.0"
@@ -1002,45 +1019,45 @@
} }
}, },
"node_modules/markdown-link-check": { "node_modules/markdown-link-check": {
"version": "3.14.2", "version": "3.15.0",
"resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.14.2.tgz", "resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.15.0.tgz",
"integrity": "sha512-DPJ+itd3D5fcfXD5s1i53lugH0Z/h80kkQxlYCBh8tFwEZGhyVgDcLl0rnKlWssAVDAmSmcbePpHpMEY+JcMMQ==", "integrity": "sha512-EorpVYNu1Jpldk3OLrRrH7Hx/ofp1dCSAJeYuvb8MhKR/rIt6S0tgwbQYw66EZgRPu9lPvORfT6SkIe0dwn2Ow==",
"dev": true, "dev": true,
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"async": "^3.2.6", "async": "^3.2.6",
"chalk": "^5.6.2", "chalk": "^6.0.0",
"commander": "^14.0.2", "commander": "^15.0.0",
"link-check": "^5.5.1", "link-check": "^5.6.0",
"markdown-link-extractor": "^4.0.3", "markdown-link-extractor": "^4.0.4",
"needle": "^3.3.1", "needle": "^3.5.0",
"progress": "^2.0.3", "progress": "^2.0.3",
"proxy-agent": "^6.5.0", "proxy-agent": "^8.0.2",
"xmlbuilder2": "^4.0.0" "xmlbuilder2": "^4.0.3"
}, },
"bin": { "bin": {
"markdown-link-check": "markdown-link-check" "markdown-link-check": "markdown-link-check"
} }
}, },
"node_modules/markdown-link-check/node_modules/commander": { "node_modules/markdown-link-check/node_modules/commander": {
"version": "14.0.2", "version": "15.0.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-15.0.0.tgz",
"integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "integrity": "sha512-z67u4ZhzCL/Tydu1lJARtEZYWbWaN7oYLHbsuzocr6y4N6WZAagG3RQ4FW61V1/0+jImpj293XfrcYnd1qxtPg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=20" "node": ">=22.12.0"
} }
}, },
"node_modules/markdown-link-extractor": { "node_modules/markdown-link-extractor": {
"version": "4.0.3", "version": "4.0.4",
"resolved": "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-4.0.3.tgz", "resolved": "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-4.0.4.tgz",
"integrity": "sha512-aEltJiQ4/oC0h6Jbw/uuATGSHZPkcH8DIunNH1A0e+GSFkvZ6BbBkdvBTVfIV8r6HapCU3yTd0eFdi3ZeM1eAQ==", "integrity": "sha512-Dw9saacqF4u1EjUm3O+f0ZTBM/o7l1IrdHS8z1KSFX2coECIcJTZbltICMKx6QwHBKlzMQXgtWYnIHX71WHZMw==",
"dev": true, "dev": true,
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"html-link-extractor": "^1.0.5", "html-link-extractor": "^1.0.5",
"marked": "^17.0.0" "marked": "^18.0.7"
} }
}, },
"node_modules/markdown-table": { "node_modules/markdown-table": {
@@ -1058,9 +1075,9 @@
} }
}, },
"node_modules/markdownlint": { "node_modules/markdownlint": {
"version": "0.40.0", "version": "0.41.1",
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.40.0.tgz", "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.41.1.tgz",
"integrity": "sha512-UKybllYNheWac61Ia7T6fzuQNDZimFIpCg2w6hHjgV1Qu0w1TV0LlSgryUGzM0bkKQCBhy2FDhEELB73Kb0kAg==", "integrity": "sha512-qHKeU2E1bdyNAT077go2FVTNXvYcktN5IHtF6XyeD1l0PClxzSp2tUApAV14ORI8DGX4H9bNKZEzelZp4qn8IA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -1072,40 +1089,40 @@
"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" "string-width": "8.2.1"
}, },
"engines": { "engines": {
"node": ">=20" "node": ">=22"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/DavidAnson" "url": "https://github.com/sponsors/DavidAnson"
} }
}, },
"node_modules/markdownlint-cli": { "node_modules/markdownlint-cli": {
"version": "0.48.0", "version": "0.49.1",
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.48.0.tgz", "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.49.1.tgz",
"integrity": "sha512-NkZQNu2E0Q5qLEEHwWj674eYISTLD4jMHkBzDobujXd1kv+yCxi8jOaD/rZoQNW1FBBMMGQpuW5So8B51N/e0A==", "integrity": "sha512-qpYqJbSYf3jv57bdnFmCaZ/Wlu6IYHp2b6SOKrKBJ7OnPrDHIKmx4NERWH49QH9viTI6yO6raVDDn5nrf60VQQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"commander": "~14.0.3", "commander": "~15.0.0",
"deep-extend": "~0.6.0", "deep-extend": "~0.6.0",
"ignore": "~7.0.5", "ignore": "~7.0.6",
"js-yaml": "~4.1.1", "js-yaml": "~5.2.1",
"jsonc-parser": "~3.3.1", "jsonc-parser": "~3.3.1",
"jsonpointer": "~5.0.1", "jsonpointer": "~5.0.1",
"markdown-it": "~14.1.1", "markdown-it": "~14.3.0",
"markdownlint": "~0.40.0", "markdownlint": "~0.41.1",
"minimatch": "~10.2.4", "minimatch": "~10.2.5",
"run-con": "~1.3.2", "run-con": "~1.3.3",
"smol-toml": "~1.6.0", "smol-toml": "~1.7.0",
"tinyglobby": "~0.2.15" "tinyglobby": "~0.2.17"
}, },
"bin": { "bin": {
"markdownlint": "markdownlint.js" "markdownlint": "markdownlint.js"
}, },
"engines": { "engines": {
"node": ">=20" "node": ">=22"
} }
}, },
"node_modules/markdownlint-cli/node_modules/balanced-match": { "node_modules/markdownlint-cli/node_modules/balanced-match": {
@@ -1119,9 +1136,9 @@
} }
}, },
"node_modules/markdownlint-cli/node_modules/brace-expansion": { "node_modules/markdownlint-cli/node_modules/brace-expansion": {
"version": "5.0.4", "version": "5.0.7",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.7.tgz",
"integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", "integrity": "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -1132,23 +1149,46 @@
} }
}, },
"node_modules/markdownlint-cli/node_modules/commander": { "node_modules/markdownlint-cli/node_modules/commander": {
"version": "14.0.3", "version": "15.0.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-15.0.0.tgz",
"integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", "integrity": "sha512-z67u4ZhzCL/Tydu1lJARtEZYWbWaN7oYLHbsuzocr6y4N6WZAagG3RQ4FW61V1/0+jImpj293XfrcYnd1qxtPg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=20" "node": ">=22.12.0"
}
},
"node_modules/markdownlint-cli/node_modules/js-yaml": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.2.1.tgz",
"integrity": "sha512-zfLtNfQqxVqq3uaTqSkh4x4hZw3KHobGUA0fJUj4wawW8bsQLTVqpHdXSIzidh7o+4lEW36tANuAGdaFx6Zgnw==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/puzrin"
},
{
"type": "github",
"url": "https://github.com/sponsors/nodeca"
}
],
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
},
"bin": {
"js-yaml": "bin/js-yaml.mjs"
} }
}, },
"node_modules/markdownlint-cli/node_modules/minimatch": { "node_modules/markdownlint-cli/node_modules/minimatch": {
"version": "10.2.4", "version": "10.2.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
"integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
"dev": true, "dev": true,
"license": "BlueOak-1.0.0", "license": "BlueOak-1.0.0",
"dependencies": { "dependencies": {
"brace-expansion": "^5.0.2" "brace-expansion": "^5.0.5"
}, },
"engines": { "engines": {
"node": "18 || 20 || >=22" "node": "18 || 20 || >=22"
@@ -1158,9 +1198,9 @@
} }
}, },
"node_modules/marked": { "node_modules/marked": {
"version": "17.0.0", "version": "18.0.7",
"resolved": "https://registry.npmjs.org/marked/-/marked-17.0.0.tgz", "resolved": "https://registry.npmjs.org/marked/-/marked-18.0.7.tgz",
"integrity": "sha512-KkDYEWEEiYJw/KC+DVm1zzlpMQSMIu6YRltkcCvwheCp8HWPXCk9JwOmHJKBlGfzcpzcIt6x3sMnTsRm/51oDg==", "integrity": "sha512-iDVQ5ldaiKXn6b2JroX5kgRfmwgqolW7NpaEzTl1k/2Zh1njIEN9yniyLV/mOvWwtsE8OGgkjsCYvijuPk1dtA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"bin": { "bin": {
@@ -1744,9 +1784,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/needle": { "node_modules/needle": {
"version": "3.3.1", "version": "3.5.0",
"resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", "resolved": "https://registry.npmjs.org/needle/-/needle-3.5.0.tgz",
"integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", "integrity": "sha512-jaQyPKKk2YokHrEg+vFDYxXIHTCBgiZwSHOoVx/8V3GIBS8/VN6NdVRmg8q1ERtPkMvmOvebsgga4sAj5hls/w==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -1761,9 +1801,9 @@
} }
}, },
"node_modules/netmask": { "node_modules/netmask": {
"version": "2.0.2", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.1.1.tgz",
"integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", "integrity": "sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@@ -1771,17 +1811,17 @@
} }
}, },
"node_modules/node-email-verifier": { "node_modules/node-email-verifier": {
"version": "3.4.1", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/node-email-verifier/-/node-email-verifier-3.4.1.tgz", "resolved": "https://registry.npmjs.org/node-email-verifier/-/node-email-verifier-4.0.0.tgz",
"integrity": "sha512-69JMeWgEUrCji+dOLULirdSoosRxgAq2y+imfmHHBGvgTwyTKqvm65Ls3+W30DCIWMrYj5kKVb/DHTQDK7OVwQ==", "integrity": "sha512-W3ktpVPscUx43WSTm1Vf797cMQMsGwp0JO08ksRaZG8A8wcRUd/XAihL78FwYl2rfABa1m1nIsBtqOMxY9uekA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"ms": "^2.1.3", "ms": "^2.1.3",
"validator": "^13.15.15" "validator": "^13.15.20"
}, },
"engines": { "engines": {
"node": ">=18.0.0" "node": ">=20.0.0"
} }
}, },
"node_modules/nth-check": { "node_modules/nth-check": {
@@ -1808,37 +1848,40 @@
} }
}, },
"node_modules/pac-proxy-agent": { "node_modules/pac-proxy-agent": {
"version": "7.2.0", "version": "9.1.0",
"resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-9.1.0.tgz",
"integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", "integrity": "sha512-1aU+1mpj3DrQPfo3gh+3Gap3G5x+axnMx1P/y0ZF2ch7kb2meyOCAH8K2k9d27ROsTE7TnAerzxqF9aon2jqnA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@tootallnate/quickjs-emscripten": "^0.23.0", "agent-base": "9.0.0",
"agent-base": "^7.1.2",
"debug": "^4.3.4", "debug": "^4.3.4",
"get-uri": "^6.0.1", "get-uri": "8.0.1",
"http-proxy-agent": "^7.0.0", "http-proxy-agent": "9.1.0",
"https-proxy-agent": "^7.0.6", "https-proxy-agent": "9.1.0",
"pac-resolver": "^7.0.1", "pac-resolver": "9.0.1",
"socks-proxy-agent": "^8.0.5" "quickjs-wasi": "^2.2.0",
"socks-proxy-agent": "10.1.0"
}, },
"engines": { "engines": {
"node": ">= 14" "node": ">= 20"
} }
}, },
"node_modules/pac-resolver": { "node_modules/pac-resolver": {
"version": "7.0.1", "version": "9.0.1",
"resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-9.0.1.tgz",
"integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", "integrity": "sha512-lJbS008tmkj08VhoM8Hzuv/VE5tK9MS0OIQ/7+s0lIF+BYhiQWFYzkSpML7lXs9iBu2jfmzBTLzhe9n6BX+dYw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"degenerator": "^5.0.0", "degenerator": "7.0.1",
"netmask": "^2.0.2" "netmask": "^2.0.2"
}, },
"engines": { "engines": {
"node": ">= 14" "node": ">= 20"
},
"peerDependencies": {
"quickjs-wasi": "^2.2.0"
} }
}, },
"node_modules/parse-entities": { "node_modules/parse-entities": {
@@ -1912,9 +1955,9 @@
} }
}, },
"node_modules/picomatch": { "node_modules/picomatch": {
"version": "4.0.3", "version": "4.0.4",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@@ -1935,31 +1978,52 @@
} }
}, },
"node_modules/proxy-agent": { "node_modules/proxy-agent": {
"version": "6.5.0", "version": "8.0.2",
"resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-8.0.2.tgz",
"integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", "integrity": "sha512-idLLRewuemWd7GH/BDJzGiB0dWGfT2SQs3jy6NtZtGWU9uPTTSdeC1/cdbqLwgzhfv027daGFuXX426e2Eg20A==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"agent-base": "^7.1.2", "agent-base": "9.0.0",
"debug": "^4.3.4", "debug": "^4.3.4",
"http-proxy-agent": "^7.0.1", "http-proxy-agent": "9.1.0",
"https-proxy-agent": "^7.0.6", "https-proxy-agent": "9.1.0",
"lru-cache": "^7.14.1", "lru-cache": "^7.14.1",
"pac-proxy-agent": "^7.1.0", "pac-proxy-agent": "9.1.0",
"proxy-from-env": "^1.1.0", "proxy-from-env": "^2.0.0",
"socks-proxy-agent": "^8.0.5" "socks-proxy-agent": "10.1.0"
}, },
"engines": { "engines": {
"node": ">= 14" "node": ">= 20"
}
},
"node_modules/proxy-agent-negotiate": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-agent-negotiate/-/proxy-agent-negotiate-1.1.0.tgz",
"integrity": "sha512-N8IBcM3UgCVzz2L2Lqv8DVntDnnC8/hiV4nEDUPkqq72TPUgYWjQc+bdZlBPZK9LzPAvOY//gAt0S0DApoOXWQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 20"
},
"peerDependencies": {
"kerberos": "^2.0.0"
},
"peerDependenciesMeta": {
"kerberos": {
"optional": true
}
} }
}, },
"node_modules/proxy-from-env": { "node_modules/proxy-from-env": {
"version": "1.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz",
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==",
"dev": true, "dev": true,
"license": "MIT" "license": "MIT",
"engines": {
"node": ">=10"
}
}, },
"node_modules/punycode.js": { "node_modules/punycode.js": {
"version": "2.3.1", "version": "2.3.1",
@@ -1971,6 +2035,13 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/quickjs-wasi": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/quickjs-wasi/-/quickjs-wasi-2.2.0.tgz",
"integrity": "sha512-zQxXmQMrEoD3S+jQdYsloq4qAuaxKFHZj6hHqOYGwB2iQZH+q9e/lf5zQPXCKOk0WJuAjzRFbO4KwHIp2D05Iw==",
"dev": true,
"license": "MIT"
},
"node_modules/repeat-string": { "node_modules/repeat-string": {
"version": "1.6.1", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
@@ -1982,14 +2053,14 @@
} }
}, },
"node_modules/run-con": { "node_modules/run-con": {
"version": "1.3.2", "version": "1.3.3",
"resolved": "https://registry.npmjs.org/run-con/-/run-con-1.3.2.tgz", "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.3.3.tgz",
"integrity": "sha512-CcfE+mYiTcKEzg0IqS08+efdnH0oJ3zV0wSUFBNrMHMuxCtXvBCLzCJHatwuXDcu/RlhjTziTo/a1ruQik6/Yg==", "integrity": "sha512-Lb7OKM9aaykzyoNiHGhSVCjZsvbyy6qDMp2vDXL+MoCfz3GfNJtHYH7uYsU3QNMyInBk++xx+EZ8xZ8Sxs5fNQ==",
"dev": true, "dev": true,
"license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
"dependencies": { "dependencies": {
"deep-extend": "^0.6.0", "deep-extend": "^0.6.0",
"ini": "~4.1.0", "ini": "~7.0.0",
"minimist": "^1.2.8", "minimist": "^1.2.8",
"strip-json-comments": "~3.1.1" "strip-json-comments": "~3.1.1"
}, },
@@ -2005,11 +2076,14 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/sax": { "node_modules/sax": {
"version": "1.4.1", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.1.tgz",
"integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", "integrity": "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==",
"dev": true, "dev": true,
"license": "ISC" "license": "BlueOak-1.0.0",
"engines": {
"node": ">=11.0.0"
}
}, },
"node_modules/smart-buffer": { "node_modules/smart-buffer": {
"version": "4.2.0", "version": "4.2.0",
@@ -2023,9 +2097,9 @@
} }
}, },
"node_modules/smol-toml": { "node_modules/smol-toml": {
"version": "1.6.0", "version": "1.7.0",
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.0.tgz", "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz",
"integrity": "sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==", "integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ==",
"dev": true, "dev": true,
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"engines": { "engines": {
@@ -2036,13 +2110,13 @@
} }
}, },
"node_modules/socks": { "node_modules/socks": {
"version": "2.8.4", "version": "2.8.9",
"resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.9.tgz",
"integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", "integrity": "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"ip-address": "^9.0.5", "ip-address": "^10.1.1",
"smart-buffer": "^4.2.0" "smart-buffer": "^4.2.0"
}, },
"engines": { "engines": {
@@ -2051,18 +2125,18 @@
} }
}, },
"node_modules/socks-proxy-agent": { "node_modules/socks-proxy-agent": {
"version": "8.0.5", "version": "10.1.0",
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-10.1.0.tgz",
"integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", "integrity": "sha512-WlMj/67cEJ6MDI1OcsnjuYKDNDoyPCCYZ249kuuXPiMDw9F8PXkVaQ7YWu3siTydfQ/4BEZcvGzu+aYvz7dDCQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"agent-base": "^7.1.2", "agent-base": "9.0.0",
"debug": "^4.3.4", "debug": "^4.3.4",
"socks": "^2.8.3" "socks": "^2.8.3"
}, },
"engines": { "engines": {
"node": ">= 14" "node": ">= 20"
} }
}, },
"node_modules/source-map": { "node_modules/source-map": {
@@ -2076,22 +2150,15 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/sprintf-js": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
"integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
"dev": true,
"license": "BSD-3-Clause"
},
"node_modules/string-width": { "node_modules/string-width": {
"version": "8.1.0", "version": "8.2.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz",
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==", "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"get-east-asian-width": "^1.3.0", "get-east-asian-width": "^1.5.0",
"strip-ansi": "^7.1.0" "strip-ansi": "^7.1.2"
}, },
"engines": { "engines": {
"node": ">=20" "node": ">=20"
@@ -2101,13 +2168,13 @@
} }
}, },
"node_modules/strip-ansi": { "node_modules/strip-ansi": {
"version": "7.1.2", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"ansi-regex": "^6.0.1" "ansi-regex": "^6.2.2"
}, },
"engines": { "engines": {
"node": ">=12" "node": ">=12"
@@ -2130,14 +2197,14 @@
} }
}, },
"node_modules/tinyglobby": { "node_modules/tinyglobby": {
"version": "0.2.15", "version": "0.2.17",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
"integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"fdir": "^6.5.0", "fdir": "^6.5.0",
"picomatch": "^4.0.3" "picomatch": "^4.0.4"
}, },
"engines": { "engines": {
"node": ">=12.0.0" "node": ">=12.0.0"
@@ -2171,9 +2238,9 @@
} }
}, },
"node_modules/validator": { "node_modules/validator": {
"version": "13.15.23", "version": "13.15.35",
"resolved": "https://registry.npmjs.org/validator/-/validator-13.15.23.tgz", "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.35.tgz",
"integrity": "sha512-4yoz1kEWqUjzi5zsPbAS/903QXSYp0UOtHsPpp7p9rHAw/W+dkInskAE386Fat3oKRROwO98d9ZB0G4cObgUyw==", "integrity": "sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@@ -2211,16 +2278,16 @@
"license": "ISC" "license": "ISC"
}, },
"node_modules/xmlbuilder2": { "node_modules/xmlbuilder2": {
"version": "4.0.0", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-4.0.0.tgz", "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-4.0.3.tgz",
"integrity": "sha512-zIoY033NGmbzHX1cYOGKNfeWpZyiGLzXGHNoxQ6tR/R+WqT7mqz+EDtFdPwqnhIms6vHz9BNtMS47DiGPyGfwg==", "integrity": "sha512-bx8Q1STctnNaaDymWnkfQLKofs0mGNN7rLLapJlGuV3VlvegD7Ls4ggMjE3aUSWItCCzU0PEv45lI87iSigiCA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@oozcitak/dom": "^2.0.1", "@oozcitak/dom": "^2.0.2",
"@oozcitak/infra": "^2.0.1", "@oozcitak/infra": "^2.0.2",
"@oozcitak/util": "^9.0.4", "@oozcitak/util": "^10.0.0",
"js-yaml": "^4.1.0" "js-yaml": "^4.1.1"
}, },
"engines": { "engines": {
"node": ">=20.0" "node": ">=20.0"
+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.48.0" "markdownlint-cli": "^0.49.0"
} }
} }
+18 -35
View File
@@ -4,6 +4,7 @@
"local>volker.raschek/renovate-config:default#master", "local>volker.raschek/renovate-config:default#master",
"local>volker.raschek/renovate-config:container#master", "local>volker.raschek/renovate-config:container#master",
"local>volker.raschek/renovate-config:actions#master", "local>volker.raschek/renovate-config:actions#master",
"local>volker.raschek/renovate-config:helm#master",
"local>volker.raschek/renovate-config:npm#master", "local>volker.raschek/renovate-config:npm#master",
"local>volker.raschek/renovate-config:regexp#master" "local>volker.raschek/renovate-config:regexp#master"
], ],
@@ -14,7 +15,7 @@
"^Chart\\.yaml$" "^Chart\\.yaml$"
], ],
"matchStrings": [ "matchStrings": [
"appVersion: \"(?<currentValue>.*?)\"\\s+" "^appVersion: \"?(?<currentValue>.*)\"?"
], ],
"datasourceTemplate": "docker", "datasourceTemplate": "docker",
"depNameTemplate": "gomods/athens", "depNameTemplate": "gomods/athens",
@@ -23,48 +24,19 @@
}, },
{ {
"customType": "regex", "customType": "regex",
"fileMatch": ["^README\\.md$"], "fileMatch": [
"^README\\.md$"
],
"matchStrings": [ "matchStrings": [
"VERSION=(?<currentValue>.*)" "CHART_VERSION=(?<currentValue>.*)"
], ],
"depNameTemplate": "volker.raschek/athens-proxy-charts", "depNameTemplate": "volker.raschek/athens-proxy-charts",
"packageNameTemplate": "https://git.cryptic.systems/volker.raschek/athens-proxy-charts", "packageNameTemplate": "https://git.cryptic.systems/volker.raschek/athens-proxy-charts",
"datasourceTemplate": "git-tags", "datasourceTemplate": "git-tags",
"versioningTemplate": "semver" "versioningTemplate": "semver"
},
{
"customType": "regex",
"datasourceTemplate": "github-releases",
"fileMatch": [
".vscode/settings\\.json$"
],
"matchStrings": [
"https:\\/\\/raw\\.githubusercontent\\.com\\/(?<depName>[^\\s]+?)\\/(?<currentValue>v[0-9.]+?)\\/schema\\/helm-testsuite\\.json"
]
} }
], ],
"packageRules": [ "packageRules": [
{
"groupName": "Update docker.io/volkerraschek/helm",
"matchDepNames": [
"docker.io/volkerraschek/helm",
"volkerraschek/helm"
]
},
{
"automerge": true,
"groupName": "Update helm plugin 'unittest'",
"matchDepNames": [
"helm-unittest/helm-unittest"
],
"matchDatasources": [
"github-releases"
],
"matchUpdateTypes": [
"minor",
"patch"
]
},
{ {
"groupName": "Update docker.io/library/node", "groupName": "Update docker.io/library/node",
"matchDepNames": [ "matchDepNames": [
@@ -104,5 +76,16 @@
"patch" "patch"
] ]
} }
] ],
"postUpgradeTasks": {
"commands": [
"install-tool node",
"make readme"
],
"fileFilters": [
"README.md",
"values.yaml"
],
"executionMode": "update"
}
} }
+32
View File
@@ -0,0 +1,32 @@
{{/* vim: set filetype=mustache: */}}
{{/* annotations */}}
{{- define "athens-proxy.backendTLSPolicy.annotations" -}}
{{ include "athens-proxy.annotations" . }}
{{- if .Values.gatewayAPI.core.backendTLSPolicy.annotations }}
{{ toYaml .Values.gatewayAPI.core.backendTLSPolicy.annotations }}
{{- end }}
{{- end }}
{{/* enabled */}}
{{- define "athens-proxy.backendTLSPolicy.enabled" -}}
{{- if and .Values.gatewayAPI.enabled
.Values.gatewayAPI.core.backendTLSPolicy.enabled
.Values.service.enabled
-}}
true
{{- else -}}
false
{{- end -}}
{{- end }}
{{/* labels */}}
{{- define "athens-proxy.backendTLSPolicy.labels" -}}
{{ include "athens-proxy.labels" . }}
{{- if .Values.gatewayAPI.core.backendTLSPolicy.labels }}
{{ toYaml .Values.gatewayAPI.core.backendTLSPolicy.labels }}
{{- end }}
{{- end }}
+31
View File
@@ -0,0 +1,31 @@
{{/* vim: set filetype=mustache: */}}
{{/* annotations */}}
{{- define "athens-proxy.clientSettingsPolicy.annotations" -}}
{{ include "athens-proxy.annotations" . }}
{{- if .Values.gatewayAPI.nginx.clientSettingsPolicy.annotations }}
{{ toYaml .Values.gatewayAPI.nginx.clientSettingsPolicy.annotations }}
{{- end }}
{{- end }}
{{/* enabled */}}
{{- define "athens-proxy.clientSettingsPolicy.enabled" -}}
{{- if and (eq (include "athens-proxy.httpRoute.enabled" $) "true")
.Values.gatewayAPI.nginx.clientSettingsPolicy.enabled
-}}
true
{{- else -}}
false
{{- end -}}
{{- end }}
{{/* labels */}}
{{- define "athens-proxy.clientSettingsPolicy.labels" -}}
{{ include "athens-proxy.labels" . }}
{{- if .Values.gatewayAPI.nginx.clientSettingsPolicy.labels }}
{{ toYaml .Values.gatewayAPI.nginx.clientSettingsPolicy.labels }}
{{- end }}
{{- end }}
+32
View File
@@ -0,0 +1,32 @@
{{/* vim: set filetype=mustache: */}}
{{/* annotations */}}
{{- define "athens-proxy.httpRoute.annotations" -}}
{{ include "athens-proxy.annotations" . }}
{{- if .Values.gatewayAPI.core.httpRoute.annotations }}
{{ toYaml .Values.gatewayAPI.core.httpRoute.annotations }}
{{- end }}
{{- end }}
{{/* enabled */}}
{{- define "athens-proxy.httpRoute.enabled" -}}
{{- if and .Values.gatewayAPI.enabled
.Values.gatewayAPI.core.httpRoute.enabled
.Values.service.enabled
-}}
true
{{- else -}}
false
{{- end -}}
{{- end }}
{{/* labels */}}
{{- define "athens-proxy.httpRoute.labels" -}}
{{ include "athens-proxy.labels" . }}
{{- if .Values.gatewayAPI.core.httpRoute.labels }}
{{ toYaml .Values.gatewayAPI.core.httpRoute.labels }}
{{- end }}
{{- end }}
+10 -10
View File
@@ -2,28 +2,28 @@
{{/* annotations */}} {{/* annotations */}}
{{- define "athens-proxy.services.http.annotations" -}} {{- define "athens-proxy.service.annotations" -}}
{{ include "athens-proxy.annotations" . }} {{ include "athens-proxy.annotations" . }}
{{- if .Values.services.http.annotations }} {{- if .Values.service.annotations }}
{{ toYaml .Values.services.http.annotations }} {{ toYaml .Values.service.annotations }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{/* labels */}} {{/* labels */}}
{{- define "athens-proxy.services.http.labels" -}} {{- define "athens-proxy.service.labels" -}}
{{ include "athens-proxy.labels" . }} {{ include "athens-proxy.labels" . }}
{{/* Add label to select the correct service via `selector.matchLabels` of the serviceMonitor resource. */}} {{/* Add label to select the correct service via `selector.matchLabels` of the serviceMonitor resource. */}}
app.kubernetes.io/service-name: http app.kubernetes.io/service-name: http
{{- if .Values.services.http.labels }} {{- if .Values.service.labels }}
{{ toYaml .Values.services.http.labels }} {{ toYaml .Values.service.labels }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{/* names */}} {{/* names */}}
{{- define "athens-proxy.services.http.name" -}} {{- define "athens-proxy.service.name" -}}
{{- if .Values.services.http.enabled -}} {{- if .Values.service.enabled -}}
{{ include "athens-proxy.fullname" . }}-http {{ include "athens-proxy.fullname" . }}
{{- end -}}
{{- end -}} {{- end -}}
{{- end -}}
+25
View File
@@ -0,0 +1,25 @@
{{- if eq (include "athens-proxy.backendTLSPolicy.enabled" $) "true" }}
---
apiVersion: gateway.networking.k8s.io/v1
kind: BackendTLSPolicy
metadata:
{{- with (include "athens-proxy.backendTLSPolicy.annotations" . | fromYaml) }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with (include "athens-proxy.backendTLSPolicy.labels" . | fromYaml) }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
name: {{ include "athens-proxy.fullname" . }}
namespace: {{ .Release.Namespace }}
spec:
targetRefs:
- group: ""
kind: Service
name: {{ include "athens-proxy.service.name" . }}
{{- with .Values.gatewayAPI.core.backendTLSPolicy.validation }}
validation:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end -}}
+50
View File
@@ -0,0 +1,50 @@
{{- if eq (include "athens-proxy.clientSettingsPolicy.enabled" $) "true" }}
apiVersion: gateway.nginx.org/v1alpha1
kind: ClientSettingsPolicy
metadata:
{{- with (include "athens-proxy.clientSettingsPolicy.annotations" . | fromYaml) }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with (include "athens-proxy.clientSettingsPolicy.labels" . | fromYaml) }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
name: {{ include "athens-proxy.fullname" . }}
namespace: {{ .Release.Namespace }}
spec:
targetRef:
group: gateway.networking.k8s.io
kind: HTTPRoute
name: {{ include "athens-proxy.fullname" . }}
{{- if or .Values.gatewayAPI.nginx.clientSettingsPolicy.clientMaxBodySize
.Values.gatewayAPI.nginx.clientSettingsPolicy.clientBodyTimeout
}}
body:
{{- with .Values.gatewayAPI.nginx.clientSettingsPolicy.clientMaxBodySize }}
maxSize: {{ . }}
{{- end }}
{{- with .Values.gatewayAPI.nginx.clientSettingsPolicy.clientBodyTimeout }}
timeout: {{ . }}
{{- end }}
{{- end }}
{{- if or .Values.gatewayAPI.nginx.clientSettingsPolicy.keepaliveRequests
.Values.gatewayAPI.nginx.clientSettingsPolicy.keepaliveTime
.Values.gatewayAPI.nginx.clientSettingsPolicy.keepaliveTimeout
.Values.gatewayAPI.nginx.clientSettingsPolicy.keepaliveMinTimeout
}}
keepAlive:
{{- with .Values.gatewayAPI.nginx.clientSettingsPolicy.keepaliveRequests }}
requests: {{ . }}
{{- end }}
{{- with .Values.gatewayAPI.nginx.clientSettingsPolicy.keepaliveTime }}
time: {{ . }}
{{- end }}
{{- with .Values.gatewayAPI.nginx.clientSettingsPolicy.keepaliveTimeout }}
timeout: {{ . }}
{{- end }}
{{- with .Values.gatewayAPI.nginx.clientSettingsPolicy.keepaliveMinTimeout }}
minTimeout: {{ . }}
{{- end }}
{{- end }}
{{- end -}}
+37
View File
@@ -0,0 +1,37 @@
{{- if eq (include "athens-proxy.httpRoute.enabled" $) "true" }}
---
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
{{- with (include "athens-proxy.httpRoute.annotations" . | fromYaml) }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with (include "athens-proxy.httpRoute.labels" . | fromYaml) }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
name: {{ include "athens-proxy.fullname" . }}
namespace: {{ .Release.Namespace }}
spec:
{{- with .Values.gatewayAPI.core.httpRoute.hostnames }}
hostnames:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.gatewayAPI.core.httpRoute.parentRefs }}
parentRefs:
{{- toYaml . | nindent 4 }}
{{- end }}
rules:
- backendRefs:
- group: ''
kind: Service
name: {{ include "athens-proxy.service.name" . }}
namespace: {{ .Release.Namespace }}
port: {{ .Values.service.port }}
weight: 1
{{- with .Values.gatewayAPI.core.httpRoute.matches }}
matches:
{{- toYaml . | nindent 6 }}
{{- end }}
{{- end }}
+4 -4
View File
@@ -1,4 +1,4 @@
{{- if and .Values.services.http.enabled .Values.ingress.enabled }} {{- if and .Values.service.enabled .Values.ingress.enabled }}
--- ---
apiVersion: networking.k8s.io/v1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
@@ -27,9 +27,9 @@ spec:
{{- end }} {{- end }}
backend: backend:
service: service:
name: {{ include "athens-proxy.services.http.name" $ }} name: {{ include "athens-proxy.service.name" $ }}
port: port:
number: {{ $.Values.services.http.port }} number: {{ $.Values.service.port }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- if .Values.ingress.tls }} {{- if .Values.ingress.tls }}
@@ -42,4 +42,4 @@ spec:
secretName: {{ .secretName | quote }} secretName: {{ .secretName | quote }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- end }} {{- end }}
+57
View File
@@ -0,0 +1,57 @@
{{- if .Values.service.enabled }}
---
apiVersion: v1
kind: Service
metadata:
{{- with (include "athens-proxy.service.annotations" . | fromYaml) }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with (include "athens-proxy.service.labels" . | fromYaml) }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
name: {{ include "athens-proxy.service.name" . }}
namespace: {{ .Release.Namespace }}
spec:
{{- if not (empty .Values.service.externalIPs) }}
externalIPs:
{{- range .Values.service.externalIPs }}
- {{ . }}
{{- end }}
{{- end }}
{{- if and (or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") ) .Values.service.externalTrafficPolicy }}
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }}
{{- end }}
internalTrafficPolicy: {{ required "No internal traffic policy defined!" .Values.service.internalTrafficPolicy }}
{{- if .Values.service.ipFamilies }}
ipFamilies:
{{- range .Values.service.ipFamilies }}
- {{ . }}
{{- end }}
{{- end }}
{{- if and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerClass }}
loadBalancerClass: {{ .Values.service.loadBalancerClass }}
{{- end }}
{{- if and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerIP }}
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
{{- end }}
{{- if eq .Values.service.type "LoadBalancer" }}
loadBalancerSourceRanges:
{{- range .Values.service.loadBalancerSourceRanges }}
- {{ . }}
{{- end }}
{{- end }}
ports:
- name: http
protocol: TCP
port: {{ required "No service port defined!" .Values.service.port }}
selector:
{{- include "athens-proxy.pod.selectorLabels" . | nindent 4 }}
sessionAffinity: {{ required "No session affinity defined!" .Values.service.sessionAffinity }}
{{- with .Values.service.sessionAffinityConfig }}
sessionAffinityConfig:
{{- toYaml . | nindent 4}}
{{- end }}
type: {{ required "No service type defined!" .Values.service.type }}
{{- end }}
-57
View File
@@ -1,57 +0,0 @@
{{- if .Values.services.http.enabled }}
---
apiVersion: v1
kind: Service
metadata:
{{- with (include "athens-proxy.services.http.annotations" . | fromYaml) }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with (include "athens-proxy.services.http.labels" . | fromYaml) }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
name: {{ include "athens-proxy.services.http.name" . }}
namespace: {{ .Release.Namespace }}
spec:
{{- if not (empty .Values.services.http.externalIPs) }}
externalIPs:
{{- range .Values.services.http.externalIPs }}
- {{ . }}
{{- end }}
{{- end }}
{{- if and (or (eq .Values.services.http.type "LoadBalancer") (eq .Values.services.http.type "NodePort") ) .Values.services.http.externalTrafficPolicy }}
externalTrafficPolicy: {{ .Values.services.http.externalTrafficPolicy }}
{{- end }}
internalTrafficPolicy: {{ required "No internal traffic policy defined!" .Values.services.http.internalTrafficPolicy }}
{{- if .Values.services.http.ipFamilies }}
ipFamilies:
{{- range .Values.services.http.ipFamilies }}
- {{ . }}
{{- end }}
{{- end }}
{{- if and (eq .Values.services.http.type "LoadBalancer") .Values.services.http.loadBalancerClass }}
loadBalancerClass: {{ .Values.services.http.loadBalancerClass }}
{{- end }}
{{- if and (eq .Values.services.http.type "LoadBalancer") .Values.services.http.loadBalancerIP }}
loadBalancerIP: {{ .Values.services.http.loadBalancerIP }}
{{- end }}
{{- if eq .Values.services.http.type "LoadBalancer" }}
loadBalancerSourceRanges:
{{- range .Values.services.http.loadBalancerSourceRanges }}
- {{ . }}
{{- end }}
{{- end }}
ports:
- name: http
protocol: TCP
port: {{ required "No service port defined!" .Values.services.http.port }}
selector:
{{- include "athens-proxy.pod.selectorLabels" . | nindent 4 }}
sessionAffinity: {{ required "No session affinity defined!" .Values.services.http.sessionAffinity }}
{{- with .Values.services.http.sessionAffinityConfig }}
sessionAffinityConfig:
{{- toYaml . | nindent 4}}
{{- end }}
type: {{ required "No service type defined!" .Values.services.http.type }}
{{- end }}
@@ -0,0 +1,130 @@
chart:
appVersion: 0.1.0
version: 0.1.0
suite: backendTLSPolicy template
release:
name: athens-proxy-unittest
namespace: testing
templates:
- templates/backendTLSPolicy.yaml
tests:
- it: Skip rendering when disabled 1/6
set:
gatewayAPI.enabled: false
gatewayAPI.core.backendTLSPolicy.enabled: false
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 2/6
set:
gatewayAPI.enabled: true
gatewayAPI.core.backendTLSPolicy.enabled: false
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 3/6
set:
gatewayAPI.enabled: false
gatewayAPI.core.backendTLSPolicy.enabled: true
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 4/6
set:
gatewayAPI.enabled: false
gatewayAPI.core.backendTLSPolicy.enabled: false
service.enabled: true
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 5/6
set:
gatewayAPI.enabled: true
gatewayAPI.core.backendTLSPolicy.enabled: false
service.enabled: true
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 6/6
set:
gatewayAPI.enabled: true
gatewayAPI.core.backendTLSPolicy.enabled: true
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Render default values
set:
gatewayAPI.enabled: true
gatewayAPI.core.backendTLSPolicy.enabled: true
service.enabled: true
asserts:
- hasDocuments:
count: 1
- containsDocument:
apiVersion: gateway.networking.k8s.io/v1
kind: BackendTLSPolicy
name: athens-proxy-unittest
namespace: testing
- contains:
path: spec.targetRefs
content:
group: ""
kind: Service
name: athens-proxy-unittest
- notExists:
path: spec.validation.caCertificateRefs
- it: Render with custom annotations and labels
set:
gatewayAPI.enabled: true
gatewayAPI.core.backendTLSPolicy:
enabled: true
annotations:
foo: bar
labels:
bar: foo
service.enabled: true
asserts:
- equal:
path: metadata.annotations
value:
foo: bar
- equal:
path: metadata.labels
value:
app.kubernetes.io/instance: athens-proxy-unittest
app.kubernetes.io/name: athens-proxy
app.kubernetes.io/version: 0.1.0
app.kubernetes.io/managed-by: Helm
helm.sh/chart: athens-proxy-0.1.0
bar: foo
- it: Render with custom validation
set:
gatewayAPI.enabled: true
gatewayAPI.core.backendTLSPolicy.enabled: true
gatewayAPI.core.backendTLSPolicy.validation:
caCertificateRefs:
- group: ""
kind: Secret
name: athens-proxy-ca
hostname: athens-proxy.svc.cluster.local
service.enabled: true
asserts:
- isSubset:
path: spec.validation
content:
caCertificateRefs:
- group: ""
kind: Secret
name: athens-proxy-ca
@@ -0,0 +1,190 @@
chart:
appVersion: 0.1.0
version: 0.1.0
suite: ClientSettingsPolicy template
release:
name: athens-proxy-unittest
namespace: testing
templates:
- templates/clientSettingsPolicy.yaml
tests:
- it: Skip rendering when disabled 1/8
set:
gatewayAPI.enabled: false
gatewayAPI.core.httpRoute.enabled: false
gatewayAPI.nginx.clientSettingsPolicy.enabled: false
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 2/8
set:
gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: false
gatewayAPI.nginx.clientSettingsPolicy.enabled: false
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 3/8
set:
gatewayAPI.enabled: false
gatewayAPI.core.httpRoute.enabled: true
gatewayAPI.nginx.clientSettingsPolicy.enabled: false
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 4/8
set:
gatewayAPI.enabled: false
gatewayAPI.core.httpRoute.enabled: false
gatewayAPI.nginx.clientSettingsPolicy.enabled: true
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 5/8
set:
gatewayAPI.enabled: false
gatewayAPI.core.httpRoute.enabled: false
gatewayAPI.nginx.clientSettingsPolicy.enabled: false
service.enabled: true
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 6/8
set:
gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: true
gatewayAPI.nginx.clientSettingsPolicy.enabled: false
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 7/8
set:
gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: false
gatewayAPI.nginx.clientSettingsPolicy.enabled: true
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 8/8
set:
gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: false
gatewayAPI.nginx.clientSettingsPolicy.enabled: false
service.enabled: true
asserts:
- hasDocuments:
count: 0
- it: Render default values
set:
gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: true
gatewayAPI.nginx.clientSettingsPolicy.enabled: true
service.enabled: true
asserts:
- hasDocuments:
count: 1
- containsDocument:
apiVersion: gateway.nginx.org/v1alpha1
kind: ClientSettingsPolicy
name: athens-proxy-unittest
namespace: testing
- notExists:
path: metadata.annotations
- equal:
path: metadata.labels
value:
app.kubernetes.io/instance: athens-proxy-unittest
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: athens-proxy
app.kubernetes.io/version: 0.1.0
helm.sh/chart: athens-proxy-0.1.0
- isSubset:
path: spec.targetRef
content:
group: gateway.networking.k8s.io
kind: HTTPRoute
name: athens-proxy-unittest
- notExists:
path: spec.body
- notExists:
path: spec.keepAlive
- it: Render custom annotations and labels
set:
gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: true
gatewayAPI.nginx.clientSettingsPolicy:
enabled: true
annotations:
foo: "bar"
labels:
bar: "foo"
service.enabled: true
asserts:
- equal:
path: metadata.annotations
value:
foo: "bar"
- equal:
path: metadata.labels
value:
app.kubernetes.io/instance: athens-proxy-unittest
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: athens-proxy
app.kubernetes.io/version: 0.1.0
helm.sh/chart: athens-proxy-0.1.0
bar: "foo"
- it: Render with custom body settings
set:
gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: true
gatewayAPI.nginx.clientSettingsPolicy:
enabled: true
clientMaxBodySize: 10m
clientBodyTimeout: 30s
service.enabled: true
asserts:
- isSubset:
path: spec.body
content:
maxSize: 10m
timeout: 30s
- notExists:
path: spec.keepAlive
- it: Render with custom keepAlive settings
set:
gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: true
gatewayAPI.nginx.clientSettingsPolicy:
enabled: true
keepaliveRequests: 100
keepaliveTime: 60s
keepaliveTimeout: 60s
keepaliveMinTimeout: 10s
service.enabled: true
asserts:
- notExists:
path: spec.body
- isSubset:
path: spec.keepAlive
content:
requests: 100
time: 60s
timeout: 60s
minTimeout: 10s
+195
View File
@@ -0,0 +1,195 @@
chart:
appVersion: 0.1.0
version: 0.1.0
suite: HTTPRoute template
release:
name: athens-proxy-unittest
namespace: testing
templates:
- templates/httpRoute.yaml
tests:
- it: Skip rendering when disabled 1/6
set:
gatewayAPI.enabled: false
gatewayAPI.core.httpRoute.enabled: false
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 2/6
set:
gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: false
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 3/6
set:
gatewayAPI.enabled: false
gatewayAPI.core.httpRoute.enabled: true
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 4/6
set:
gatewayAPI.enabled: false
gatewayAPI.core.httpRoute.enabled: false
service.enabled: true
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 5/6
set:
gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: false
service.enabled: true
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 6/6
set:
gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: true
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Rendering default values
set:
gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: true
service.enabled: true
asserts:
- hasDocuments:
count: 1
- containsDocument:
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
name: athens-proxy-unittest
namespace: testing
- notExists:
path: metadata.annotations
- equal:
path: metadata.labels
value:
app.kubernetes.io/instance: athens-proxy-unittest
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: athens-proxy
app.kubernetes.io/version: 0.1.0
helm.sh/chart: athens-proxy-0.1.0
- notExists:
path: spec.hostnames
- notExists:
path: spec.parentRefs
- contains:
path: spec.rules[0].backendRefs
content:
group: ''
kind: Service
name: athens-proxy-unittest
namespace: testing
port: 3000
weight: 1
- contains:
path: spec.rules[0].matches
content:
path:
type: PathPrefix
value: /
- it: Rendering custom annotations and labels
set:
gatewayAPI.enabled: true
gatewayAPI.core.httpRoute:
enabled: true
annotations:
foo: bar
labels:
bar: foo
service.enabled: true
asserts:
- hasDocuments:
count: 1
- equal:
path: metadata.annotations
value:
foo: bar
- equal:
path: metadata.labels
value:
app.kubernetes.io/instance: athens-proxy-unittest
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: athens-proxy
app.kubernetes.io/version: 0.1.0
bar: foo
helm.sh/chart: athens-proxy-0.1.0
- it: Rendering custom service port
set:
gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: true
service:
enabled: true
port: 9090
asserts:
- equal:
path: spec.rules[0].backendRefs[0].port
value: 9090
- it: Rendering custom matches
set:
gatewayAPI.enabled: true
gatewayAPI.core.httpRoute:
enabled: true
matches:
- path:
type: PathPrefix
value: /foo
service.enabled: true
asserts:
- contains:
path: spec.rules[0].matches
content:
path:
type: PathPrefix
value: /foo
- it: Rendering custom hostnames and parentRefs
set:
gatewayAPI.enabled: true
gatewayAPI.core.httpRoute:
enabled: true
hostnames:
- athens-proxy.example.local
parentRefs:
- name: gateway
namespace: testing
kind: Gateway
sectionName: athens-proxy-debug-gateway
service.enabled: true
asserts:
- lengthEqual:
path: spec.hostnames
count: 1
- contains:
path: spec.hostnames
content:
athens-proxy.example.local
- lengthEqual:
path: spec.parentRefs
count: 1
- contains:
path: spec.parentRefs
content:
name: gateway
namespace: testing
kind: Gateway
sectionName: athens-proxy-debug-gateway
@@ -15,7 +15,7 @@ tests:
- it: Skip ingress, when service is disabled. - it: Skip ingress, when service is disabled.
set: set:
services.http.enabled: false service.enabled: false
ingress.enabled: true ingress.enabled: true
asserts: asserts:
- hasDocuments: - hasDocuments:
@@ -65,7 +65,7 @@ tests:
pathType: Prefix pathType: Prefix
backend: backend:
service: service:
name: athens-proxy-unittest-http name: athens-proxy-unittest
port: port:
number: 3000 number: 3000
- contains: - contains:
@@ -92,7 +92,7 @@ tests:
- secretName: athens-proxy-http-tls - secretName: athens-proxy-http-tls
hosts: hosts:
- athens-proxy.example.local - athens-proxy.example.local
services.http.port: 8080 service.port: 8080
asserts: asserts:
- hasDocuments: - hasDocuments:
@@ -128,7 +128,7 @@ tests:
pathType: Prefix pathType: Prefix
backend: backend:
service: service:
name: athens-proxy-unittest-http name: athens-proxy-unittest
port: port:
number: 8080 number: 8080
- contains: - contains:
@@ -6,11 +6,11 @@ release:
name: athens-proxy-unittest name: athens-proxy-unittest
namespace: testing namespace: testing
templates: templates:
- templates/serviceHTTP.yaml - templates/service.yaml
tests: tests:
- it: Skip service when disabled. - it: Skip service when disabled.
set: set:
services.http.enabled: false service.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -22,7 +22,7 @@ tests:
- containsDocument: - containsDocument:
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
name: athens-proxy-unittest-http name: athens-proxy-unittest
namespace: testing namespace: testing
- notExists: - notExists:
path: metadata.annotations path: metadata.annotations
@@ -75,37 +75,37 @@ tests:
- it: Require internalTrafficPolicy. - it: Require internalTrafficPolicy.
set: set:
services.http.internalTrafficPolicy: "" service.internalTrafficPolicy: ""
asserts: asserts:
- failedTemplate: - failedTemplate:
errorMessage: No internal traffic policy defined! errorMessage: No internal traffic policy defined!
- it: Require port. - it: Require port.
set: set:
services.http.port: "" service.port: ""
asserts: asserts:
- failedTemplate: - failedTemplate:
errorMessage: No service port defined! errorMessage: No service port defined!
- it: Require sessionAffinity. - it: Require sessionAffinity.
set: set:
services.http.sessionAffinity: "" service.sessionAffinity: ""
asserts: asserts:
- failedTemplate: - failedTemplate:
errorMessage: No session affinity defined! errorMessage: No session affinity defined!
- it: Require service type. - it: Require service type.
set: set:
services.http.type: "" service.type: ""
asserts: asserts:
- failedTemplate: - failedTemplate:
errorMessage: No service type defined! errorMessage: No service type defined!
- it: Render service with custom annotations and labels. - it: Render service with custom annotations and labels.
set: set:
services.http.annotations: service.annotations:
foo: bar foo: bar
services.http.labels: service.labels:
bar: foo bar: foo
asserts: asserts:
- equal: - equal:
@@ -125,19 +125,19 @@ tests:
- it: Change defaults - it: Change defaults
set: set:
services.http.externalIPs: service.externalIPs:
- "10.11.12.13/32" - "10.11.12.13/32"
services.http.externalTrafficPolicy: Local service.externalTrafficPolicy: Local
services.http.internalTrafficPolicy: Local service.internalTrafficPolicy: Local
services.http.ipFamilies: service.ipFamilies:
- IPv4 - IPv4
services.http.loadBalancerClass: aws service.loadBalancerClass: aws
services.http.loadBalancerIP: "11.12.13.14" service.loadBalancerIP: "11.12.13.14"
services.http.loadBalancerSourceRanges: service.loadBalancerSourceRanges:
- "11.12.0.0/17" - "11.12.0.0/17"
services.http.port: 10443 service.port: 10443
services.http.sessionAffinity: ClientIP service.sessionAffinity: ClientIP
services.http.type: LoadBalancer service.type: LoadBalancer
asserts: asserts:
- equal: - equal:
path: spec.externalIPs path: spec.externalIPs
@@ -171,4 +171,4 @@ tests:
value: ClientIP value: ClientIP
- equal: - equal:
path: spec.type path: spec.type
value: LoadBalancer value: LoadBalancer
+119 -34
View File
@@ -1,4 +1,5 @@
# Declare variables to be passed into your templates. # Declare variables to be passed into your templates.
## @section Global ## @section Global
## @param nameOverride Individual release name suffix. ## @param nameOverride Individual release name suffix.
## @param fullnameOverride Override the complete release name logic. ## @param fullnameOverride Override the complete release name logic.
@@ -520,6 +521,72 @@ deployment:
# secret: # secret:
# secretName: my-secret # secretName: my-secret
## @section GatewayAPI
gatewayAPI:
## @param gatewayAPI.enabled Enable the Gateway API resources. Requires Kubernetes v1.19 or higher, the CRD's and a compatible gateway controller.
enabled: false
core:
## @param gatewayAPI.core.backendTLSPolicy.enabled Enable the BackendTLSPolicy resource. Requires also `gatewayAPI.enabled` to be `true`.
## @param gatewayAPI.core.backendTLSPolicy.annotations Additional annotations for the BackendTLSPolicy.
## @param gatewayAPI.core.backendTLSPolicy.labels Additional labels for the BackendTLSPolicy.
## @param gatewayAPI.core.backendTLSPolicy.validation Validation configuration for the BackendTLSPolicy. For example, you can specify a trusted CA certificate to validate the TLS connection between the gateway and the athens-proxy pod.
backendTLSPolicy:
enabled: false
annotations: {}
labels: {}
validation: {}
# caCertificateRefs:
# - group: ""
# kind: Secret
# name: "athens-proxy-ca"
# hostname: "athens-proxy"
## @param gatewayAPI.core.httpRoute.enabled Enable the HTTPRoute resource. Requires also `gatewayAPI.enabled` and `service.enabled` to be `true`.
## @param gatewayAPI.core.httpRoute.annotations Additional annotations for the HTTPRoute.
## @param gatewayAPI.core.httpRoute.labels Additional labels for the HTTPRoute.
## @param gatewayAPI.core.httpRoute.hostnames Hostnames for the HTTPRoute.
## @skip gatewayAPI.core.httpRoute.matches Match conditions for the HTTPRoute. You can specify path based match conditions to route traffic to the athens-proxy service.
## @param gatewayAPI.core.httpRoute.parentRefs ParentRefs for the HTTPRoute. You can specify parentRefs to bind the HTTPRoute to specific Gateway resources.
httpRoute:
enabled: false
annotations: {}
labels: {}
hostnames: []
matches:
- path:
type: PathPrefix
value: /
parentRefs: []
# - name: gateway
# kind: Gateway
# group: gateway.networking.k8s.io
# namespace: default
# sectionName: athens-proxy-http
nginx:
## @param gatewayAPI.nginx.clientSettingsPolicy.enabled Enable the ClientSettingsPolicy resource. Requires also `gatewayAPI.enabled` to be `true`.
## @param gatewayAPI.nginx.clientSettingsPolicy.annotations Additional annotations for the ClientSettingsPolicy.
## @param gatewayAPI.nginx.clientSettingsPolicy.labels Additional labels for the ClientSettingsPolicy.
## @param gatewayAPI.nginx.clientSettingsPolicy.clientMaxBodySize ClientMaxBodySize sets the maximum allowed size of the client request body. If not specified, the default of the nginx gateway controller is used.
## @param gatewayAPI.nginx.clientSettingsPolicy.clientBodyTimeout ClientBodyTimeout sets the timeout for reading the client request body. If not specified, the default of the nginx gateway controller is used.
## @param gatewayAPI.nginx.clientSettingsPolicy.keepaliveRequests KeepaliveRequests sets the maximum number of requests that can be served through one keepalive connection. If not specified, the default of the nginx gateway controller is used.
## @param gatewayAPI.nginx.clientSettingsPolicy.keepaliveTime KeepaliveTime sets the time a keepalive connection is kept open. If not specified, the default of the nginx gateway controller is used.
## @param gatewayAPI.nginx.clientSettingsPolicy.keepaliveTimeout KeepaliveTimeout sets the time a client has to wait for the response of a request until the connection is closed. If not specified, the default of the nginx gateway controller is used.
## @param gatewayAPI.nginx.clientSettingsPolicy.keepaliveMinTimeout KeepaliveMinTimeout sets the minimum time a client has to wait for the response of a request until the connection is closed. If not specified, the default of the nginx gateway controller is used.
clientSettingsPolicy:
enabled: false
annotations: {}
labels: {}
clientMaxBodySize: ""
clientBodyTimeout: ""
keepaliveRequests:
keepaliveTime: ""
keepaliveTimeout: ""
keepaliveMinTimeout: ""
## @section Horizontal Pod Autoscaler (HPA) ## @section Horizontal Pod Autoscaler (HPA)
# In order for the HPA to function successfully, a metric server is required, especially for resource consumption. The # In order for the HPA to function successfully, a metric server is required, especially for resource consumption. The
# metric server enables the CPU and memory utilisation to be recorded. If such a metric server is not available, the HPA # metric server enables the CPU and memory utilisation to be recorded. If such a metric server is not available, the HPA
@@ -548,9 +615,11 @@ hpa:
# target: # target:
# averageUtilization: 65 # averageUtilization: 65
# type: Utilization # type: Utilization
# type: Resource
minReplicas: 1 minReplicas: 1
maxReplicas: 10 maxReplicas: 10
## @section Ingress ## @section Ingress
ingress: ingress:
## @param ingress.enabled Enable creation of an ingress resource. Requires, that the http service is also enabled. ## @param ingress.enabled Enable creation of an ingress resource. Requires, that the http service is also enabled.
@@ -562,7 +631,7 @@ ingress:
annotations: {} annotations: {}
labels: {} labels: {}
## @param ingress.hosts Ingress specific configuration. Specification only required when another ingress controller is used instead of `t1k. ## @param ingress.hosts Ingress specific configuration.
## @skip ingress.hosts Skip individual host configuration. ## @skip ingress.hosts Skip individual host configuration.
hosts: [] hosts: []
# - host: athens-proxy.example.local # - host: athens-proxy.example.local
@@ -570,7 +639,7 @@ ingress:
# - path: / # - path: /
# pathType: Prefix # pathType: Prefix
## @param ingress.tls Ingress TLS settings. Specification only required when another ingress controller is used instead of `t1k``. ## @param ingress.tls Ingress TLS settings.
## @skip ingress.tls Skip individual TLS configuration. ## @skip ingress.tls Skip individual TLS configuration.
tls: [] tls: []
# - secretName: athens-proxy-http-tls # - secretName: athens-proxy-http-tls
@@ -632,7 +701,13 @@ networkPolicy:
# - port: 22 # - port: 22
# protocol: TCP # protocol: TCP
# Allow outgoing HTTPS traffic to external go module servers # Allow outgoing traffic to HTTP severs
#
# - ports:
# - port: 80
# protocol: TCP
# Allow outgoing traffic to HTTPS severs
# #
# - ports: # - ports:
# - port: 443 # - port: 443
@@ -667,7 +742,7 @@ networkPolicy:
# - port: http # - port: http
# protocol: TCP # protocol: TCP
# Allow incoming HTTP traffic from ingress-nginx. # Allow incoming HTTP traffic from ingress-nginx or gateway-api.
# #
# - from: # - from:
# - namespaceSelector: # - namespaceSelector:
@@ -680,37 +755,47 @@ networkPolicy:
# - port: http # - port: http
# protocol: TCP # protocol: TCP
# - from:
# - namespaceSelector:
# matchLabels:
# kubernetes.io/metadata.name: gateway-api
# podSelector:
# matchLabels:
# gateway.networking.k8s.io/gateway-name: nginx
# ports:
# - port: http
# protocol: TCP
## @section Service ## @section Service
## @param services.http.enabled Enable the service. ## @param service.enabled Enable the service.
## @param services.http.annotations Additional service annotations. ## @param service.annotations Additional service annotations.
## @param services.http.externalIPs External IPs for the service. ## @param service.externalIPs External IPs for the service.
## @param services.http.externalTrafficPolicy If `service.type` is `NodePort` or `LoadBalancer`, set this to `Local` to tell kube-proxy to only use node local endpoints for cluster external traffic. Furthermore, this enables source IP preservation. ## @param service.externalTrafficPolicy If `service.type` is `NodePort` or `LoadBalancer`, set this to `Local` to tell kube-proxy to only use node local endpoints for cluster external traffic. Furthermore, this enables source IP preservation.
## @param services.http.internalTrafficPolicy If `service.type` is `NodePort` or `LoadBalancer`, set this to `Local` to tell kube-proxy to only use node local endpoints for cluster internal traffic. ## @param service.internalTrafficPolicy If `service.type` is `NodePort` or `LoadBalancer`, set this to `Local` to tell kube-proxy to only use node local endpoints for cluster internal traffic.
## @param services.http.ipFamilies IPFamilies is list of IP families (e.g. `IPv4`, `IPv6`) assigned to this service. This field is usually assigned automatically based on cluster configuration and only required for customization. ## @param service.ipFamilies IPFamilies is list of IP families (e.g. `IPv4`, `IPv6`) assigned to this service. This field is usually assigned automatically based on cluster configuration and only required for customization.
## @param services.http.labels Additional service labels. ## @param service.labels Additional service labels.
## @param services.http.loadBalancerClass LoadBalancerClass is the class of the load balancer implementation this Service belongs to. Requires service from type `LoadBalancer`. ## @param service.loadBalancerClass LoadBalancerClass is the class of the load balancer implementation this Service belongs to. Requires service from type `LoadBalancer`.
## @param services.http.loadBalancerIP LoadBalancer will get created with the IP specified in this field. Requires service from type `LoadBalancer`. ## @param service.loadBalancerIP LoadBalancer will get created with the IP specified in this field. Requires service from type `LoadBalancer`.
## @param services.http.loadBalancerSourceRanges Source range filter for LoadBalancer. Requires service from type `LoadBalancer`. ## @param service.loadBalancerSourceRanges Source range filter for LoadBalancer. Requires service from type `LoadBalancer`.
## @param services.http.port Port to forward the traffic to. ## @param service.port Port to forward the traffic to.
## @param services.http.sessionAffinity Supports `ClientIP` and `None`. Enable client IP based session affinity via `ClientIP`. ## @param service.sessionAffinity Supports `ClientIP` and `None`. Enable client IP based session affinity via `ClientIP`.
## @param services.http.sessionAffinityConfig Contains the configuration of the session affinity. ## @param service.sessionAffinityConfig Contains the configuration of the session affinity.
## @param services.http.type Kubernetes service type for the traffic. ## @param service.type Kubernetes service type for the traffic.
services: service:
http: enabled: true
enabled: true annotations: {}
annotations: {} externalIPs: []
externalIPs: [] externalTrafficPolicy: "Cluster"
externalTrafficPolicy: "Cluster" internalTrafficPolicy: "Cluster"
internalTrafficPolicy: "Cluster" ipFamilies: []
ipFamilies: [] labels: {}
labels: {} loadBalancerClass: ""
loadBalancerClass: "" loadBalancerIP: ""
loadBalancerIP: "" loadBalancerSourceRanges: []
loadBalancerSourceRanges: [] port: 3000
port: 3000 sessionAffinity: "None"
sessionAffinity: "None" sessionAffinityConfig: {}
sessionAffinityConfig: {} type: "ClusterIP"
type: "ClusterIP"
## @section ServiceAccount ## @section ServiceAccount
serviceAccount: serviceAccount: