192 Commits

Author SHA1 Message Date
Unbound Release 0b76400aa6 chore(release): prepare for 1.3.5 2025-01-24 14:48:27 +00:00
argoyle de495a8c5e fix(deployment): update label to use standardized format
Change the labels for the cron-checker application in the 
deployment configuration to adhere to Kubernetes' recommended 
labeling conventions. This improves consistency and allows 
better integration with tools that rely on standardized 
labels for application management.
2025-01-24 15:39:11 +01:00
Renovate 3ae2e157af chore(deps): update golang:1.23.5 docker digest to 8c10f21 2025-01-22 04:06:48 +00:00
Unbound Release 70cc2fca02 chore(release): prepare for 1.3.4 2025-01-17 12:27:03 +00:00
Renovate 2403c1a3df chore(deps): update golang docker tag to v1.23.5 2025-01-17 07:36:42 +00:00
Renovate 63a1d18e49 chore(deps): update dependency go to v1.23.5 2025-01-16 21:08:41 +00:00
Renovate d024d3e17c fix(deps): update kubernetes packages to v0.32.1 2025-01-16 17:09:35 +00:00
Renovate c013527a02 chore(deps): update golang:1.23.4 docker digest to 9820aca 2025-01-15 23:19:34 +00:00
Renovate 0436065d4f chore(deps): update golang:1.23.4 docker digest to 5305905 2025-01-15 19:03:32 +00:00
Renovate 82658b0432 chore(deps): update golang:1.23.4 docker digest to 585103a 2025-01-15 01:12:23 +00:00
Renovate 4451e77a98 chore(deps): update golang:1.23.4 docker digest to 08e1417 2025-01-14 13:03:59 +00:00
Renovate 3e44f97dca chore(deps): update golang:1.23.4 docker digest to 3b1a7de 2025-01-14 07:23:17 +00:00
Renovate 6fb430526d fix(deps): update module github.com/sanity-io/litter to v1.5.6 2025-01-09 11:13:11 +00:00
Unbound Release b3a26830c9 chore(release): prepare for 1.3.3 2024-12-28 17:48:40 +00:00
Renovate ac3e649f0c chore(deps): update golang:1.23.4 docker digest to 7ea4c9d 2024-12-26 04:06:29 +00:00
Renovate 356a9247e6 chore(deps): update golang:1.23.4 docker digest to 7003184 2024-12-12 08:22:05 +00:00
Renovate 289a52df58 fix(deps): update kubernetes packages to v0.32.0 2024-12-12 00:00:23 +00:00
Renovate 8b9a90d171 fix(deps): update kubernetes packages to v0.31.4 2024-12-11 03:05:35 +00:00
argoyle ad07055d45 ci: remove unnecessary docker configuration
Eliminate redundant Docker configurations in the CI setup. This 
streamlines the build process and reduces complexity by removing 
variables and services not needed for the current build 
configuration.
2024-12-05 10:51:36 +01:00
Renovate a9a45eca97 chore(deps): update golang:1.23.4 docker digest to 574185e 2024-12-04 12:04:32 +00:00
Renovate 56e83523ca chore(deps): update golang docker tag to v1.23.4 2024-12-04 06:03:26 +00:00
Renovate b29ce707c1 chore(deps): update dependency go to v1.23.4 2024-12-03 21:19:51 +00:00
Renovate 5811cdda1b chore(deps): update golang:1.23.3 docker digest to 017ec6b 2024-12-03 21:07:25 +00:00
Renovate bd289c2b91 chore(deps): update golang:1.23.3 docker digest to 2b01164 2024-12-03 15:01:52 +00:00
Renovate ca13a1c8af chore(deps): update golang:1.23.3 docker digest to b4aabba 2024-12-03 12:03:04 +00:00
Renovate 8d1ae96549 chore(deps): update golang:1.23.3 docker digest to ee5f0ad 2024-12-03 08:59:13 +00:00
Unbound Release ad4979dc8f chore(release): prepare for 1.3.2 2024-11-21 09:57:09 +00:00
Renovate 48684e7c3e fix(deps): update kubernetes packages to v0.31.3 2024-11-21 08:56:19 +00:00
Renovate d373566a6b chore(deps): update golang:1.23.3 docker digest to 73f06be 2024-11-15 00:03:33 +00:00
Renovate 44885a1014 chore(deps): update golang:1.23.3 docker digest to c2d828f 2024-11-13 21:03:41 +00:00
Renovate 03dc28a8c9 chore(deps): update golang:1.23.3 docker digest to 2660218 2024-11-13 12:03:06 +00:00
Renovate d1322c5034 chore(deps): update golang:1.23.3 docker digest to b2ca381 2024-11-13 08:59:19 +00:00
Renovate 92e7773837 chore(deps): update golang:1.23.3 docker digest to 3694e36 2024-11-13 05:58:17 +00:00
Renovate bc36de7160 chore(deps): update golang:1.23.3 docker digest to 8956c08 2024-11-12 08:58:02 +00:00
Renovate b65aa278a9 chore(deps): update golang docker tag to v1.23.3 2024-11-07 08:59:00 +00:00
Renovate 5f8ec76f40 chore(deps): update dependency go to v1.23.3 2024-11-07 00:02:07 +00:00
Renovate 6688715a0c chore(deps): pin golang docker tag to ad5c126 2024-11-03 16:37:35 +00:00
Unbound Release 39a7cba0a6 chore(release): prepare for 1.3.1 2024-10-24 05:36:23 +00:00
Renovate 3146b8236e fix(deps): update kubernetes packages to v0.31.2 2024-10-23 16:56:02 +00:00
Unbound Release 491b0d0732 chore(release): prepare for 1.3.0 2024-10-06 08:54:44 +00:00
argoyle faeb419889 ci: add git-cliff configuration 2024-10-06 10:44:04 +02:00
argoyle 16e583fdae ci: add release flow 2024-10-05 21:08:56 +02:00
Renovate a67e37b399 chore(deps): update golang docker tag to v1.23.2 2024-10-02 04:39:57 +00:00
Renovate ee8ee8be51 chore(deps): update dependency go to v1.23.2 2024-10-01 20:02:26 +00:00
Renovate 221d3ad3d5 fix(deps): update kubernetes packages to v0.31.1 2024-09-12 07:57:01 +00:00
Renovate 8b57bcca0f chore(deps): update golang docker tag to v1.23.1 2024-09-06 05:32:07 +00:00
Renovate d1ae42fefb chore(deps): update dependency go to v1.23.1 2024-09-05 16:56:29 +00:00
Renovate e0df5d20c1 chore(deps): update golang docker tag to v1.23.0 2024-08-13 22:57:23 +00:00
Renovate f3319ffc79 fix(deps): update kubernetes packages to v0.31.0 2024-08-13 18:26:20 +00:00
Renovate 3639476615 chore(deps): update dependency go to v1.23.0 2024-08-13 16:56:32 +00:00
Renovate 3daa8254d5 chore(deps): update golang docker tag to v1.22.6 2024-08-07 01:59:05 +00:00
Renovate c3031619fc chore(deps): update dependency go to v1.22.6 2024-08-06 19:58:54 +00:00
Renovate a7b264ec95 fix(deps): update kubernetes packages to v0.30.3 2024-07-17 22:55:17 +00:00
Renovate ef1c9649ff chore(deps): update golang docker tag to v1.22.5 2024-07-03 01:57:45 +00:00
Renovate a3b4ae5a50 chore(deps): update dependency go to v1.22.5 2024-07-02 20:00:58 +00:00
Renovate 621e1b9775 fix(deps): update kubernetes packages to v0.30.2 2024-06-12 19:58:34 +00:00
Renovate 5eede339d7 chore(deps): update golang docker tag to v1.22.4 2024-06-05 07:55:01 +00:00
Renovate 5af2fffb35 chore(deps): update dependency go to v1.22.4 2024-06-04 19:57:21 +00:00
Renovate 8870d30939 fix(deps): update kubernetes packages to v0.30.1 2024-05-15 13:56:13 +00:00
Renovate 53f88a068c chore(deps): update golang docker tag to v1.22.3 2024-05-07 19:56:33 +00:00
Renovate 0a2f8d728f chore(deps): update dependency go to v1.22.3 2024-05-07 16:55:22 +00:00
Renovate 63a8221e48 fix(deps): update kubernetes packages to v0.30.0 2024-04-18 11:27:37 +00:00
Renovate 13d4150732 chore(deps): update dependency go to v1.22.2 2024-04-17 19:56:06 +00:00
Renovate 0f97a1ec87 fix(deps): update module k8s.io/client-go to v0.29.4 2024-04-17 01:55:38 +00:00
Renovate 3b59c2c2be chore(deps): update golang docker tag to v1.22.2 2024-04-03 19:55:40 +00:00
Renovate 05c6b1c0cf fix(deps): update kubernetes packages to v0.29.3 2024-03-15 23:53:56 +00:00
Renovate 35e4352df6 chore(deps): update golang docker tag to v1.22.1 2024-03-05 19:59:19 +00:00
Renovate 86667bbf22 fix(deps): update github.com/multiplay/go-slack digest to 0762aee 2024-02-24 13:30:02 +01:00
argoyle 550d4cd0a8 ci: remove Dependabot config 2024-02-23 23:28:06 +01:00
Renovate 7dd8e80660 Add renovate.json 2024-02-23 16:56:06 +00:00
argoyle 9d301bd782 chore(deps): bump k8s.io/client-go from 0.29.1 to 0.29.2
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.29.1 to 0.29.2.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.29.1...v0.29.2)
2024-02-15 09:54:10 +00:00
argoyle ba7273d318 chore(deps): bump golang from 1.21.6 to 1.22.0
Bumps golang from 1.21.6 to 1.22.0.
2024-02-07 21:09:38 +00:00
argoyle 6b618d9366 chore(deps): bump k8s.io/client-go from 0.29.0 to 0.29.1
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.29.0 to 0.29.1.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.29.0...v0.29.1)
2024-01-18 09:54:10 +00:00
argoyle 78cad53109 chore(deps): bump golang from 1.21.5 to 1.21.6
Bumps golang from 1.21.5 to 1.21.6.
2024-01-10 21:09:31 +00:00
argoyle 5cd208a23e chore(deps): bump k8s.io/client-go from 0.28.4 to 0.29.0
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.28.4 to 0.29.0.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.28.4...v0.29.0)
2023-12-14 09:54:05 +00:00
argoyle 40bd0bd947 chore(deps): bump golang from 1.21.4 to 1.21.5
Bumps golang from 1.21.4 to 1.21.5.
2023-12-05 21:09:36 +00:00
argoyle eff85192c4 chore(deps): bump github.com/alecthomas/kingpin/v2 from 2.3.2 to 2.4.0
Bumps [github.com/alecthomas/kingpin/v2](https://github.com/alecthomas/kingpin) from 2.3.2 to 2.4.0.
- [Release notes](https://github.com/alecthomas/kingpin/releases)
- [Commits](https://github.com/alecthomas/kingpin/compare/v2.3.2...v2.4.0)
2023-11-16 14:19:23 +00:00
argoyle 8c2fad540c chore(deps): bump k8s.io/client-go from 0.28.3 to 0.28.4
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.28.3 to 0.28.4.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.28.3...v0.28.4)
2023-11-16 09:54:15 +00:00
argoyle d31e72e44f chore(deps): bump golang from 1.21.3 to 1.21.4
Bumps golang from 1.21.3 to 1.21.4.
2023-11-07 21:13:19 +00:00
argoyle 68fa695ca5 chore(deps): bump k8s.io/client-go from 0.28.2 to 0.28.3
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.28.2 to 0.28.3.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.28.2...v0.28.3)
2023-10-19 09:54:15 +00:00
argoyle 0392819c87 chore(deps): bump golang from 1.21.2 to 1.21.3
Bumps golang from 1.21.2 to 1.21.3.
2023-10-10 21:09:19 +00:00
argoyle a922f2da7e chore(deps): bump golang from 1.21.1 to 1.21.2
Bumps golang from 1.21.1 to 1.21.2.
2023-10-06 21:09:28 +00:00
argoyle 79fe54fb6c chore(deps): bump k8s.io/client-go from 0.28.1 to 0.28.2
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.28.1 to 0.28.2.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.28.1...v0.28.2)
2023-09-14 09:54:09 +00:00
argoyle acfaa667f8 chore(deps): bump golang from 1.21.0 to 1.21.1
Bumps golang from 1.21.0 to 1.21.1.
2023-09-06 21:09:29 +00:00
argoyle 5851819212 chore(deps): bump k8s.io/client-go from 0.28.0 to 0.28.1
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.28.0 to 0.28.1.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.28.0...v0.28.1)
2023-08-25 09:54:25 +00:00
argoyle 2e5042cfe5 chore(deps): bump k8s.io/client-go from 0.27.4 to 0.28.0
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.27.4 to 0.28.0.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.27.4...v0.28.0)
2023-08-16 09:54:01 +00:00
argoyle 9b257411c6 chore(deps): bump golang from 1.20.7 to 1.21.0
Bumps golang from 1.20.7 to 1.21.0.
2023-08-09 21:09:24 +00:00
argoyle 9890f13091 chore(deps): bump golang from 1.20.6 to 1.20.7
Bumps golang from 1.20.6 to 1.20.7.
2023-08-02 21:09:32 +00:00
argoyle 5cb9bb1d00 chore(deps): bump k8s.io/client-go from 0.27.3 to 0.27.4
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.27.3 to 0.27.4.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.27.3...v0.27.4)
2023-07-20 09:54:02 +00:00
argoyle 0ee1aea33b chore(deps): bump golang from 1.20.5 to 1.20.6
Bumps golang from 1.20.5 to 1.20.6.
2023-07-11 21:09:55 +00:00
argoyle 37b40df945 chore(deps): bump k8s.io/client-go from 0.27.2 to 0.27.3
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.27.2 to 0.27.3.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.27.2...v0.27.3)
2023-06-15 09:54:03 +00:00
argoyle 6eb98834eb chore(deps): bump golang from 1.20.4 to 1.20.5
Bumps golang from 1.20.4 to 1.20.5.
2023-06-06 21:09:32 +00:00
argoyle e2e1fa652a ci: update kingpin dependency 2023-05-23 19:32:04 +02:00
argoyle d2c23b135f chore(deps): bump k8s.io/client-go from 0.27.1 to 0.27.2
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.27.1 to 0.27.2.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.27.1...v0.27.2)
2023-05-18 09:54:19 +00:00
argoyle f5d59be8ba chore(deps): bump golang from 1.20.3 to 1.20.4
Bumps golang from 1.20.3 to 1.20.4.
2023-05-02 21:09:29 +00:00
argoyle 19e0d275f6 chore(deps): bump k8s.io/client-go from 0.27.0 to 0.27.1
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.27.0 to 0.27.1.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.27.0...v0.27.1)
2023-04-15 09:54:08 +00:00
argoyle 82091f37e2 chore(deps): bump k8s.io/client-go from 0.26.3 to 0.27.0
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.26.3 to 0.27.0.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.26.3...v0.27.0)
2023-04-12 09:54:01 +00:00
argoyle e383623d64 chore(deps): bump golang from 1.20.2 to 1.20.3
Bumps golang from 1.20.2 to 1.20.3.
2023-04-04 21:09:42 +00:00
argoyle 5418ac868c chore(deps): bump k8s.io/client-go from 0.26.2 to 0.26.3
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.26.2 to 0.26.3.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.26.2...v0.26.3)
2023-03-18 09:54:16 +00:00
argoyle ba26533f7a chore(deps): bump golang from 1.20.1 to 1.20.2
Bumps golang from 1.20.1 to 1.20.2.
2023-03-08 21:09:25 +00:00
argoyle e55de68daa chore(deps): bump k8s.io/client-go from 0.26.1 to 0.26.2
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.26.1 to 0.26.2.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.26.1...v0.26.2)
2023-03-01 09:53:57 +00:00
argoyle 33fd2b89ec chore(deps): bump golang from 1.20.0 to 1.20.1
Bumps golang from 1.20.0 to 1.20.1.
2023-02-15 21:09:30 +00:00
argoyle 6729ae6a25 ci: use Docker DinD version from variable 2023-02-09 07:54:48 +01:00
argoyle 29352aa85c chore(deps): bump golang from 1.19.5 to 1.20.0
Bumps golang from 1.19.5 to 1.20.0.
2023-02-02 21:09:10 +00:00
argoyle 76dbbbb17c chore(deps): bump k8s.io/client-go from 0.26.0 to 0.26.1
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.26.0 to 0.26.1.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.26.0...v0.26.1)
2023-01-19 09:54:13 +00:00
argoyle 8038a8149e chore(deps): bump golang from 1.19.4 to 1.19.5
Bumps golang from 1.19.4 to 1.19.5.
2023-01-11 21:09:24 +00:00
argoyle 3bdb66901a chore(deps): bump k8s.io/client-go from 0.25.4 to 0.26.0
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.25.4 to 0.26.0.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.25.4...v0.26.0)
2022-12-09 13:03:42 +00:00
argoyle 1fabafddb3 chore(deps): bump golang from 1.19.3 to 1.19.4
Bumps golang from 1.19.3 to 1.19.4.
2022-12-06 21:09:55 +00:00
argoyle 878f6bc364 chore(deps): bump k8s.io/client-go from 0.25.3 to 0.25.4
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.25.3 to 0.25.4.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.25.3...v0.25.4)
2022-11-11 09:54:08 +00:00
argoyle 4c8fbf2f43 chore(deps): bump golang from 1.19.2 to 1.19.3
Bumps golang from 1.19.2 to 1.19.3.
2022-11-03 21:09:19 +00:00
argoyle c74ef9f122 chore(deps): bump k8s.io/client-go from 0.25.2 to 0.25.3
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.25.2 to 0.25.3.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.25.2...v0.25.3)
2022-10-18 08:36:34 +00:00
argoyle 68bfbb6564 chore(deps): bump golang from 1.19.1 to 1.19.2
Bumps golang from 1.19.1 to 1.19.2.
2022-10-04 21:09:11 +00:00
argoyle cba73097a6 docs: update version in example 2022-09-23 20:12:11 +02:00
argoyle 1187bfcdeb ci: make sure Codecov finds all it's files 2022-09-23 18:54:55 +02:00
argoyle 715939d794 chore: update to batch/v1 instead of the deprecated batch/v1beta1 2022-09-23 18:54:54 +02:00
argoyle 54722aafd9 chore(deps): bump k8s.io/client-go from 0.25.1 to 0.25.2
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.25.1 to 0.25.2.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.25.1...v0.25.2)
2022-09-22 09:53:57 +00:00
argoyle 665c4b7580 chore(deps): bump k8s.io/client-go from 0.25.0 to 0.25.1
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.25.0 to 0.25.1.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.25.0...v0.25.1)
2022-09-17 09:53:50 +00:00
argoyle 4c04849140 chore(deps): bump golang from 1.19.0 to 1.19.1
Bumps golang from 1.19.0 to 1.19.1.
2022-09-06 21:09:15 +00:00
argoyle 65eadcf0fd chore(deps): bump k8s.io/client-go from 0.24.4 to 0.25.0
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.24.4 to 0.25.0.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.24.4...v0.25.0)
2022-08-24 09:53:51 +00:00
argoyle d10914388d chore(deps): bump k8s.io/client-go from 0.24.3 to 0.24.4
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.24.3 to 0.24.4.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.24.3...v0.24.4)
2022-08-18 09:53:51 +00:00
argoyle f976edad86 chore(deps): bump golang from 1.18.5 to 1.19.0
Bumps golang from 1.18.5 to 1.19.0.
2022-08-02 21:13:05 +00:00
argoyle d4e3609860 chore(deps): bump golang from 1.18.4 to 1.18.5
Bumps golang from 1.18.4 to 1.18.5.
2022-08-01 21:09:15 +00:00
argoyle c81a9f0c2f chore(deps): bump k8s.io/client-go from 0.24.2 to 0.24.3
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.24.2 to 0.24.3.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.24.2...v0.24.3)
2022-07-15 10:07:52 +00:00
argoyle b56559402f chore(deps): bump golang from 1.18.3 to 1.18.4
Bumps golang from 1.18.3 to 1.18.4.
2022-07-13 21:09:19 +00:00
argoyle 1cb6156e62 chore(deps): bump k8s.io/client-go from 0.24.1 to 0.24.2
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.24.1 to 0.24.2.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.24.1...v0.24.2)
2022-06-17 15:20:17 +00:00
argoyle 77ea28954d chore(deps): bump golang from 1.18.2 to 1.18.3
Bumps golang from 1.18.2 to 1.18.3.
2022-06-02 21:09:12 +00:00
argoyle 865bfcf166 chore(deps): bump k8s.io/client-go from 0.24.0 to 0.24.1
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.24.0 to 0.24.1.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.24.0...v0.24.1)
2022-05-26 09:54:30 +00:00
argoyle 29b6fc9a23 Merge branch 'dependabot-docker-golang-1.18.2' into 'master'
chore(deps): bump golang from 1.18.1 to 1.18.2

See merge request unboundsoftware/cron-checker!45
2022-05-12 07:35:24 +00:00
argoyle 00671b1748 chore(deps): bump golang from 1.18.1 to 1.18.2
Bumps golang from 1.18.1 to 1.18.2.
2022-05-11 21:09:10 +00:00
argoyle b3c200d893 Merge branch 'dependabot-go_modules-k8s.io-client-go-0.24.0' into 'master'
chore(deps): bump k8s.io/client-go from 0.23.6 to 0.24.0

See merge request unboundsoftware/cron-checker!44
2022-05-04 10:58:54 +00:00
argoyle ce89be7e2a chore(deps): bump k8s.io/client-go from 0.23.6 to 0.24.0
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.23.6 to 0.24.0.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.23.6...v0.24.0)
2022-05-04 09:54:32 +00:00
argoyle e180fc5993 Merge branch 'dependabot-go_modules-github.com-sanity-io-litter-1.5.5' into 'master'
chore(deps): bump github.com/sanity-io/litter from 1.5.4 to 1.5.5

See merge request unboundsoftware/cron-checker!41
2022-04-28 10:14:21 +00:00
argoyle 588f073dee chore(deps): bump github.com/sanity-io/litter from 1.5.4 to 1.5.5
Bumps [github.com/sanity-io/litter](https://github.com/sanity-io/litter) from 1.5.4 to 1.5.5.
- [Release notes](https://github.com/sanity-io/litter/releases)
- [Changelog](https://github.com/sanity-io/litter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sanity-io/litter/compare/v1.5.4...v1.5.5)
2022-04-28 09:53:44 +00:00
argoyle 7c1dd9f96f Merge branch 'dependabot-go_modules-k8s.io-client-go-0.23.6' into 'master'
chore(deps): bump k8s.io/client-go from 0.23.5 to 0.23.6

See merge request unboundsoftware/cron-checker!40
2022-04-21 10:12:43 +00:00
argoyle fd9231361a chore(deps): bump k8s.io/client-go from 0.23.5 to 0.23.6
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.23.5 to 0.23.6.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.23.5...v0.23.6)
2022-04-21 10:00:19 +00:00
argoyle 63f54fd9aa Merge branch 'dependabot-docker-golang-1.18.1' into 'master'
chore(deps): bump golang from 1.18.0 to 1.18.1

See merge request unboundsoftware/cron-checker!37
2022-04-14 05:21:49 +00:00
argoyle 8e33db3b41 chore(deps): bump golang from 1.18.0 to 1.18.1
Bumps golang from 1.18.0 to 1.18.1.
2022-04-13 21:09:14 +00:00
argoyle b4ac7f206d Merge branch 'dependabot-go_modules-k8s.io-client-go-0.23.5' into 'master'
chore(deps): bump k8s.io/client-go from 0.23.4 to 0.23.5

See merge request unboundsoftware/cron-checker!36
2022-03-21 12:03:01 +00:00
argoyle 61c569bc8c chore(deps): bump k8s.io/client-go from 0.23.4 to 0.23.5
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.23.4 to 0.23.5.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.23.4...v0.23.5)
2022-03-21 10:00:29 +00:00
argoyle d49baffce9 Merge branch 'dependabot-docker-golang-1.18.0' into 'master'
chore(deps): bump golang from 1.17.8 to 1.18.0

See merge request unboundsoftware/cron-checker!33
2022-03-17 07:01:39 +00:00
argoyle 5e5bc0cadf chore(deps): bump golang from 1.17.8 to 1.18.0
Bumps golang from 1.17.8 to 1.18.0.
2022-03-16 21:09:35 +00:00
argoyle 2298d17ddb Merge branch 'dependabot-go_modules-github.com-sanity-io-litter-1.5.4' into 'master'
chore(deps): bump github.com/sanity-io/litter from 1.5.2 to 1.5.4

See merge request unboundsoftware/cron-checker!32
2022-03-15 12:04:57 +00:00
argoyle 1ccb7796fa chore(deps): bump github.com/sanity-io/litter from 1.5.2 to 1.5.4
Bumps [github.com/sanity-io/litter](https://github.com/sanity-io/litter) from 1.5.2 to 1.5.4.
- [Release notes](https://github.com/sanity-io/litter/releases)
- [Changelog](https://github.com/sanity-io/litter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sanity-io/litter/compare/v1.5.2...v1.5.4)
2022-03-15 09:54:06 +00:00
argoyle 17a99dcfd6 Merge branch 'dependabot-docker-golang-1.17.8' into 'master'
chore(deps): bump golang from 1.17.7 to 1.17.8

See merge request unboundsoftware/cron-checker!31
2022-03-07 07:00:34 +00:00
argoyle d8d5216987 chore(deps): bump golang from 1.17.7 to 1.17.8
Bumps golang from 1.17.7 to 1.17.8.
2022-03-05 21:09:18 +00:00
argoyle 31a619ee08 Merge branch 'dependabot-go_modules-k8s.io-client-go-0.23.4' into 'master'
chore(deps): bump k8s.io/client-go from 0.23.3 to 0.23.4

See merge request unboundsoftware/cron-checker!29
2022-02-18 11:56:46 +00:00
argoyle e893c1a218 chore(deps): bump k8s.io/client-go from 0.23.3 to 0.23.4
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.23.3 to 0.23.4.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.23.3...v0.23.4)
2022-02-18 10:00:48 +00:00
argoyle 1842720861 Merge branch 'dependabot-docker-golang-1.17.7' into 'master'
chore(deps): bump golang from 1.17.6 to 1.17.7

See merge request unboundsoftware/cron-checker!26
2022-02-11 21:30:09 +00:00
argoyle 705b6b95e3 chore(deps): bump golang from 1.17.6 to 1.17.7
Bumps golang from 1.17.6 to 1.17.7.
2022-02-11 21:09:52 +00:00
argoyle 47d21f7856 Merge branch 'dependabot-go_modules-k8s.io-client-go-0.23.3' into 'master'
chore(deps): bump k8s.io/client-go from 0.23.2 to 0.23.3

See merge request unboundsoftware/cron-checker!25
2022-01-26 10:54:55 +00:00
argoyle 831171e0a4 chore(deps): bump k8s.io/client-go from 0.23.2 to 0.23.3
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.23.2 to 0.23.3.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.23.2...v0.23.3)
2022-01-26 10:00:17 +00:00
argoyle e8d33831f2 Merge branch 'dependabot-go_modules-k8s.io-client-go-0.23.2' into 'master'
chore(deps): bump k8s.io/client-go from 0.23.1 to 0.23.2

See merge request unboundsoftware/cron-checker!22
2022-01-22 10:09:02 +00:00
argoyle 71c0d185f7 chore(deps): bump k8s.io/client-go from 0.23.1 to 0.23.2
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.23.1 to 0.23.2.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.23.1...v0.23.2)
2022-01-21 09:56:04 +00:00
argoyle 64d73ec963 Merge branch 'dependabot-go_modules-github.com-sanity-io-litter-1.5.2' into 'master'
chore(deps): bump github.com/sanity-io/litter from 1.5.1 to 1.5.2

See merge request unboundsoftware/cron-checker!19
2022-01-11 07:55:29 +00:00
argoyle 33e1506717 chore(deps): bump github.com/sanity-io/litter from 1.5.1 to 1.5.2
Bumps [github.com/sanity-io/litter](https://github.com/sanity-io/litter) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/sanity-io/litter/releases)
- [Changelog](https://github.com/sanity-io/litter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sanity-io/litter/compare/v1.5.1...v1.5.2)
2022-01-10 09:59:15 +00:00
argoyle 759b287b2c Merge branch 'dependabot-docker-golang-1.17.6' into 'master'
chore(deps): bump golang from 1.17.5 to 1.17.6

See merge request unboundsoftware/cron-checker!18
2022-01-08 14:42:58 +00:00
argoyle d35ff9c497 chore(deps): bump golang from 1.17.5 to 1.17.6
Bumps golang from 1.17.5 to 1.17.6.
2022-01-07 21:09:35 +00:00
argoyle b76d33d5d9 Merge branch 'dependabot-go_modules-k8s.io-client-go-0.23.1' into 'master'
chore(deps): bump k8s.io/client-go from 0.23.0 to 0.23.1

See merge request unboundsoftware/cron-checker!17
2021-12-18 21:14:17 +00:00
argoyle 878d0af788 chore(deps): bump k8s.io/client-go from 0.23.0 to 0.23.1 2021-12-18 21:02:50 +00:00
argoyle c809233a74 Merge branch 'dependabot-go_modules-k8s.io-api-0.23.1' into 'master'
chore(deps): bump k8s.io/api from 0.23.0 to 0.23.1

See merge request unboundsoftware/cron-checker!15
2021-12-18 20:45:57 +00:00
argoyle 9196cc3c08 chore(deps): bump k8s.io/api from 0.23.0 to 0.23.1 2021-12-18 20:34:00 +00:00
argoyle 3594ed09ef Merge branch 'dependabot-go_modules-k8s.io-apimachinery-0.23.1' into 'master'
chore(deps): bump k8s.io/apimachinery from 0.23.0 to 0.23.1

See merge request unboundsoftware/cron-checker!16
2021-12-18 19:29:11 +00:00
argoyle a8dc955d94 chore(deps): bump k8s.io/apimachinery from 0.23.0 to 0.23.1
Bumps [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) from 0.23.0 to 0.23.1.
- [Release notes](https://github.com/kubernetes/apimachinery/releases)
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.23.0...v0.23.1)
2021-12-17 10:04:55 +00:00
argoyle 481d894f08 Merge branch 'dependabot-docker-golang-1.17.5' into 'master'
chore(deps): bump golang from 1.17.4 to 1.17.5

See merge request unboundsoftware/cron-checker!14
2021-12-10 06:43:34 +00:00
argoyle e5ad0a2344 chore(deps): bump golang from 1.17.4 to 1.17.5
Bumps golang from 1.17.4 to 1.17.5.
2021-12-09 21:09:09 +00:00
argoyle 019e05ef99 Merge branch 'dependabot-go_modules-k8s.io-api-0.23.0' into 'master'
chore(deps): bump k8s.io/api from 0.22.4 to 0.23.0

See merge request unboundsoftware/cron-checker!11
2021-12-08 18:45:20 +00:00
argoyle 9a138c7970 chore(deps): bump k8s.io/api from 0.22.4 to 0.23.0
Bumps [k8s.io/api](https://github.com/kubernetes/api) from 0.22.4 to 0.23.0.
- [Release notes](https://github.com/kubernetes/api/releases)
- [Commits](https://github.com/kubernetes/api/compare/v0.22.4...v0.23.0)
2021-12-08 19:33:53 +01:00
argoyle bd312132cc Merge branch 'dependabot-go_modules-k8s.io-client-go-0.23.0' into 'master'
chore(deps): bump k8s.io/client-go from 0.22.4 to 0.23.0

See merge request unboundsoftware/cron-checker!13
2021-12-08 17:33:06 +00:00
argoyle 3f34c8cf28 chore(deps): bump k8s.io/client-go from 0.22.4 to 0.23.0
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.22.4 to 0.23.0.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.22.4...v0.23.0)
2021-12-08 10:12:06 +00:00
argoyle 84f12c732f Merge branch 'dependabot-docker-golang-1.17.4' into 'master'
chore(deps): bump golang from 1.17.3 to 1.17.4

See merge request unboundsoftware/cron-checker!10
2021-12-07 09:21:45 +00:00
argoyle 97894571a0 chore(deps): bump golang from 1.17.3 to 1.17.4
Bumps golang from 1.17.3 to 1.17.4.
2021-12-05 21:56:24 +00:00
argoyle 7cc1308746 Merge branch 'dependabot-go_modules-k8s.io-client-go-0.22.4' into 'master'
chore(deps): bump k8s.io/client-go from 0.22.3 to 0.22.4

See merge request unboundsoftware/cron-checker!9
2021-11-18 10:23:50 +00:00
argoyle a8b8ef10ca chore(deps): bump k8s.io/client-go from 0.22.3 to 0.22.4
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.22.3 to 0.22.4.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.22.3...v0.22.4)
2021-11-18 10:12:31 +00:00
argoyle 54bf7ba846 Merge branch 'dependabot-docker-golang-1.17.3' into 'master'
chore(deps): bump golang from 1.17.2 to 1.17.3

See merge request unboundsoftware/cron-checker!7
2021-11-05 06:35:47 +00:00
argoyle 83af4769be chore(deps): bump golang from 1.17.2 to 1.17.3
Bumps golang from 1.17.2 to 1.17.3.
2021-11-04 21:09:24 +00:00
argoyle 422ecf591c Merge branch 'codecov' into 'master'
ci: run codecov outside docker

See merge request unboundsoftware/cron-checker!6
2021-11-04 18:49:06 +00:00
argoyle 4a3e7c03b9 ci: run codecov outside docker 2021-11-04 19:32:02 +01:00
argoyle 2186a7ac85 Merge branch 'dependabot-go_modules-k8s.io-client-go-0.22.3' into 'master'
chore(deps): bump k8s.io/client-go from 0.18.0 to 0.22.3

See merge request unboundsoftware/cron-checker!4
2021-11-03 18:28:40 +00:00
argoyle e4b62f5ec1 fix: mocks for new version 2021-11-03 19:21:26 +01:00
argoyle 6600a449bd chore(deps): bump k8s.io/client-go from 0.18.0 to 0.22.3 2021-11-03 09:55:07 +00:00
argoyle 49fa18605e Merge branch 'dependabot-docker-golang-1.17.2' into 'master'
chore(deps): bump golang from 1.15 to 1.17.2

See merge request unboundsoftware/cron-checker!5
2021-11-03 07:04:58 +00:00
argoyle e1963adda0 Merge branch 'dependabot-go_modules-github.com-sanity-io-litter-1.5.1' into 'master'
chore(deps): bump github.com/sanity-io/litter from 1.3.0 to 1.5.1

See merge request unboundsoftware/cron-checker!3
2021-11-03 07:04:32 +00:00
argoyle 31292b9ab2 chore(deps): bump golang from 1.15 to 1.17.2
Bumps golang from 1.15 to 1.17.2.
2021-11-03 00:11:17 +00:00
argoyle 84716ece5a chore(deps): bump github.com/sanity-io/litter from 1.3.0 to 1.5.1
Bumps [github.com/sanity-io/litter](https://github.com/sanity-io/litter) from 1.3.0 to 1.5.1.
- [Release notes](https://github.com/sanity-io/litter/releases)
- [Changelog](https://github.com/sanity-io/litter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sanity-io/litter/compare/v1.3.0...v1.5.1)
2021-11-03 00:10:39 +00:00
argoyle 5d4b4356f3 chore: add dependabot-config 2021-11-03 00:28:34 +01:00
argoyle 47432b2f02 Merge branch 'buildtools-version' into 'master'
chore: use buildtools version from env

See merge request unboundsoftware/cron-checker!2
2021-04-01 15:03:17 +00:00
argoyle 6354eece26 chore: use buildtools version from env 2021-04-01 16:45:45 +02:00
argoyle 5e7e9a8f16 chore: update example with new version 2020-09-06 13:30:37 +02:00
argoyle e9b92521a0 Merge branch 'add-tests' into 'master'
chore: refactor and add tests

See merge request unboundsoftware/cron-checker!1
2020-09-06 11:28:49 +00:00
argoyle 7110d8c14b chore: refactor and add tests 2020-09-06 13:20:55 +02:00
argoyle 1c6064ccae fix: RBAC config 2020-08-27 10:27:51 +02:00
argoyle 88be7ec492 fix: codecov badge 2020-08-27 10:27:29 +02:00
12 changed files with 936 additions and 264 deletions
+1
View File
@@ -1,2 +1,3 @@
.idea
/release
exported
+10 -11
View File
@@ -1,19 +1,18 @@
include:
- template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
- template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
- project: unboundsoftware/ci-templates
file: Release.gitlab-ci.yml
stages:
- build
- build
variables:
DOCKER_HOST: tcp://docker:2375/
image: buildtool/build-tools:0.0.23
image: buildtool/build-tools:${BUILDTOOLS_VERSION}
build:
stage: build
services:
- docker:dind
script:
- ci_env=`bash <(curl -s https://codecov.io/env)`
- build ${ci_env//-e /--build-arg }
- push
- build
- curl -Os https://uploader.codecov.io/latest/linux/codecov
- chmod +x codecov
- ./codecov -t ${CODECOV_TOKEN} -R $CI_PROJECT_DIR -C $CI_COMMIT_SHA -r $CI_PROJECT_PATH
- push
+81
View File
@@ -0,0 +1,81 @@
# Changelog
All notable changes to this project will be documented in this file.
## [1.3.5] - 2025-01-24
### 🐛 Bug Fixes
- *(deployment)* Update label to use standardized format
## [1.3.4] - 2025-01-17
### 🐛 Bug Fixes
- *(deps)* Update module github.com/sanity-io/litter to v1.5.6
- *(deps)* Update kubernetes packages to v0.32.1
## [1.3.3] - 2024-12-28
### 🐛 Bug Fixes
- *(deps)* Update kubernetes packages to v0.31.4
- *(deps)* Update kubernetes packages to v0.32.0
### ⚙️ Miscellaneous Tasks
- Remove unnecessary docker configuration
## [1.3.2] - 2024-11-21
### 🐛 Bug Fixes
- *(deps)* Update kubernetes packages to v0.31.3
## [1.3.1] - 2024-10-24
### 🐛 Bug Fixes
- *(deps)* Update kubernetes packages to v0.31.2
## [1.3.0] - 2024-10-06
### 🚀 Features
- Initial commit
### 🐛 Bug Fixes
- Codecov badge
- RBAC config
- Mocks for new version
- *(deps)* Update github.com/multiplay/go-slack digest to 0762aee
- *(deps)* Update kubernetes packages to v0.29.3
- *(deps)* Update module k8s.io/client-go to v0.29.4
- *(deps)* Update kubernetes packages to v0.30.0
- *(deps)* Update kubernetes packages to v0.30.1
- *(deps)* Update kubernetes packages to v0.30.2
- *(deps)* Update kubernetes packages to v0.30.3
- *(deps)* Update kubernetes packages to v0.31.0
- *(deps)* Update kubernetes packages to v0.31.1
### 📚 Documentation
- Update version in example
### ⚙️ Miscellaneous Tasks
- Refactor and add tests
- Update example with new version
- Use buildtools version from env
- Add dependabot-config
- Run codecov outside docker
- Update to batch/v1 instead of the deprecated batch/v1beta1
- Make sure Codecov finds all it's files
- Use Docker DinD version from variable
- Update kingpin dependency
- Remove Dependabot config
- Add release flow
- Add git-cliff configuration
<!-- generated by git-cliff -->
+4 -20
View File
@@ -1,21 +1,4 @@
FROM golang:1.15 as build
ARG CODECOV_ENV
ARG CODECOV_TOKEN
ARG CODECOV_URL
ARG CODECOV_SLUG
ARG VCS_COMMIT_ID
ARG VCS_BRANCH_NAME
ARG VCS_PULL_REQUEST
ARG VCS_SLUG
ARG VCS_TAG
ARG CI_BUILD_URL
ARG CI_BUILD_ID
ARG CI_JOB_ID
ARG GITLAB_CI
ARG CI_BUILD_REF_NAME
ARG CI_BUILD_ID
ARG CI_BUILD_REPO
ARG CI_BUILD_REF
FROM golang:1.23.5@sha256:8c10f21bec412f08f73aa7b97ca5ac5f28a39d8a88030ad8a339fd0a781d72b4 as build
WORKDIR /build
ENV CGO_ENABLED=0
ADD . /build
@@ -27,10 +10,11 @@ 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 curl -s https://codecov.io/bash | bash
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -mod=readonly -o release/cron-checker -ldflags '-w -s'
FROM scratch as export
COPY --from=build /build/coverage.txt /
FROM scratch
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=build /build/release/cron-checker /
+1 -1
View File
@@ -1,6 +1,6 @@
# cron-checker
[![Build Status](https://gitlab.com/unboundsoftware/cron-checker/badges/master/pipeline.svg)](https://gitlab.com/unboundsoftware/cron-checker/commits/master)
[![codecov](https://codecov.io/gl/unboundsoftware/cron-checker/branch/master/graph/badge.svg?token=2GIOHTNLT3)](https://codecov.io/gl/unboundsoftware/cron-checker)
[![codecov](https://codecov.io/gl/unboundsoftware/cron-checker/branch/master/graph/badge.svg)](https://codecov.io/gl/unboundsoftware/cron-checker)
A small container which periodically (every 60s) checks for a cronjobs which are not running according to schedule and sends a notification to Slack.
+87
View File
@@ -0,0 +1,87 @@
# git-cliff ~ default configuration file
# https://git-cliff.org/docs/configuration
#
# Lines starting with "#" are comments.
# Configuration options are organized into tables and keys.
# See documentation for more information on available options.
[bump]
initial_tag = "1.3.0"
[changelog]
# template for the changelog header
header = """
# Changelog\n
All notable changes to this project will be documented in this file.\n
"""
# template for the changelog body
# https://keats.github.io/tera/docs/#introduction
body = """
{% if version %}\
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## [unreleased]
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{% for commit in commits %}
- {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
{% if commit.breaking %}[**breaking**] {% endif %}\
{{ commit.message | upper_first }}\
{% endfor %}
{% endfor %}\n
"""
# template for the changelog footer
footer = """
<!-- generated by git-cliff -->
"""
# remove the leading and trailing s
trim = true
# postprocessors
postprocessors = [
# { pattern = '<REPO>', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL
]
# render body even when there are no releases to process
# render_always = true
# output file path
# output = "test.md"
[git]
# parse the commits based on https://www.conventionalcommits.org
conventional_commits = true
# filter out the commits that are not conventional
filter_unconventional = true
# process each line of a commit as an individual commit
split_commits = false
# regex for preprocessing the commit messages
commit_preprocessors = [
# Replace issue numbers
#{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))"},
# Check spelling of the commit with https://github.com/crate-ci/typos
# If the spelling is incorrect, it will be automatically fixed.
#{ pattern = '.*', replace_command = 'typos --write-changes -' },
]
# regex for parsing and grouping commits
commit_parsers = [
{ message = "^feat", group = "<!-- 0 -->🚀 Features" },
{ message = "^fix", group = "<!-- 1 -->🐛 Bug Fixes" },
{ message = "^doc", group = "<!-- 3 -->📚 Documentation" },
{ message = "^perf", group = "<!-- 4 -->⚡ Performance" },
{ message = "^refactor", group = "<!-- 2 -->🚜 Refactor" },
{ 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" },
]
# filter out the commits that are not matched by commit parsers
filter_commits = false
# sort the tags topologically
topo_order = false
# sort the commits inside sections by oldest/newest order
sort_commits = "oldest"
tag_pattern = "[0-9]+\\.[0-9]+\\.[0-9]+"
+8 -4
View File
@@ -2,11 +2,13 @@ apiVersion: v1
kind: ServiceAccount
metadata:
name: cron-checker
namespace: kube-system
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: cron-checker
namespace: kube-system
rules:
- apiGroups: ["", "batch"]
resources: ["cronjobs"]
@@ -17,6 +19,7 @@ apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: cron-checker
namespace: kube-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
@@ -24,18 +27,19 @@ roleRef:
subjects:
- kind: ServiceAccount
name: cron-checker
namespace: kube-system
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: cron-checker
app.kubernetes.io/name: cron-checker
name: cron-checker
spec:
selector:
matchLabels:
app: cron-checker
app.kubernetes.io/name: cron-checker
strategy:
rollingUpdate:
maxSurge: 1
@@ -44,7 +48,7 @@ spec:
template:
metadata:
labels:
app: cron-checker
app.kubernetes.io/name: cron-checker
spec:
serviceAccountName: cron-checker
containers:
@@ -55,7 +59,7 @@ spec:
requests:
memory: "50Mi"
imagePullPolicy: IfNotPresent
image: registry.gitlab.com/unboundsoftware/cron-checker:1.0
image: registry.gitlab.com/unboundsoftware/cron-checker:1.2
args:
- /cron-checker
env:
+51 -11
View File
@@ -1,17 +1,57 @@
module gitlab.com/unboundsoftware/cron-checker
go 1.15
go 1.23.0
toolchain go1.23.5
require (
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d // indirect
github.com/multiplay/go-slack v0.0.0-20200412115802-09e9e2b93fe2
github.com/alecthomas/kingpin/v2 v2.4.0
github.com/multiplay/go-slack v0.0.0-20220428123529-0762aee71fe3
github.com/robfig/cron v1.2.0
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d // indirect
golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect
gopkg.in/alecthomas/kingpin.v2 v2.2.6
k8s.io/api v0.18.8 // indirect
k8s.io/apimachinery v0.18.8
k8s.io/client-go v0.18.0
k8s.io/utils v0.0.0-20200821003339-5e75c0163111 // indirect
github.com/sanity-io/litter v1.5.6
k8s.io/api v0.32.1
k8s.io/apimachinery v0.32.1
k8s.io/client-go v0.32.1
)
require (
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect
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/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/golang/protobuf v1.5.4 // indirect
github.com/google/gnostic-models v0.6.8 // indirect
github.com/google/go-cmp v0.6.0 // indirect
github.com/google/gofuzz v1.2.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/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/x448/float16 v0.8.4 // indirect
github.com/xhit/go-str2duration/v2 v2.1.0 // indirect
golang.org/x/net v0.30.0 // indirect
golang.org/x/oauth2 v0.23.0 // indirect
golang.org/x/sys v0.26.0 // indirect
golang.org/x/term v0.25.0 // indirect
golang.org/x/text v0.19.0 // indirect
golang.org/x/time v0.7.0 // indirect
google.golang.org/protobuf v1.35.1 // indirect
gopkg.in/evanphx/json-patch.v4 v4.12.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-20241105132330-32ad38e42d3f // indirect
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
)
+144 -183
View File
@@ -1,210 +1,171 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d h1:UQZhZ2O0vMHr2cI+DC1Mbh0TJxzA3RcLoMsFw+aXw7E=
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/alecthomas/kingpin/v2 v2.4.0 h1:f48lwail6p8zpO1bC4TxtqACaGqHYA22qkHjHpqDjYY=
github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE=
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc=
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
github.com/evanphx/json-patch v0.0.0-20200808040245-162e5629780b/go.mod h1:NAJj0yf/KaRKURN6nyi7A9IZydMivZEm9oQLWNjfKDc=
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg=
github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc=
github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls=
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
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/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=
github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE=
github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k=
github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
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/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g=
github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
github.com/googleapis/gnostic v0.1.0 h1:rVsPeBmXbYv4If/cumu1AzZPwV58q433hvONV1UEZoI=
github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.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/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.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
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=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
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 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/multiplay/go-slack v0.0.0-20200412115802-09e9e2b93fe2 h1:JeeenF3Ph/BhsDp2CBOuv61tYIqC7nt3irdMa7o/BDg=
github.com/multiplay/go-slack v0.0.0-20200412115802-09e9e2b93fe2/go.mod h1:NvMi0R59yLlFQoqPIiHVWLgL2XnsGXw3MNMH65wGNew=
github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
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/multiplay/go-slack v0.0.0-20220428123529-0762aee71fe3 h1:dJYuKCHHnle0EjAaD57utfBfvQ8HjteuCqS4RWVk23c=
github.com/multiplay/go-slack v0.0.0-20220428123529-0762aee71fe3/go.mod h1:NvMi0R59yLlFQoqPIiHVWLgL2XnsGXw3MNMH65wGNew=
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/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ=
github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
github.com/sanity-io/litter v1.5.6 h1:hCFycYzhRnW4niFbbmR7QKdmds69PbVa/sNmEN5euSU=
github.com/sanity-io/litter v1.5.6/go.mod h1:9gzJgR2i4ZpjZHsKvUXIRQVk7P+yM3e+jAF7bU2UI5U=
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/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=
github.com/stretchr/testify v0.0.0-20161117074351-18a02ba4a312/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M=
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.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
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/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc=
github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU=
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-20200220183623-bac4c82f6975 h1:/Tl7pH94bvbAAHBdZJT947M/+gp0+CqQXDtMRC0fseo=
golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
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-20191004110552-13f9640d40b9 h1:rjwSpXsdiK0dV8/Naq3kAw9ymfAeJIyd0upUIElB+lI=
golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d h1:TzXSXBo42m9gQenoE3b9BGiEpg5IG2JkU5FkPIawgtw=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
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.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs=
golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
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-20191022100944-742c48ecaeb7 h1:HmbHVPwrPEKPGLAcHSrMe6+hqSUlvZU0rab6x5EXfGU=
golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24=
golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e h1:EHBhcS0mlXEAVwNyO2dLfjToGsyY4j24pTs2ScHnX7s=
golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM=
golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ=
golang.org/x/time v0.7.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-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0 h1:KxkO13IPW4Lslp2bz+KHP2E3gtFlrIGNThxkZQ3g+4c=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
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.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA=
google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
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/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
k8s.io/api v0.18.0/go.mod h1:q2HRQkfDzHMBZL9l/y9rH63PkQl4vae0xRT+8prbrK8=
k8s.io/api v0.18.8 h1:aIKUzJPb96f3fKec2lxtY7acZC9gQNDLVhfSGpxBAC4=
k8s.io/api v0.18.8/go.mod h1:d/CXqwWv+Z2XEG1LgceeDmHQwpUJhROPx16SlxJgERY=
k8s.io/apimachinery v0.18.0/go.mod h1:9SnR/e11v5IbyPCGbvJViimtJ0SwHG4nfZFjU77ftcA=
k8s.io/apimachinery v0.18.8 h1:jimPrycCqgx2QPearX3to1JePz7wSbVLq+7PdBTTwQ0=
k8s.io/apimachinery v0.18.8/go.mod h1:6sQd+iHEqmOtALqOFjSWp2KZ9F0wlU/nWm0ZgsYWMig=
k8s.io/client-go v0.18.0 h1:yqKw4cTUQraZK3fcVCMeSa+lqKwcjZ5wtcOIPnxQno4=
k8s.io/client-go v0.18.0/go.mod h1:uQSYDYs4WhVZ9i6AIoEZuwUggLVEF64HOD37boKAtF8=
k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8=
k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/kube-openapi v0.0.0-20200121204235-bf4fb3bd569c/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E=
k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E=
k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
k8s.io/utils v0.0.0-20200821003339-5e75c0163111 h1:AChSIFe1D4vQ5XkklbH491v1ONSmnt8fnb235DsAw1U=
k8s.io/utils v0.0.0-20200821003339-5e75c0163111/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
sigs.k8s.io/structured-merge-diff/v3 v3.0.0 h1:dOmIZBMfhcHS09XZkMyUgkq5trg3/jRyJYFZUiaOp8E=
sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
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.32.1 h1:f562zw9cy+GvXzXf0CKlVQ7yHJVYzLfL6JAS4kOAaOc=
k8s.io/api v0.32.1/go.mod h1:/Yi/BqkuueW1BgpoePYBRdDYfjPF5sgTr5+YqDZra5k=
k8s.io/apimachinery v0.32.1 h1:683ENpaCBjma4CYqsmZyhEzrGz6cjn1MY/X2jB2hkZs=
k8s.io/apimachinery v0.32.1/go.mod h1:GpHVgxoKlTxClKcteaeuF1Ul/lDVb74KpZcxcmLDElE=
k8s.io/client-go v0.32.1 h1:otM0AxdhdBIaQh7l1Q0jQpmo7WOFIk5FFa4bg6YMdUU=
k8s.io/client-go v0.32.1/go.mod h1:aTTKZY7MdxUaJ/KiUs8D+GssR9zJZi77ZqtzcGXIiDg=
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-20241105132330-32ad38e42d3f h1:GA7//TjRY9yWGy1poLzYYJJ4JRdzg3+O6e8I+e+8T5Y=
k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f/go.mod h1:R/HEjbvWI0qdfb8viZUeVZm0X6IZnxAydC7YU42CMw4=
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/structured-merge-diff/v4 v4.4.2 h1:MdmvkGuXi/8io6ixD5wud3vOLwc1rj0aNqRlpuvjmwA=
sigs.k8s.io/structured-merge-diff/v4 v4.4.2/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4=
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
+78 -34
View File
@@ -3,52 +3,66 @@ package main
import (
"context"
"fmt"
"github.com/multiplay/go-slack/chat"
"github.com/multiplay/go-slack/webhook"
"github.com/robfig/cron"
"gopkg.in/alecthomas/kingpin.v2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
"io"
"os"
"os/signal"
"syscall"
"time"
"github.com/alecthomas/kingpin/v2"
"github.com/multiplay/go-slack/chat"
"github.com/multiplay/go-slack/webhook"
"github.com/robfig/cron"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
batchv1 "k8s.io/client-go/kubernetes/typed/batch/v1"
"k8s.io/client-go/rest"
)
var checkFunc = doCheck
var exitFunc = os.Exit
func main() {
slackUrl := kingpin.Flag("slack-url", "The Slack Webhook URL").Envar("SLACK_URL").Required().String()
kingpin.Parse()
config, err := rest.InClusterConfig()
if err != nil {
panic(err.Error())
}
clientset, err := kubernetes.NewForConfig(config)
if err != nil {
panic(err.Error())
}
exitFunc(doMain(*slackUrl, &DefaultProvider{&InClusterProvider{}}))
}
slack := webhook.New(*slackUrl)
parser := cron.NewParser(cron.Minute | cron.Hour | cron.Dom | cron.Month | cron.Dow)
func doMain(slackUrl string, provider ClientProvider) int {
client, err := provider.Provide()
if err != nil {
fmt.Printf("Unable to connect to K8S: %s\n", err)
return 1
}
ic := make(chan os.Signal, 1)
signal.Notify(ic, os.Interrupt, syscall.SIGTERM)
if err := checkFunc(client, slackUrl, ic, 60*time.Second, os.Stdout); err != nil {
fmt.Printf("Error checking jobs: %s\n", err)
return 1
}
return 0
}
func doCheck(client Client, slackUrl string, ic chan os.Signal, sleepTime time.Duration, out io.Writer) error {
slack := webhook.New(slackUrl)
parser := cron.NewParser(cron.Minute | cron.Hour | cron.Dom | cron.Month | cron.Dow)
for {
select {
case <-ic:
fmt.Printf("Got SIGTERM signal, exiting\n")
break
_, _ = fmt.Fprintf(out, "Got SIGTERM signal, exiting\n")
return nil
default:
cronjobs, err := clientset.BatchV1beta1().CronJobs("").List(context.Background(), v1.ListOptions{})
cronJobs, err := client.BatchV1().CronJobs("").List(context.Background(), v1.ListOptions{})
if err != nil {
fmt.Printf("Error getting cronjobs: %s", err)
os.Exit(1)
return fmt.Errorf("error getting cronjobs: %w", err)
}
limit := time.Now().Add(-120 * time.Second)
for _, c := range cronjobs.Items {
for _, c := range cronJobs.Items {
if c.Spec.Suspend == nil || !*c.Spec.Suspend {
since := c.CreationTimestamp
if c.Status.LastScheduleTime != nil {
@@ -56,28 +70,58 @@ func main() {
}
schedule, err := parser.Parse(c.Spec.Schedule)
if err != nil {
fmt.Printf("Error parsing schedule of %s/%s (%s): %s", c.Namespace, c.Name, c.Spec.Schedule, err)
os.Exit(1)
return fmt.Errorf("error parsing schedule of %s/%s (%s): %w", c.Namespace, c.Name, c.Spec.Schedule, err)
}
next := schedule.Next(since.Time)
fmt.Printf("Checking %s/%s since %s, next schedule %s, limit %s.\n", c.Namespace, c.Name, since.Format(time.RFC3339), next.Format(time.RFC3339), limit.Format(time.RFC3339))
_, _ = fmt.Fprintf(out, "Checking %s/%s since %s, next schedule %s, limit %s.\n", c.Namespace, c.Name, since.Format(time.RFC3339), next.Format(time.RFC3339), limit.Format(time.RFC3339))
if next.Before(limit) {
fmt.Printf("%s was not scheduled. Sending Slack notification.\n", c.Name)
_, _ = fmt.Fprintf(out, "%s/%s was not scheduled. Sending Slack notification.\n", c.Namespace, c.Name)
m := &chat.Message{
Text: fmt.Sprintf("Cronjob %s/%s is not running according to schedule (%s). Last scheduled: %s", c.Namespace, c.Name, c.Spec.Schedule, since.Format(time.RFC3339)),
Username: "cron-checker",
}
resp, err := m.Send(slack)
_, err := m.Send(slack)
if err != nil {
fmt.Printf("Unable to send Slack notification: %s", err)
}
if !resp.OK {
fmt.Printf("Unable to send Slack notification: %s", resp.Error)
_, _ = fmt.Fprintf(out, "Unable to send Slack notification: %s\n", err)
}
}
}
}
time.Sleep(60 * time.Second)
time.Sleep(sleepTime)
}
}
}
type Client interface {
BatchV1() batchv1.BatchV1Interface
}
type ClientProvider interface {
Provide() (Client, error)
}
type DefaultProvider struct {
provider ConfigProvider
}
func (d DefaultProvider) Provide() (Client, error) {
config, err := d.provider.Provide()
if err != nil {
return nil, err
}
return kubernetes.NewForConfig(config)
}
var _ ClientProvider = &DefaultProvider{}
type ConfigProvider interface {
Provide() (*rest.Config, error)
}
type InClusterProvider struct{}
func (i InClusterProvider) Provide() (*rest.Config, error) {
return rest.InClusterConfig()
}
var _ ConfigProvider = &InClusterProvider{}
+465
View File
@@ -0,0 +1,465 @@
package main
import (
"bytes"
"context"
"errors"
"fmt"
"io"
"net/http"
"net/http/httptest"
"os"
"strings"
"testing"
"time"
"github.com/sanity-io/litter"
cronjobv1 "k8s.io/api/batch/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/watch"
applyv1 "k8s.io/client-go/applyconfigurations/batch/v1"
"k8s.io/client-go/discovery"
"k8s.io/client-go/kubernetes"
batchv1 "k8s.io/client-go/kubernetes/typed/batch/v1"
"k8s.io/client-go/rest"
)
func Test_Main(t *testing.T) {
tests := []struct {
name string
connectFunc func(provider ConfigProvider) (Client, error)
exitFunc func(code int)
}{
{
name: "error connecting to K8S",
connectFunc: func(ConfigProvider) (Client, error) {
return nil, errors.New("error")
},
exitFunc: func(code int) {
if code != 1 {
t.Errorf("main() got %d, want 1", code)
}
},
},
}
for _, tt := range tests {
os.Args = []string{"dummy", "--slack-url", "https://dummy.example.org"}
t.Run(tt.name, func(t *testing.T) {
exitFunc = tt.exitFunc
main()
})
}
}
func Test_doMain(t *testing.T) {
type args struct {
slackUrl string
provider ClientProvider
}
tests := []struct {
name string
args args
checkFunc func(client Client, slackUrl string, ic chan os.Signal, sleepTime time.Duration, out io.Writer) error
want int
}{
{
name: "error checking",
args: args{
provider: &brokenClientProvider{},
},
checkFunc: func(client Client, slackUrl string, ic chan os.Signal, sleepTime time.Duration, out io.Writer) error {
return errors.New("error")
},
want: 1,
},
{
name: "success",
args: args{
provider: &brokenClientProvider{},
},
checkFunc: func(client Client, slackUrl string, ic chan os.Signal, sleepTime time.Duration, out io.Writer) error {
return nil
},
want: 0,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
checkFunc = tt.checkFunc
if got := doMain(tt.args.slackUrl, tt.args.provider); got != tt.want {
t.Errorf("doMain() = %v, want %v", got, tt.want)
}
})
}
}
func Test_doCheck(t *testing.T) {
type args struct {
client Client
}
tests := []struct {
name string
args args
timeout time.Duration
slackResponse string
wantErr bool
wantOut []string
}{
{
name: "error getting cronjobs",
args: args{
client: &brokenClient{
batchApi: &batchApi{
cronApi: &cronApi{
listFn: func(_ context.Context, _ v1.ListOptions) (*cronjobv1.CronJobList, error) {
return nil, errors.New("error")
},
},
},
},
},
wantErr: true,
},
{
name: "no cronjobs",
args: args{
client: &brokenClient{
batchApi: &batchApi{
cronApi: &cronApi{
listFn: func(_ context.Context, _ v1.ListOptions) (*cronjobv1.CronJobList, error) {
return &cronjobv1.CronJobList{}, nil
},
},
},
},
},
timeout: time.Second,
wantErr: false,
},
{
name: "suspended cronjobs are ignored",
args: args{
client: &brokenClient{
batchApi: &batchApi{
cronApi: &cronApi{
listFn: func(_ context.Context, _ v1.ListOptions) (*cronjobv1.CronJobList, error) {
return &cronjobv1.CronJobList{
Items: []cronjobv1.CronJob{
{
Spec: cronjobv1.CronJobSpec{Suspend: boolP(true)},
},
},
}, nil
},
},
},
},
},
timeout: time.Second,
wantErr: false,
},
{
name: "invalid cron schedule",
args: args{
client: &brokenClient{
batchApi: &batchApi{
cronApi: &cronApi{
listFn: func(_ context.Context, _ v1.ListOptions) (*cronjobv1.CronJobList, error) {
return &cronjobv1.CronJobList{
Items: []cronjobv1.CronJob{
{
Spec: cronjobv1.CronJobSpec{Schedule: "abc"},
},
},
}, nil
},
},
},
},
},
wantErr: true,
},
{
name: "only correctly running cronjobs",
args: args{
client: &brokenClient{
batchApi: &batchApi{
cronApi: &cronApi{
listFn: func(_ context.Context, _ v1.ListOptions) (*cronjobv1.CronJobList, error) {
return &cronjobv1.CronJobList{
Items: []cronjobv1.CronJob{
{
ObjectMeta: v1.ObjectMeta{CreationTimestamp: v1.Time{Time: time.Now()}},
Spec: cronjobv1.CronJobSpec{Schedule: "* * * * *", Suspend: boolP(false)},
},
{
Spec: cronjobv1.CronJobSpec{Schedule: "* * * * *"},
Status: cronjobv1.CronJobStatus{LastScheduleTime: &v1.Time{Time: time.Now()}},
},
},
}, nil
},
},
},
},
},
timeout: time.Second,
wantErr: false,
},
{
name: "error in Slack call",
args: args{
client: &brokenClient{
batchApi: &batchApi{
cronApi: &cronApi{
listFn: func(_ context.Context, _ v1.ListOptions) (*cronjobv1.CronJobList, error) {
return &cronjobv1.CronJobList{
Items: []cronjobv1.CronJob{
{
ObjectMeta: v1.ObjectMeta{Name: "some-name", Namespace: "some-ns"},
Spec: cronjobv1.CronJobSpec{Schedule: "* * * * *"},
Status: cronjobv1.CronJobStatus{LastScheduleTime: &v1.Time{Time: time.Now().Add(-3 * time.Minute)}},
},
},
}, nil
},
},
},
},
},
timeout: time.Second,
slackResponse: "dummy",
wantErr: false,
wantOut: []string{"Checking some-ns/some-name since", "some-ns/some-name was not scheduled. Sending Slack notification.", "Unable to send Slack notification: slack: request failed statuscode: 200, message: invalid character 'd' looking for beginning of value"},
},
{
name: "Slack response not ok",
args: args{
client: &brokenClient{
batchApi: &batchApi{
cronApi: &cronApi{
listFn: func(_ context.Context, _ v1.ListOptions) (*cronjobv1.CronJobList, error) {
return &cronjobv1.CronJobList{
Items: []cronjobv1.CronJob{
{
ObjectMeta: v1.ObjectMeta{Name: "some-name", Namespace: "some-ns"},
Spec: cronjobv1.CronJobSpec{Schedule: "* * * * *"},
Status: cronjobv1.CronJobStatus{LastScheduleTime: &v1.Time{Time: time.Now().Add(-3 * time.Minute)}},
},
},
}, nil
},
},
},
},
},
timeout: time.Second,
slackResponse: `{"ok": false, "error": "Something went wrong"}`,
wantErr: false,
wantOut: []string{"Checking some-ns/some-name since", "some-ns/some-name was not scheduled. Sending Slack notification.", "Unable to send Slack notification: slack: request failed statuscode: 200, message: Something went wrong"},
},
{
name: "Slack response ok",
args: args{
client: &brokenClient{
batchApi: &batchApi{
cronApi: &cronApi{
listFn: func(_ context.Context, _ v1.ListOptions) (*cronjobv1.CronJobList, error) {
return &cronjobv1.CronJobList{
Items: []cronjobv1.CronJob{
{
ObjectMeta: v1.ObjectMeta{Name: "some-name", Namespace: "some-ns"},
Spec: cronjobv1.CronJobSpec{Schedule: "* * * * *"},
Status: cronjobv1.CronJobStatus{LastScheduleTime: &v1.Time{Time: time.Now().Add(-3 * time.Minute)}},
},
},
}, nil
},
},
},
},
},
timeout: time.Second,
slackResponse: `{"ok": true}`,
wantErr: false,
wantOut: []string{"Checking some-ns/some-name since", "some-ns/some-name was not scheduled. Sending Slack notification."},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
ic := make(chan os.Signal, 1)
if tt.timeout > 0 {
timeout := tt.timeout
fmt.Printf("Waiting %s before terminating\n", timeout.String())
go func() {
time.Sleep(timeout)
fmt.Println("Done waiting, terminating")
ic <- os.Interrupt
}()
}
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
_, _ = w.Write([]byte(tt.slackResponse))
}))
defer server.Close()
baseURL := server.Listener.Addr().String()
buff := &bytes.Buffer{}
if err := doCheck(tt.args.client, fmt.Sprintf("http://%s", baseURL), ic, 10*time.Millisecond, buff); (err != nil) != tt.wantErr {
t.Errorf("doCheck() error = %v, wantErr %v", err, tt.wantErr)
}
if len(tt.wantOut) > 0 {
for _, o := range tt.wantOut {
if !strings.Contains(buff.String(), o) {
t.Errorf("doCheck() got %s, want %s", buff.String(), o)
}
}
}
})
}
}
func TestDefaultProvider_Provide(t *testing.T) {
type fields struct {
provider ConfigProvider
}
tests := []struct {
name string
fields fields
want Client
wantErr bool
}{
{
name: "not in cluster",
fields: fields{provider: &InClusterProvider{}},
want: nil,
wantErr: true,
},
{
name: "dummy config",
fields: fields{provider: &dummyProvider{}},
want: &kubernetes.Clientset{
DiscoveryClient: &discovery.DiscoveryClient{
LegacyPrefix: "/api",
},
},
wantErr: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
d := DefaultProvider{
provider: tt.fields.provider,
}
got, err := d.Provide()
if (err != nil) != tt.wantErr {
t.Errorf("Provide() error = %v, wantErr %v", err, tt.wantErr)
return
}
gotDump := litter.Sdump(got)
wantDump := litter.Sdump(tt.want)
if gotDump != wantDump {
t.Errorf("Provide() got = %v, want %v", gotDump, wantDump)
}
})
}
}
type dummyProvider struct{}
func (d dummyProvider) Provide() (*rest.Config, error) {
return &rest.Config{}, nil
}
var _ ConfigProvider = &dummyProvider{}
type brokenClientProvider struct{}
func (b brokenClientProvider) Provide() (Client, error) {
return &brokenClient{}, nil
}
var _ ClientProvider = &brokenClientProvider{}
type brokenClient struct {
batchApi batchv1.BatchV1Interface
}
func (b brokenClient) BatchV1() batchv1.BatchV1Interface {
return b.batchApi
}
var _ Client = &brokenClient{}
type batchApi struct {
cronApi batchv1.CronJobInterface
}
func (b batchApi) RESTClient() rest.Interface {
panic("implement me")
}
func (b batchApi) CronJobs(namespace string) batchv1.CronJobInterface {
return b.cronApi
}
func (b batchApi) Jobs(namespace string) batchv1.JobInterface {
//TODO implement me
panic("implement me")
}
var _ batchv1.BatchV1Interface = &batchApi{}
type cronApi struct {
listFn func(ctx context.Context, opts v1.ListOptions) (*cronjobv1.CronJobList, error)
}
func (c cronApi) List(ctx context.Context, opts v1.ListOptions) (*cronjobv1.CronJobList, error) {
return c.listFn(ctx, opts)
}
func (c cronApi) Create(ctx context.Context, cronJob *cronjobv1.CronJob, opts v1.CreateOptions) (*cronjobv1.CronJob, error) {
panic("implement me")
}
func (c cronApi) Update(ctx context.Context, cronJob *cronjobv1.CronJob, opts v1.UpdateOptions) (*cronjobv1.CronJob, error) {
panic("implement me")
}
func (c cronApi) UpdateStatus(ctx context.Context, cronJob *cronjobv1.CronJob, opts v1.UpdateOptions) (*cronjobv1.CronJob, error) {
panic("implement me")
}
func (c cronApi) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error {
panic("implement me")
}
func (c cronApi) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error {
panic("implement me")
}
func (c cronApi) Get(ctx context.Context, name string, opts v1.GetOptions) (*cronjobv1.CronJob, error) {
panic("implement me")
}
func (c cronApi) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) {
panic("implement me")
}
func (c cronApi) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *cronjobv1.CronJob, err error) {
panic("implement me")
}
func (c cronApi) Apply(ctx context.Context, cronJob *applyv1.CronJobApplyConfiguration, opts v1.ApplyOptions) (result *cronjobv1.CronJob, err error) {
panic("implement me")
}
func (c cronApi) ApplyStatus(ctx context.Context, cronJob *applyv1.CronJobApplyConfiguration, opts v1.ApplyOptions) (result *cronjobv1.CronJob, err error) {
panic("implement me")
}
var _ batchv1.CronJobInterface = &cronApi{}
func boolP(b bool) *bool {
return &b
}
+6
View File
@@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
]
}