Compare commits

...

117 Commits

Author SHA1 Message Date
peter 9a089c8af7 fix: standardize Dockerfile stage names to uppercase
default-request-adder / vulnerabilities (pull_request) Successful in 3m13s
default-request-adder / test (pull_request) Successful in 3m36s
default-request-adder / build (pull_request) Successful in 1h12m8s
Updates the Dockerfile to use uppercase for multi-stage build
definitions. This change enhances readability and maintains consistency
across the build stages, ensuring alignment with common best practices in
Dockerfile conventions.
2026-01-19 08:31:53 +01:00
peter b310c8df57 build: support multi-architecture builds in Dockerfile
Add ARG directives for TARGETOS and TARGETARCH to enable 
multi-architecture support. Modify the build command to 
use the specified target OS and architecture for more 
flexible and portable builds. Ensure compatibility 
with different deployment environments.
2026-01-19 08:31:53 +01:00
argoyle 049a3146ac Merge pull request 'chore(release): prepare for 1.6.0' (#224) from next-release into main
Release / release (push) Successful in 1m32s
default-request-adder / vulnerabilities (push) Successful in 4m27s
default-request-adder / test (push) Successful in 6m4s
default-request-adder / build (push) Successful in 18m23s
Reviewed-on: #224
2026-01-16 13:24:52 +00:00
releaser 86bd5d23ee chore(release): prepare for 1.6.0
default-request-adder / vulnerabilities (pull_request) Successful in 7m0s
default-request-adder / test (pull_request) Successful in 10m15s
default-request-adder / build (pull_request) Successful in 53m12s
2026-01-16 12:29:06 +00:00
releaser 21b6080185 chore(release): prepare for 1.6.0 2026-01-16 12:27:52 +00:00
releaser 4ad4516304 chore(release): prepare for 1.5.1
default-request-adder / vulnerabilities (pull_request) Successful in 2m17s
default-request-adder / test (pull_request) Successful in 2m55s
default-request-adder / build (pull_request) Failing after 14m15s
2026-01-16 12:26:18 +00:00
releaser cf832f4b05 chore(release): prepare for 1.5.1 2026-01-16 12:26:18 +00:00
releaser 593e636d9a chore(release): prepare for 1.5.1 2026-01-16 12:26:18 +00:00
releaser 4a5e4fc893 chore(release): prepare for 1.5.1 2026-01-16 12:26:18 +00:00
argoyle d1d65420d3 Merge pull request 'feat: add multi-platform build support (amd64, arm64)' (#227) from feat/ci-docker-build into main
default-request-adder / build (push) Successful in 1m14s
default-request-adder / vulnerabilities (push) Successful in 1m43s
default-request-adder / test (push) Successful in 2m10s
Release / release (push) Successful in 5m23s
Reviewed-on: #227
2026-01-16 12:23:17 +00:00
argoyle c378376881 feat: add multi-platform build support (amd64, arm64)
default-request-adder / vulnerabilities (pull_request) Successful in 3m37s
default-request-adder / test (pull_request) Successful in 4m48s
default-request-adder / build (pull_request) Successful in 1h5m5s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 12:04:12 +01:00
renovate 598566b588 chore(deps): update dependency go to v1.25.6 (#225)
Release / release (push) Successful in 1m13s
default-request-adder / build (push) Successful in 1m3s
default-request-adder / vulnerabilities (push) Successful in 4m9s
default-request-adder / test (push) Successful in 6m26s
2026-01-15 20:26:25 +00:00
renovate 025c605d93 chore(deps): update golang:1.25.5 docker digest to 3a01526 (#223)
Release / release (push) Successful in 1m14s
default-request-adder / vulnerabilities (push) Successful in 1m33s
default-request-adder / test (push) Successful in 1m48s
default-request-adder / build (push) Successful in 49m1s
2026-01-13 06:44:04 +00:00
argoyle 9fa9837499 Merge pull request 'chore(release): prepare for 1.5.0' (#222) from next-release into main
Release / release (push) Successful in 1m19s
default-request-adder / build (push) Successful in 1m7s
default-request-adder / vulnerabilities (push) Successful in 2m7s
default-request-adder / test (push) Successful in 2m29s
Reviewed-on: #222
2026-01-10 19:50:47 +00:00
releaser 7a9b02140e chore(release): prepare for 1.5.0
default-request-adder / vulnerabilities (pull_request) Successful in 4m17s
default-request-adder / test (pull_request) Successful in 5m10s
default-request-adder / build (pull_request) Successful in 6m6s
2026-01-10 19:42:43 +00:00
releaser 761284bd48 chore(release): prepare for 1.5.0 2026-01-10 19:42:39 +00:00
argoyle cb793f051c Merge pull request 'feat: add Docker build and push to CI workflow' (#221) from feat/ci-docker-build into main
Release / release (push) Successful in 2m6s
default-request-adder / vulnerabilities (push) Successful in 4m12s
default-request-adder / test (push) Successful in 5m0s
default-request-adder / build (push) Successful in 7m52s
Reviewed-on: #221
2026-01-10 19:40:09 +00:00
argoyle 4aa9145c07 feat: add Docker build and push to CI workflow
default-request-adder / vulnerabilities (pull_request) Successful in 4m11s
default-request-adder / test (pull_request) Successful in 5m10s
default-request-adder / build (pull_request) Successful in 6m48s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 20:29:51 +01:00
argoyle 486182c91c Merge pull request 'chore(release): prepare for 1.4.0' (#220) from next-release into main
Release / release (push) Successful in 2m51s
default-request-adder / vulnerabilities (push) Successful in 6m1s
default-request-adder / test (push) Successful in 6m21s
Reviewed-on: #220
2026-01-10 18:50:27 +00:00
releaser ab15603652 chore(release): prepare for 1.4.0
default-request-adder / test (pull_request) Successful in 8m3s
default-request-adder / vulnerabilities (pull_request) Successful in 6m19s
2026-01-10 18:37:32 +00:00
releaser 70ea428e41 chore(release): prepare for 1.4.0 2026-01-10 18:37:26 +00:00
argoyle 56b6ed52d2 Merge pull request 'feat: run CI workflow on tags' (#219) from feat/ci-on-tags into main
Release / release (push) Successful in 1m55s
default-request-adder / vulnerabilities (push) Successful in 4m9s
default-request-adder / test (push) Successful in 5m45s
Reviewed-on: #219
2026-01-10 18:34:27 +00:00
argoyle 245f86f4d7 feat: run CI workflow on tags
default-request-adder / vulnerabilities (pull_request) Successful in 3m49s
default-request-adder / test (pull_request) Successful in 4m39s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 19:25:20 +01:00
argoyle cfa8832598 Merge pull request 'chore(release): prepare for 1.3.0' (#213) from next-release into main
default-request-adder / vulnerabilities (push) Successful in 1m19s
default-request-adder / test (push) Successful in 3m58s
Release / release (push) Successful in 1m51s
Reviewed-on: #213
2026-01-09 16:12:18 +00:00
releaser a8f8728790 chore(release): prepare for 1.3.0 2026-01-09 16:11:31 +00:00
releaser 9dbc7f01e1 chore(release): prepare for 1.3.0 2026-01-09 16:11:21 +00:00
argoyle 15697d176f Merge pull request 'feat: add release workflow using shared workflows' (#217) from feat/release-workflow into main
Release / release (push) Successful in 1m17s
default-request-adder / vulnerabilities (push) Successful in 1m39s
default-request-adder / test (push) Successful in 2m13s
Reviewed-on: #217
2026-01-09 16:09:31 +00:00
argoyle 63c16baf46 Merge pull request 'docs: add CLAUDE.md for Claude Code guidance' (#218) from docs/add-claude-md into main
default-request-adder / vulnerabilities (push) Has been cancelled
default-request-adder / test (push) Has been cancelled
Reviewed-on: #218
2026-01-09 16:09:24 +00:00
argoyle 37063450c1 feat: add release workflow using shared workflows
default-request-adder / vulnerabilities (pull_request) Successful in 3m43s
default-request-adder / test (pull_request) Successful in 5m16s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 16:56:21 +01:00
argoyle a6ab81eeaa docs: add CLAUDE.md for Claude Code guidance
default-request-adder / vulnerabilities (pull_request) Successful in 1m21s
default-request-adder / test (pull_request) Successful in 4m48s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 16:38:39 +01:00
argoyle 9b7ced4e92 Merge pull request 'chore(deps): update actions/setup-go action to v6' (#216) from renovate/actions-setup-go-6.x into main
default-request-adder / vulnerabilities (push) Successful in 10m0s
default-request-adder / test (push) Successful in 11m54s
Reviewed-on: #216
2026-01-08 16:19:06 +00:00
renovate b0ce0d23f3 chore(deps): update actions/setup-go action to v6
default-request-adder / vulnerabilities (pull_request) Successful in 2m24s
default-request-adder / test (pull_request) Successful in 3m10s
2026-01-08 16:09:18 +00:00
argoyle 19f894cc29 Merge pull request 'chore(deps): update actions/checkout action to v6' (#215) from renovate/actions-checkout-6.x into main
default-request-adder / vulnerabilities (push) Successful in 4m4s
default-request-adder / test (push) Successful in 4m39s
Reviewed-on: #215
2026-01-08 15:12:58 +00:00
renovate d04224b42b chore(deps): update actions/checkout action to v6
default-request-adder / vulnerabilities (pull_request) Successful in 6m16s
default-request-adder / test (pull_request) Successful in 7m59s
2026-01-08 15:03:28 +00:00
argoyle 46b3a6ddce Merge pull request 'feat: migrate from GitLab CI to Gitea Actions' (#214) from feat/gitea-actions into main
default-request-adder / vulnerabilities (push) Successful in 2m19s
default-request-adder / test (push) Successful in 3m25s
Reviewed-on: #214
2026-01-08 14:47:28 +00:00
argoyle fba731bc03 feat: migrate from GitLab CI to Gitea Actions
default-request-adder / vulnerabilities (pull_request) Successful in 4m27s
default-request-adder / test (pull_request) Successful in 5m26s
2026-01-08 15:21:31 +01:00
Unbound Release dea17c0ab0 chore(release): prepare for 1.2.5 2025-12-30 18:06:45 +00:00
Unbound Release ef344ed315 chore(release): prepare for 1.2.5 2025-12-30 18:06:43 +00:00
argoyle d26fed8209 Merge branch 'renovate/golang-1.25.5' into 'master'
chore(deps): update golang:1.25.5 docker digest to ad03ba9

See merge request unboundsoftware/default-request-adder!209
2025-12-30 17:59:09 +01:00
Renovate 6f8b06e140 chore(deps): update golang:1.25.5 docker digest to ad03ba9 2025-12-30 04:06:51 +00:00
argoyle 2c06349974 Merge branch 'next-release' into 'master'
chore(release): prepare for 1.2.4

See merge request unboundsoftware/default-request-adder!208
2025-12-18 07:52:27 +01:00
Unbound Release e6f542221f chore(release): prepare for 1.2.4 2025-12-18 07:52:27 +01:00
argoyle 64e5e6559b Merge branch 'renovate/kubernetes-go' into 'master'
fix(deps): update kubernetes packages to v0.35.0

See merge request unboundsoftware/default-request-adder!207
2025-12-18 07:12:17 +01:00
Renovate a46b920377 fix(deps): update kubernetes packages to v0.35.0 2025-12-18 01:04:50 +00:00
argoyle eaf84cec63 Merge branch 'next-release' into 'master'
chore(release): prepare for 1.2.3

See merge request unboundsoftware/default-request-adder!202
2025-12-10 08:38:38 +01:00
Unbound Release 3341480826 chore(release): prepare for 1.2.3 2025-12-10 08:38:37 +01:00
argoyle 2b06d4ab2c Merge branch 'renovate/kubernetes-go' into 'master'
fix(deps): update kubernetes packages to v0.34.3

See merge request unboundsoftware/default-request-adder!206
2025-12-10 06:57:52 +01:00
Renovate 28fedd42d1 fix(deps): update kubernetes packages to v0.34.3 2025-12-10 05:16:34 +00:00
argoyle 9d093c9514 Merge branch 'renovate/golang-1.25.5' into 'master'
chore(deps): update golang:1.25.5 docker digest to 0c27bcf

See merge request unboundsoftware/default-request-adder!205
2025-12-09 09:56:25 +01:00
Renovate 61e289e313 chore(deps): update golang:1.25.5 docker digest to 0c27bcf 2025-12-09 02:20:54 +00:00
argoyle 4080b797a2 Merge branch 'renovate/golang-1.x' into 'master'
chore(deps): update golang docker tag to v1.25.5

See merge request unboundsoftware/default-request-adder!204
2025-12-02 20:27:06 +01:00
argoyle 82230d7faa Merge branch 'renovate/go-1.x' into 'master'
chore(deps): update dependency go to v1.25.5

See merge request unboundsoftware/default-request-adder!203
2025-12-02 19:37:43 +01:00
Renovate f03ccbf6fa chore(deps): update golang docker tag to v1.25.5 2025-12-02 18:21:36 +00:00
Renovate 4424ecd694 chore(deps): update dependency go to v1.25.5 2025-12-02 17:19:25 +00:00
argoyle 0f6ead27fd Merge branch 'renovate/golang-1.25.4' into 'master'
chore(deps): update golang:1.25.4 docker digest to efe81fa

See merge request unboundsoftware/default-request-adder!201
2025-11-18 15:47:01 +01:00
Renovate 1a7992e930 chore(deps): update golang:1.25.4 docker digest to efe81fa 2025-11-18 12:07:39 +00:00
argoyle 856632801c Merge branch 'next-release' into 'master'
chore(release): prepare for 1.2.2

See merge request unboundsoftware/default-request-adder!195
2025-11-13 09:21:50 +01:00
Unbound Release 912bdc670b chore(release): prepare for 1.2.2 2025-11-13 09:21:50 +01:00
argoyle 1ed86d0397 Merge branch 'renovate/kubernetes-go' into 'master'
fix(deps): update kubernetes packages to v0.34.2

See merge request unboundsoftware/default-request-adder!200
2025-11-13 08:58:36 +01:00
Renovate 2b02b640bf fix(deps): update kubernetes packages to v0.34.2 2025-11-12 17:06:35 +00:00
argoyle ea02e7791c Merge branch 'renovate/golang-1.x' into 'master'
chore(deps): update golang docker tag to v1.25.4

See merge request unboundsoftware/default-request-adder!199
2025-11-06 07:07:19 +01:00
Renovate e0f64d8a70 chore(deps): update golang docker tag to v1.25.4 2025-11-05 22:20:54 +00:00
argoyle 4bd7ac1041 Merge branch 'renovate/go-1.x' into 'master'
chore(deps): update dependency go to v1.25.4

See merge request unboundsoftware/default-request-adder!198
2025-11-05 22:02:39 +01:00
Renovate 9fc1eb9432 chore(deps): update dependency go to v1.25.4 2025-11-05 20:18:37 +00:00
argoyle c5fe83ec30 Merge branch 'renovate/golang-1.25.3' into 'master'
chore(deps): update golang:1.25.3 docker digest to 9ac0edc

See merge request unboundsoftware/default-request-adder!197
2025-11-04 14:29:01 +01:00
Renovate 0876623022 chore(deps): update golang:1.25.3 docker digest to 9ac0edc 2025-11-04 12:09:59 +00:00
argoyle 7460500b24 Merge branch 'renovate/golang-1.25.3' into 'master'
chore(deps): update golang:1.25.3 docker digest to 69d1009

See merge request unboundsoftware/default-request-adder!196
2025-10-21 14:25:24 +02:00
Renovate 3273da6c11 chore(deps): update golang:1.25.3 docker digest to 69d1009 2025-10-21 10:07:37 +00:00
argoyle b30f22d21b Merge branch 'remove-unused-chore-message-patterns' into 'master'
fix(commits): remove unused chore message patterns from config

See merge request unboundsoftware/default-request-adder!194
2025-10-14 10:17:05 +02:00
argoyle 1262a5622a fix(commits): remove unused chore message patterns from config
Removes unused chore message patterns for deps, pr, and pull from the 
commit configuration in cliff.toml. This streamlines the commit message 
grouping and improves maintainability by eliminating unnecessary entries.
2025-10-14 09:12:49 +02:00
argoyle c6afe765b0 Merge branch 'renovate/golang-1.x' into 'master'
chore(deps): update golang docker tag to v1.25.3

See merge request unboundsoftware/default-request-adder!193
2025-10-14 08:56:38 +02:00
argoyle 5a96b3a236 Merge branch 'renovate/go-1.x' into 'master'
chore(deps): update dependency go to v1.25.3

See merge request unboundsoftware/default-request-adder!192
2025-10-14 08:56:23 +02:00
Renovate 12aedd0c51 chore(deps): update golang docker tag to v1.25.3 2025-10-14 00:09:02 +00:00
Renovate 39f433a995 chore(deps): update dependency go to v1.25.3 2025-10-13 22:05:12 +00:00
argoyle ad549a0a0b Merge branch 'renovate/golang-1.x' into 'master'
chore(deps): update golang docker tag to v1.25.2

See merge request unboundsoftware/default-request-adder!191
2025-10-08 09:16:20 +02:00
argoyle f3ad16b5cd Merge branch 'renovate/go-1.x' into 'master'
chore(deps): update dependency go to v1.25.2

See merge request unboundsoftware/default-request-adder!190
2025-10-08 09:15:54 +02:00
Renovate 8282d742a9 chore(deps): update golang docker tag to v1.25.2 2025-10-07 22:17:45 +00:00
Renovate 59a5e7190a chore(deps): update dependency go to v1.25.2 2025-10-07 19:18:21 +00:00
Renovate fad1ab66d4 chore(deps): update golang:1.25.1 docker digest to 12640a4 2025-10-01 14:08:54 +00:00
Unbound Release 7c850018ca chore(release): prepare for 1.2.1 2025-10-01 10:50:19 +02:00
argoyle 3623ede85d refactor: simplify namespace exclusion logic
Replace the manual loop for checking excluded namespaces with 
the built-in slices.Contains function. This change enhances 
the readability and efficiency of the code, while also 
allowing for wildcard matching in exclusion.
2025-10-01 10:38:25 +02:00
argoyle a7ce0a5b5d docs(deploy): add delete permission for limitranges resource
Adds the delete verb for limitranges in the deploy.yaml file. This
change allows for the deletion of the specific resource named
"extreme-request-defaults," enabling better resource management
and cleanup in the deployment process.
2025-10-01 10:33:02 +02:00
Unbound Release 6b70891bb0 chore(release): prepare for 1.2.0 2025-10-01 10:24:35 +02:00
argoyle 4452c7e136 feat: improve LimitRange management in namespaces
Add logging for LimitRange checks, enhance error handling for 
listing LimitRanges, and streamline the creation and deletion 
of the 'extreme-request-defaults' LimitRange based on namespace 
exclusion. This improves reliability and visibility during 
namespace management.
2025-10-01 10:06:57 +02:00
Unbound Release 15cb442a9a chore(release): prepare for 1.1.14 2025-09-10 11:03:20 +00:00
Renovate 415105faef fix(deps): update kubernetes packages to v0.34.1 2025-09-10 09:03:48 +00:00
Renovate 1147e461f8 chore(deps): update golang:1.25.1 docker digest to 53f7808 2025-09-08 23:31:43 +00:00
Renovate 110773b067 chore(deps): update golang docker tag to v1.25.1 2025-09-04 08:23:40 +02:00
Renovate 7068fee1b7 chore(deps): update dependency go to v1.25.1 2025-09-03 19:04:31 +00:00
Unbound Release 9891ce32f3 chore(release): prepare for 1.1.13 2025-08-28 08:01:00 +00:00
Renovate e06d1a100b fix(deps): update kubernetes packages to v0.34.0 2025-08-27 22:16:07 +00:00
Renovate 52120a2531 chore(deps): update golang:1.25.0 docker digest to f6b9e1a 2025-08-22 19:08:47 +00:00
Unbound Release 05f05b994a chore(release): prepare for 1.1.12 2025-08-14 08:45:08 +00:00
Renovate 7b694b4fcd fix(deps): update kubernetes packages to v0.33.4 2025-08-14 10:24:50 +02:00
Renovate feef96617f chore(deps): update golang docker tag to v1.25.0 2025-08-13 19:11:42 +00:00
Renovate 631fe9138a chore(deps): update golang:1.24.6 docker digest to 958bfd1 2025-08-13 07:06:01 +00:00
Renovate 8db28f6a19 chore(deps): update dependency go to v1.25.0 2025-08-12 21:05:28 +00:00
Renovate b5961251ec chore(deps): update golang docker tag to v1.24.6 2025-08-07 08:34:22 +02:00
Renovate a3d4d418fe chore(deps): update dependency go to v1.24.6 2025-08-06 19:05:31 +00:00
Renovate 9b06465e64 chore(deps): update golang:1.24.5 docker digest to 0a156a4 2025-07-22 05:05:23 +00:00
Unbound Release 67b8f244d6 chore(release): prepare for 1.1.11 2025-07-16 18:19:25 +02:00
Renovate f2a5636071 fix(deps): update kubernetes packages to v0.33.3 2025-07-16 05:09:06 +00:00
Renovate 4b01ad01df chore(deps): update golang docker tag to v1.24.5 2025-07-09 19:04:55 +00:00
Renovate 8bfde67ee9 chore(deps): update dependency go to v1.24.5 2025-07-08 18:01:32 +00:00
Renovate bafbf79733 chore(deps): update golang:1.24.4 docker digest to 9f820b6 2025-07-01 06:02:17 +00:00
argoyle 3aa798cf11 fix(ci): add default CI template for improved workflow
Updates the GitLab CI configuration to include the default CI 
template. This change ensures consistent and optimized pipeline 
behaviors across projects by leveraging the provided defaults, 
enhancing the overall CI/CD process.
2025-06-23 13:43:42 +02:00
Unbound Release ac747285aa chore(release): prepare for 1.1.10 2025-06-20 10:34:55 +00:00
Renovate 659333b0dd fix(deps): update kubernetes packages to v0.33.2 2025-06-19 17:59:40 +00:00
Renovate b1919c8eba chore(deps): update golang:1.24.4 docker digest to 3494bbe 2025-06-11 03:09:50 +00:00
Renovate 75f0bb155b chore(deps): update golang docker tag to v1.24.4 2025-06-05 21:03:01 +00:00
Renovate 4f5dcb6d50 chore(deps): update dependency go to v1.24.4 2025-06-05 19:00:52 +00:00
Renovate 6784cb986f chore(deps): update golang:1.24.3 docker digest to f255a7d 2025-05-22 02:04:36 +00:00
Unbound Release 1b6911f4f3 chore(release): prepare for 1.1.9 2025-05-16 06:39:37 +00:00
Renovate ebd41a21d4 fix(deps): update kubernetes packages to v0.33.1 2025-05-16 00:02:52 +00:00
Renovate 99359d9950 chore(deps): update golang docker tag to v1.24.3 2025-05-06 21:05:31 +00:00
Renovate ca281078c2 chore(deps): update dependency go to v1.24.3 2025-05-06 19:03:30 +00:00
Renovate 4fb935c5f1 chore(deps): update golang:1.24.2 docker digest to bf7899c 2025-04-29 01:13:00 +00:00
12 changed files with 458 additions and 137 deletions
+42
View File
@@ -0,0 +1,42 @@
name: default-request-adder
on:
push:
branches: [main]
tags: ['*']
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version: 'stable'
- name: Run tests
run: go test -race -coverprofile=coverage.txt ./...
vulnerabilities:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version: 'stable'
- name: Check vulnerabilities
run: |
go install golang.org/x/vuln/cmd/govulncheck@latest
govulncheck ./...
build:
runs-on: ubuntu-latest
env:
BUILDTOOLS_CONTENT: ${{ secrets.BUILDTOOLS_CONTENT }}
GITEA_REPOSITORY: ${{ gitea.repository }}
steps:
- uses: actions/checkout@v6
- uses: buildtool/setup-buildtools-action@v1
- name: Build and push
run: unset GITEA_TOKEN && build --platform linux/amd64,linux/arm64 && push
+9
View File
@@ -0,0 +1,9 @@
name: Release
on:
push:
branches: [main]
jobs:
release:
uses: unboundsoftware/shared-workflows/.gitea/workflows/Release.yml@main
+2
View File
@@ -1,5 +1,7 @@
include:
- template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
- project: unboundsoftware/ci-templates
file: Defaults.gitlab-ci.yml
- project: unboundsoftware/ci-templates
file: Release.gitlab-ci.yml
+3
View File
@@ -0,0 +1,3 @@
{
"version": "1.6.0"
}
+240
View File
@@ -2,6 +2,175 @@
All notable changes to this project will be documented in this file.
## [1.6.0] - 2026-01-16
### 🚀 Features
- Add multi-platform build support (amd64, arm64)
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang:1.25.5 docker digest to 3a01526 (#223)
- *(deps)* Update dependency go to v1.25.6 (#225)
## [1.5.0] - 2026-01-10
### 🚀 Features
- Add Docker build and push to CI workflow
## [1.4.0] - 2026-01-10
### 🚀 Features
- Run CI workflow on tags
## [1.3.0] - 2026-01-09
### 🚀 Features
- Migrate from GitLab CI to Gitea Actions
- Add release workflow using shared workflows
### 📚 Documentation
- Add CLAUDE.md for Claude Code guidance
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang:1.25.5 docker digest to ad03ba9
- *(deps)* Update actions/checkout action to v6
- *(deps)* Update actions/setup-go action to v6
## [1.2.4] - 2025-12-18
### 🐛 Bug Fixes
- *(deps)* Update kubernetes packages to v0.35.0
## [1.2.3] - 2025-12-10
### 🐛 Bug Fixes
- *(deps)* Update kubernetes packages to v0.34.3
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang:1.25.4 docker digest to efe81fa
- *(deps)* Update dependency go to v1.25.5
- *(deps)* Update golang docker tag to v1.25.5
- *(deps)* Update golang:1.25.5 docker digest to 0c27bcf
## [1.2.2] - 2025-11-13
### 🐛 Bug Fixes
- *(commits)* Remove unused chore message patterns from config
- *(deps)* Update kubernetes packages to v0.34.2
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang:1.25.1 docker digest to 12640a4
- *(deps)* Update dependency go to v1.25.2
- *(deps)* Update golang docker tag to v1.25.2
- *(deps)* Update dependency go to v1.25.3
- *(deps)* Update golang docker tag to v1.25.3
- *(deps)* Update golang:1.25.3 docker digest to 69d1009
- *(deps)* Update golang:1.25.3 docker digest to 9ac0edc
- *(deps)* Update dependency go to v1.25.4
- *(deps)* Update golang docker tag to v1.25.4
## [1.2.1] - 2025-10-01
### 🚜 Refactor
- Simplify namespace exclusion logic
### 📚 Documentation
- *(deploy)* Add delete permission for limitranges resource
## [1.2.0] - 2025-10-01
### 🚀 Features
- Improve LimitRange management in namespaces
## [1.1.14] - 2025-09-10
### 🐛 Bug Fixes
- *(deps)* Update kubernetes packages to v0.34.1
### ⚙️ Miscellaneous Tasks
- *(deps)* Update dependency go to v1.25.1
- *(deps)* Update golang docker tag to v1.25.1
- *(deps)* Update golang:1.25.1 docker digest to 53f7808
## [1.1.13] - 2025-08-28
### 🐛 Bug Fixes
- *(deps)* Update kubernetes packages to v0.34.0
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang:1.25.0 docker digest to f6b9e1a
## [1.1.12] - 2025-08-14
### 🐛 Bug Fixes
- *(deps)* Update kubernetes packages to v0.33.4
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang:1.24.5 docker digest to 0a156a4
- *(deps)* Update dependency go to v1.24.6
- *(deps)* Update golang docker tag to v1.24.6
- *(deps)* Update dependency go to v1.25.0
- *(deps)* Update golang:1.24.6 docker digest to 958bfd1
- *(deps)* Update golang docker tag to v1.25.0
## [1.1.11] - 2025-07-16
### 🐛 Bug Fixes
- *(ci)* Add default CI template for improved workflow
- *(deps)* Update kubernetes packages to v0.33.3
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang:1.24.4 docker digest to 9f820b6
- *(deps)* Update dependency go to v1.24.5
- *(deps)* Update golang docker tag to v1.24.5
## [1.1.10] - 2025-06-20
### 🐛 Bug Fixes
- *(deps)* Update kubernetes packages to v0.33.2
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang:1.24.3 docker digest to f255a7d
- *(deps)* Update dependency go to v1.24.4
- *(deps)* Update golang docker tag to v1.24.4
- *(deps)* Update golang:1.24.4 docker digest to 3494bbe
## [1.1.9] - 2025-05-16
### 🐛 Bug Fixes
- *(deps)* Update kubernetes packages to v0.33.1
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang:1.24.2 docker digest to bf7899c
- *(deps)* Update dependency go to v1.24.3
- *(deps)* Update golang docker tag to v1.24.3
## [1.1.8] - 2025-04-24
### 🐛 Bug Fixes
@@ -14,12 +183,22 @@ All notable changes to this project will be documented in this file.
- *(deps)* Update kubernetes packages to v0.32.4
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang:1.24.1 docker digest to 5ecf333
- *(deps)* Update golang docker tag to v1.24.2
- *(deps)* Update golang:1.24.2 docker digest to aebb7df
## [1.1.6] - 2025-03-12
### 🐛 Bug Fixes
- *(deps)* Update kubernetes packages to v0.32.3
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang docker tag to v1.24.1
## [1.1.5] - 2025-03-03
### 🐛 Bug Fixes
@@ -29,12 +208,35 @@ All notable changes to this project will be documented in this file.
- *(deps)* Update kubernetes packages to v0.32.2
- *(docker)* Update golang base image to use amd64 tag
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang:1.23.5 docker digest to 8c10f21
- *(deps)* Update golang:1.23.5 docker digest to e213430
- *(deps)* Update dependency go to v1.23.6
- *(deps)* Update golang docker tag to v1.23.6
- *(deps)* Update golang:1.23.6 docker digest to 958bd2e
- *(deps)* Update golang:1.23.6 docker digest to 9271129
- *(deps)* Update golang docker tag to v1.24.0
- *(deps)* Update golang:1.24.0 docker digest to 5255fad
- *(deps)* Update golang:1.24.0 docker digest to a14c5a6
- *(deps)* Update golang:1.24.0 docker digest to 58cf31c
## [1.1.4] - 2025-01-17
### 🐛 Bug Fixes
- *(deps)* Update kubernetes packages to v0.32.1
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang:1.23.4 docker digest to 3b1a7de
- *(deps)* Update golang:1.23.4 docker digest to 08e1417
- *(deps)* Update golang:1.23.4 docker digest to 585103a
- *(deps)* Update golang:1.23.4 docker digest to 5305905
- *(deps)* Update golang:1.23.4 docker digest to 9820aca
- *(deps)* Update dependency go to v1.23.5
- *(deps)* Update golang docker tag to v1.23.5
## [1.1.3] - 2024-12-28
### 🐛 Bug Fixes
@@ -44,7 +246,16 @@ All notable changes to this project will be documented in this file.
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang:1.23.3 docker digest to ee5f0ad
- *(deps)* Update golang:1.23.3 docker digest to b4aabba
- *(deps)* Update golang:1.23.3 docker digest to 2b01164
- *(deps)* Update golang:1.23.3 docker digest to 017ec6b
- *(deps)* Update dependency go to v1.23.4
- *(deps)* Update golang docker tag to v1.23.4
- *(deps)* Update golang:1.23.4 docker digest to 574185e
- Remove unnecessary variables and services from CI config
- *(deps)* Update golang:1.23.4 docker digest to 7003184
- *(deps)* Update golang:1.23.4 docker digest to 7ea4c9d
## [1.1.2] - 2024-11-21
@@ -52,6 +263,18 @@ All notable changes to this project will be documented in this file.
- *(deps)* Update kubernetes packages to v0.31.3
### ⚙️ Miscellaneous Tasks
- *(deps)* Pin golang docker tag to ad5c126
- *(deps)* Update dependency go to v1.23.3
- *(deps)* Update golang docker tag to v1.23.3
- *(deps)* Update golang:1.23.3 docker digest to 8956c08
- *(deps)* Update golang:1.23.3 docker digest to 3694e36
- *(deps)* Update golang:1.23.3 docker digest to b2ca381
- *(deps)* Update golang:1.23.3 docker digest to 2660218
- *(deps)* Update golang:1.23.3 docker digest to c2d828f
- *(deps)* Update golang:1.23.3 docker digest to 73f06be
## [1.1.1] - 2024-10-24
### 🐛 Bug Fixes
@@ -78,6 +301,23 @@ All notable changes to this project will be documented in this file.
- Move build inside Dockerfile
- Switch to manual rebases for Dependabot
- Remove Dependabot config
- *(deps)* Update golang docker tag to v1.22.1
- *(deps)* Update golang docker tag to v1.22.2
- *(deps)* Update dependency go to v1.22.2
- *(deps)* Update dependency go to v1.22.3
- *(deps)* Update golang docker tag to v1.22.3
- *(deps)* Update dependency go to v1.22.4
- *(deps)* Update golang docker tag to v1.22.4
- *(deps)* Update dependency go to v1.22.5
- *(deps)* Update golang docker tag to v1.22.5
- *(deps)* Update dependency go to v1.22.6
- *(deps)* Update golang docker tag to v1.22.6
- *(deps)* Update dependency go to v1.23.0
- *(deps)* Update golang docker tag to v1.23.0
- *(deps)* Update dependency go to v1.23.1
- *(deps)* Update golang docker tag to v1.23.1
- *(deps)* Update dependency go to v1.23.2
- *(deps)* Update golang docker tag to v1.23.2
- Add release flow
- Add git-cliff configuration
+42
View File
@@ -0,0 +1,42 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
A Kubernetes controller that automatically creates `LimitRange` resources (named `extreme-request-defaults`) in all non-excluded namespaces to set default memory requests for containers. Runs as a loop checking every 10 seconds.
## Build Commands
```bash
# Run tests
go test -race -coverprofile=coverage.txt ./...
# Check for vulnerabilities
go install golang.org/x/vuln/cmd/govulncheck@latest
govulncheck ./...
# Build binary
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o release/default-request-adder -ldflags '-w -s'
# Build Docker image (uses build-tools, not buildx)
docker build -t default-request-adder .
```
## Architecture
Single-file Go application (`main.go`) that:
- Uses in-cluster Kubernetes client configuration (`rest.InClusterConfig()`)
- Loops through all namespaces every 10 seconds
- Creates `LimitRange` named `extreme-request-defaults` in non-excluded namespaces
- Deletes the `LimitRange` from excluded namespaces if present
### CLI Flags
- `-excluded-ns`: Comma-separated list of namespaces to exclude (default: `kube-system`). Use `*` to exclude all.
- `-memory`: Default memory request value (default: `1Ti`)
## CI/CD
- **Gitea Actions**: `.gitea/workflows/ci.yaml` - runs tests and vulnerability checks
- **GitLab CI**: `.gitlab-ci.yml` - uses `buildtool/build-tools` for builds
- **Releases**: Uses git-cliff for changelog generation (see `cliff.toml`)
+7 -4
View File
@@ -1,9 +1,12 @@
FROM amd64/golang:1.24.2@sha256:aebb7dfe0e8da97fd4e22f95d2162cc6948f772fa947a00659634ece26cadb5a as deps
FROM golang:1.25.6@sha256:fc24d3881a021e7b968a4610fc024fba749f98fe5c07d4f28e6cfa14dc65a84c AS deps
WORKDIR /build
ADD go.* /build
RUN go mod download
FROM deps as build
FROM deps AS build
ARG TARGETOS
ARG TARGETARCH
ENV CGO_ENABLED=0
ADD . /build
RUN if [ $(go mod tidy -v 2>&1 | grep -c unused) != 0 ]; then echo "Unused modules, please run 'go mod tidy'"; exit 1; fi
@@ -14,9 +17,9 @@ RUN ["/bin/bash", "-c", "cat coverage.txt.tmp | grep -v -f <(find . -type f | xa
RUN go tool cover -html=coverage.txt -o coverage.html
RUN go tool cover -func=coverage.txt
RUN rm coverage.txt.tmp
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -mod=readonly -o release/default-request-adder -ldflags '-w -s'
RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} CGO_ENABLED=0 go build -mod=readonly -o release/default-request-adder -ldflags '-w -s'
FROM scratch as export
FROM scratch AS export
COPY --from=build /build/coverage.txt /
FROM scratch
-3
View File
@@ -71,9 +71,6 @@ commit_parsers = [
{ message = "^style", group = "<!-- 5 -->🎨 Styling" },
{ message = "^test", group = "<!-- 6 -->🧪 Testing" },
{ message = "^chore\\(release\\): prepare for", skip = true },
{ message = "^chore\\(deps.*\\)", skip = true },
{ message = "^chore\\(pr\\)", skip = true },
{ message = "^chore\\(pull\\)", skip = true },
{ message = "^chore|^ci", group = "<!-- 7 -->⚙️ Miscellaneous Tasks" },
{ body = ".*security", group = "<!-- 8 -->🛡️ Security" },
{ message = "^revert", group = "<!-- 9 -->◀️ Revert" },
+4
View File
@@ -17,6 +17,10 @@ rules:
- apiGroups: [""]
resources: ["limitranges"]
verbs: ["list","create"]
- apiGroups: [""]
resources: ["limitranges"]
verbs: ["delete"]
resourceNames: ["extreme-request-defaults"]
---
+24 -25
View File
@@ -1,50 +1,49 @@
module gitlab.com/unboundsoftware/default-request-adder
go 1.24.0
go 1.25.0
toolchain go1.24.2
toolchain go1.25.6
require (
k8s.io/api v0.33.0
k8s.io/apimachinery v0.33.0
k8s.io/client-go v0.33.0
k8s.io/api v0.35.0
k8s.io/apimachinery v0.35.0
k8s.io/client-go v0.35.0
)
require (
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
github.com/go-logr/logr v1.4.2 // indirect
github.com/emicklei/go-restful/v3 v3.12.2 // indirect
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
github.com/go-logr/logr v1.4.3 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/jsonreference v0.20.2 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/google/gnostic-models v0.6.9 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/gnostic-models v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/x448/float16 v0.8.4 // indirect
golang.org/x/net v0.38.0 // indirect
golang.org/x/oauth2 v0.27.0 // indirect
golang.org/x/sys v0.31.0 // indirect
golang.org/x/term v0.30.0 // indirect
golang.org/x/text v0.23.0 // indirect
go.yaml.in/yaml/v2 v2.4.3 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
golang.org/x/net v0.47.0 // indirect
golang.org/x/oauth2 v0.30.0 // indirect
golang.org/x/sys v0.38.0 // indirect
golang.org/x/term v0.37.0 // indirect
golang.org/x/text v0.31.0 // indirect
golang.org/x/time v0.9.0 // indirect
google.golang.org/protobuf v1.36.5 // indirect
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
google.golang.org/protobuf v1.36.8 // indirect
gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/klog/v2 v2.130.1 // indirect
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect
k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 // indirect
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
sigs.k8s.io/randfill v1.0.0 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect
sigs.k8s.io/yaml v1.6.0 // indirect
)
+64 -88
View File
@@ -1,14 +1,16 @@
github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=
github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g=
github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU=
github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM=
github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ=
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
@@ -19,24 +21,19 @@ github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+Gr
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/google/gnostic-models v0.6.9 h1:MU/8wDLif2qCXZmzncUQ/BOfxWfthHi63KqpoNbWqVw=
github.com/google/gnostic-models v0.6.9/go.mod h1:CiWsm0s6BSQd1hRn8/QmxqB6BesYcbSZxsz9b0KuDBw=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo=
github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db h1:097atOisP2aRj7vFgYQBbFN4U4JNXUNYpxael3UzMyo=
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 h1:BHT72Gu3keYf3ZEu2J0b1vyeLSOYI8bm5wbJM/8yDe8=
github.com/google/pprof v0.0.0-20250403155104-27863c87afa6/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
@@ -49,22 +46,21 @@ github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJ
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/onsi/ginkgo/v2 v2.21.0 h1:7rg/4f3rB88pb5obDgNZrNHrQ4e6WpjonchcpuBRnZM=
github.com/onsi/ginkgo/v2 v2.21.0/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo=
github.com/onsi/gomega v1.35.1 h1:Cwbd75ZBPxFSuZ6T+rN/WCb/gOc6YgFBXLlZLhC7Ds4=
github.com/onsi/gomega v1.35.1/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/onsi/ginkgo/v2 v2.27.2 h1:LzwLj0b89qtIy6SSASkzlNvX6WktqurSHwkk2ipF/Ns=
github.com/onsi/ginkgo/v2 v2.27.2/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo=
github.com/onsi/gomega v1.38.2 h1:eZCjf2xjZAqe+LeWvKb5weQ+NcPwX84kqJ0cZNxok2A=
github.com/onsi/gomega v1.38.2/go.mod h1:W2MJcYxRGV63b418Ai34Ud0hEdTVXq9NW9+Sx6uXf3k=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
@@ -74,81 +70,61 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M=
golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0=
go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8=
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA=
golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w=
golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY=
golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ=
golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM=
google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ=
golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs=
google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc=
google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4=
gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M=
gopkg.in/evanphx/json-patch.v4 v4.13.0 h1:czT3CmqEaQ1aanPc5SdlgQrrEIb8w/wwCvWWnfEbYzo=
gopkg.in/evanphx/json-patch.v4 v4.13.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M=
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
k8s.io/api v0.33.0 h1:yTgZVn1XEe6opVpP1FylmNrIFWuDqe2H0V8CT5gxfIU=
k8s.io/api v0.33.0/go.mod h1:CTO61ECK/KU7haa3qq8sarQ0biLq2ju405IZAd9zsiM=
k8s.io/apimachinery v0.33.0 h1:1a6kHrJxb2hs4t8EE5wuR/WxKDwGN1FKH3JvDtA0CIQ=
k8s.io/apimachinery v0.33.0/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM=
k8s.io/client-go v0.33.0 h1:UASR0sAYVUzs2kYuKn/ZakZlcs2bEHaizrrHUZg0G98=
k8s.io/client-go v0.33.0/go.mod h1:kGkd+l/gNGg8GYWAPr0xF1rRKvVWvzh9vmZAMXtaKOg=
k8s.io/api v0.35.0 h1:iBAU5LTyBI9vw3L5glmat1njFK34srdLmktWwLTprlY=
k8s.io/api v0.35.0/go.mod h1:AQ0SNTzm4ZAczM03QH42c7l3bih1TbAXYo0DkF8ktnA=
k8s.io/apimachinery v0.35.0 h1:Z2L3IHvPVv/MJ7xRxHEtk6GoJElaAqDCCU0S6ncYok8=
k8s.io/apimachinery v0.35.0/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns=
k8s.io/client-go v0.35.0 h1:IAW0ifFbfQQwQmga0UdoH0yvdqrbwMdq9vIFEhRpxBE=
k8s.io/client-go v0.35.0/go.mod h1:q2E5AAyqcbeLGPdoRB+Nxe3KYTfPce1Dnu1myQdqz9o=
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUyGcf03XZEP0ZIKgKj35LS4=
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8=
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 h1:M3sRQVHv7vB20Xc2ybTt7ODCeFj6JSWYFzOFnYeS6Ro=
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8=
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3/go.mod h1:18nIHnGi6636UCz6m8i4DhaJ65T6EruyzmoQqI2BVDo=
sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE=
k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ=
k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck=
k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg=
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU=
sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 h1:IUA9nvMmnKWcj5jl84xn+T5MnlZKThmUW1TdblaLVAc=
sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps=
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco=
sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE=
sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs=
sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4=
+21 -17
View File
@@ -4,6 +4,7 @@ import (
"context"
"flag"
"log"
"slices"
"strings"
"time"
@@ -61,18 +62,26 @@ func main() {
}
for _, ns := range namespaces.Items {
log.Printf("Checking for LimitRange named extreme-request-defaults in namespace '%v'\n", ns.Name)
limitRanges, err := clientset.CoreV1().LimitRanges(ns.Name).List(ctx, metav1.ListOptions{FieldSelector: "metadata.name=extreme-request-defaults"})
if err != nil {
log.Printf("Unable to list LimitRanges in namespace '%v': Error: %v\n", ns.Name, err)
continue
}
if !nsExcluded(ns.Name, excludedNS) {
log.Printf("Checking for LimitRange named extreme-request-defaults in namespace '%v'\n", ns.Name)
if limitRanges, err := clientset.CoreV1().LimitRanges(ns.Name).List(ctx, metav1.ListOptions{FieldSelector: "metadata.name=extreme-request-defaults"}); err != nil {
panic(err)
} else {
if len(limitRanges.Items) == 0 {
log.Printf("Trying to create LimitRange\n")
if _, err := clientset.CoreV1().LimitRanges(ns.Name).Create(ctx, &limitRange, metav1.CreateOptions{}); err != nil {
log.Printf("Unable to create LimitRange in namespace '%v': Error: %v\n", ns.Name, err)
} else {
log.Printf("LimitRange extreme-request-defaults created in namespace '%v'\n", ns.Name)
}
if len(limitRanges.Items) == 0 {
log.Printf("Trying to create LimitRange\n")
if _, err := clientset.CoreV1().LimitRanges(ns.Name).Create(ctx, &limitRange, metav1.CreateOptions{}); err != nil {
log.Printf("Unable to create LimitRange in namespace '%v': Error: %v\n", ns.Name, err)
} else {
log.Printf("LimitRange extreme-request-defaults created in namespace '%v'\n", ns.Name)
}
}
} else {
if len(limitRanges.Items) > 0 {
log.Printf("Trying to delete LimitRange\n")
if err := clientset.CoreV1().LimitRanges(ns.Name).Delete(ctx, "extreme-request-defaults", metav1.DeleteOptions{}); err != nil {
log.Printf("Unable to delete LimitRange in namespace '%v': Error: %v\n", ns.Name, err)
}
}
}
@@ -83,12 +92,7 @@ func main() {
}
func nsExcluded(name string, excludedNS []string) bool {
for _, ns := range excludedNS {
if name == ns {
return true
}
}
return false
return slices.Contains(excludedNS, name) || slices.Contains(excludedNS, "*")
}
func parseArgs() args {