chore(chart): Add missing tests for readinessProbe#5769
chore(chart): Add missing tests for readinessProbe#5769Skarlso merged 2 commits intoexternal-secrets:mainfrom
Conversation
WalkthroughThis PR expands test coverage in the cert_controller_test.yaml file to verify container port configurations for various probe scenarios, including readiness probe port overrides, metrics port interactions, and startup probe enablement. Changes
Possibly related PRs
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
/ok-to-test sha=55282b9b31468eb2dd8a26b86730bd921b638e35 |
deploy/charts/external-secrets/templates/cert-controller-deployment.yaml
Show resolved
Hide resolved
deploy/charts/external-secrets/templates/cert-controller-deployment.yaml
Outdated
Show resolved
Hide resolved
|
I'll get to work on the tests. The PR itself might need some reworking after #5775 (but since they are both my PRs it is easy for me to track them). |
|
In theory I have tests that check for the changes under all the branches. In practice.... |
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
deploy/charts/external-secrets/tests/cert_controller_test.yaml (1)
103-111: Add assertion to verify no startup port exists.For consistency with the test at lines 243-247, consider adding an assertion to verify that
ports[2]doesn't exist when only the readiness port is overridden.✨ Suggested addition
- equal: path: spec.template.spec.containers[0].ports[1].containerPort value: 8082 + - notExists: + path: spec.template.spec.containers[0].ports[2]
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
deploy/charts/external-secrets/templates/cert-controller-deployment.yamldeploy/charts/external-secrets/tests/cert_controller_test.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
- deploy/charts/external-secrets/templates/cert-controller-deployment.yaml
🔇 Additional comments (2)
deploy/charts/external-secrets/tests/cert_controller_test.yaml (2)
243-247: Well-tested scenario for startup probe using readiness port.The assertions correctly validate that when the startup probe uses the readiness port, only the readiness port entry exists and no separate startup port is created.
264-272: Comprehensive validation for custom startup port.The assertions correctly validate all aspects of the startup port configuration when a custom port is specified.
There was a problem hiding this comment.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
deploy/charts/external-secrets/tests/cert_controller_test.yaml (1)
94-113: These assertions are correct, but brittle due to hard-coded array indexes (args[7],ports[1],ports[2]).
Any re-ordering of args or ports will cause test failures even if the rendered manifests remain correct. Use array membership assertions instead:
- For
args:containswith the scalar value"--healthz-addr=:8082"- For
ports:containswith an object matching{name: readiness, protocol: TCP, containerPort: 8082}- For absence checks: replace
notExistsonports[2]withnotExistsonports[?(@.name=="startup")]to match by property rather than indexhelm-unittest supports both
containsassertions on arrays of scalars and objects, as well as JSONPath filters like[?(@.name=="startup")].
🧹 Nitpick comments (1)
deploy/charts/external-secrets/tests/cert_controller_test.yaml (1)
231-249: Startup-probe-enabled case: consider asserting the full readiness port object, not justports[1].name.
Right now the test would still pass ifports[1]is namedreadinessbut points at the wrong port/protocol.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
deploy/charts/external-secrets/templates/cert-controller-deployment.yamldeploy/charts/external-secrets/tests/cert_controller_test.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
- deploy/charts/external-secrets/templates/cert-controller-deployment.yaml
🔇 Additional comments (1)
deploy/charts/external-secrets/tests/cert_controller_test.yaml (1)
250-274: Verify numeric rendering when values are provided as strings (certController.startupProbe.port: "8083").
The test expects the rendered manifest to use numeric8083(good for k8s schema), which requires the template to cast to int; please double-check the deployment template is doing| intfor all port fields it emits (containerPort + probe ports).
|
rebased off HEAD |
Signed-off-by: Pat Riehecky <riehecky@fnal.gov>
|
#5775 included a lot of this code, so I've updated the patch to just include the missing tests. |
|
Perfect. :) |
|
…secrets#5769)" This reverts commit 824da30.
…-secrets#5769)" This reverts commit b4e4aa3.
…-secrets#5769)" This reverts commit b4e4aa3. Signed-off-by: Nattapong Ekudomsuk <nuttapong_mos@hotmail.com>
…secrets#5769)" This reverts commit 824da30. Signed-off-by: Nattapong Ekudomsuk <nuttapong_mos@hotmail.com>
…-secrets#5769)" This reverts commit b4e4aa3. Signed-off-by: Nattapong Ekudomsuk <nuttapong_mos@hotmail.com>
…secrets#5769)" This reverts commit 824da30. Signed-off-by: Nattapong Ekudomsuk <nuttapong_mos@hotmail.com>
…-secrets#5769)" This reverts commit b4e4aa3. Signed-off-by: Nattapong Ekudomsuk <nuttapong_mos@hotmail.com>
…secrets#5769)" This reverts commit 824da30. Signed-off-by: Nattapong Ekudomsuk <nuttapong_mos@hotmail.com>
…-secrets#5769)" This reverts commit b4e4aa3. Signed-off-by: Nattapong Ekudomsuk <nuttapong_mos@hotmail.com>
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [external-secrets](https://github.com/external-secrets/external-secrets) | minor | `1.2.1` → `1.3.2` | --- ### Release Notes <details> <summary>external-secrets/external-secrets (external-secrets)</summary> ### [`v1.3.2`](https://github.com/external-secrets/external-secrets/releases/tag/v1.3.2) [Compare Source](external-secrets/external-secrets@v1.3.1...v1.3.2) Image: `ghcr.io/external-secrets/external-secrets:v1.3.2` Image: `ghcr.io/external-secrets/external-secrets:v1.3.2-ubi` Image: `ghcr.io/external-secrets/external-secrets:v1.3.2-ubi-boringssl` <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### General - chore: release helm chart for v1.3.1 by [@​Skarlso](https://github.com/Skarlso) in [#​5860](external-secrets/external-secrets#5860) - chore(chart): Add missing tests for readinessProbe by [@​jcpunk](https://github.com/jcpunk) in [#​5769](external-secrets/external-secrets#5769) - docs: Update FluxCD example by [@​umizoom](https://github.com/umizoom) in [#​5862](external-secrets/external-secrets#5862) - fix(ci): Removed the unused check for Windows in Makefile by [@​HauptJ](https://github.com/HauptJ) in [#​5870](external-secrets/external-secrets#5870) - docs(release): Add actual dates for EOL of 1.x releases in stability and support page by [@​n4zukker](https://github.com/n4zukker) in [#​5889](external-secrets/external-secrets#5889) - docs: Passbolt provider maintenance ownership by [@​stripthis](https://github.com/stripthis) in [#​5886](external-secrets/external-secrets#5886) - chore: Update Passbolt MaintenanceStatus to MaintenanceStatusMaintained by [@​stripthis](https://github.com/stripthis) in [#​5887](external-secrets/external-secrets#5887) - fix(security): sanitize json.Unmarshal errors to prevent secret data … by [@​moolen](https://github.com/moolen) in [#​5884](external-secrets/external-secrets#5884) - fix: webhook initialization order by [@​gusfcarvalho](https://github.com/gusfcarvalho) in [#​5901](external-secrets/external-secrets#5901) - chore: Cleanup flags by [@​evrardj-roche](https://github.com/evrardj-roche) in [#​5845](external-secrets/external-secrets#5845) - fix: onepasswordsdk shared tenant by altering the provider in the client cache by [@​Skarlso](https://github.com/Skarlso) in [#​5921](external-secrets/external-secrets#5921) ##### Dependencies - chore(deps): bump github/codeql-action from 4.31.10 to 4.31.11 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5873](external-secrets/external-secrets#5873) - chore(deps): bump pymdown-extensions from 10.20 to 10.20.1 in /hack/api-docs by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5877](external-secrets/external-secrets#5877) - chore(deps): bump markdown from 3.10 to 3.10.1 in /hack/api-docs by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5880](external-secrets/external-secrets#5880) - chore(deps): bump ubi9/ubi from `22e9573` to `1f84f5c` by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5871](external-secrets/external-secrets#5871) - chore(deps): bump actions/setup-python from 6.1.0 to 6.2.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5872](external-secrets/external-secrets#5872) - chore(deps): bump hashicorp/setup-terraform from [`93d5a27`](external-secrets/external-secrets@93d5a27) to [`dcc3150`](external-secrets/external-secrets@dcc3150) by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5875](external-secrets/external-secrets#5875) - chore(deps): bump actions/checkout from 6.0.1 to 6.0.2 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5876](external-secrets/external-secrets#5876) - chore(deps): bump step-security/harden-runner from 2.14.0 to 2.14.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5878](external-secrets/external-secrets#5878) - chore(deps): bump anchore/sbom-action from 0.21.1 to 0.22.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5874](external-secrets/external-secrets#5874) - chore(deps): bump packaging from 25.0 to 26.0 in /hack/api-docs by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5879](external-secrets/external-secrets#5879) - chore(deps): bump golang from `d9b2e14` to `98e6cff` by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5907](external-secrets/external-secrets#5907) - chore(deps): bump alpine from `865b95f` to `2510918` in /hack/api-docs by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5914](external-secrets/external-secrets#5914) - chore(deps): bump docker/login-action from 3.6.0 to 3.7.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5909](external-secrets/external-secrets#5909) - chore(deps): bump actions/cache from 5.0.2 to 5.0.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5912](external-secrets/external-secrets#5912) - chore(deps): bump actions/attest-build-provenance from 3.1.0 to 3.2.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5910](external-secrets/external-secrets#5910) - chore(deps): bump hashicorp/setup-terraform from [`dcc3150`](external-secrets/external-secrets@dcc3150) to [`ce70bcf`](external-secrets/external-secrets@ce70bcf) by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5911](external-secrets/external-secrets#5911) - chore(deps): bump ubi9/ubi from `1f84f5c` to `c8df11b` by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5908](external-secrets/external-secrets#5908) - chore(deps): bump alpine from 3.23.2 to 3.23.3 in /e2e by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5915](external-secrets/external-secrets#5915) - chore(deps): bump alpine from `865b95f` to `2510918` by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5906](external-secrets/external-secrets#5906) - chore(deps): bump pathspec from 1.0.3 to 1.0.4 in /hack/api-docs by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5916](external-secrets/external-secrets#5916) - chore(deps): bump babel from 2.17.0 to 2.18.0 in /hack/api-docs by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5917](external-secrets/external-secrets#5917) - chore(deps): bump github/codeql-action from 4.31.11 to 4.32.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5913](external-secrets/external-secrets#5913) #### New Contributors - [@​umizoom](https://github.com/umizoom) made their first contribution in [#​5862](external-secrets/external-secrets#5862) - [@​HauptJ](https://github.com/HauptJ) made their first contribution in [#​5870](external-secrets/external-secrets#5870) - [@​n4zukker](https://github.com/n4zukker) made their first contribution in [#​5889](external-secrets/external-secrets#5889) - [@​stripthis](https://github.com/stripthis) made their first contribution in [#​5886](external-secrets/external-secrets#5886) **Full Changelog**: <external-secrets/external-secrets@v1.3.1...v1.3.2> ### [`v1.3.1`](https://github.com/external-secrets/external-secrets/releases/tag/v1.3.1) [Compare Source](external-secrets/external-secrets@v1.2.1...v1.3.1) Image: `ghcr.io/external-secrets/external-secrets:v1.3.1` Image: `ghcr.io/external-secrets/external-secrets:v1.3.1-ubi` Image: `ghcr.io/external-secrets/external-secrets:v1.3.1-ubi-boringssl` <!-- Release notes generated using configuration in .github/release.yml at main --> For a Full release please referre to <https://github.com/external-secrets/external-secrets/releases/tag/v1.3.0>. This is a fix build for the docker publish flow. #### What's Changed ##### General - fix: ignore the in-toto manifest when promoting the docker build by [@​Skarlso](https://github.com/Skarlso) in [#​5859](external-secrets/external-secrets#5859) **Full Changelog**: <external-secrets/external-secrets@v1.3.0...v1.3.1> </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Mi4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuNSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119--> Reviewed-on: https://kubara.git.onstackit.cloud/STACKIT/kubara/pulls/250
…5769) Co-authored-by: Gergely Bräutigam <skarlso777@gmail.com>



Problem Statement
Various linters complain about ports that the container uses, but aren't defined. For example, the readiness port is set, but the port is not explicitly listed in the definition.
Related Issue
Fixes #...
Proposed Changes
All the ports used by the deployment should be explicitly defined to ensure traffic patterns are explicitly defined.
Format
Please ensure that your PR follows the following format for the title:
Where
scopeis optionally one of:Checklist
git commit --signoffmake testmake reviewableFix: Explicitly Define Container Ports in Helm Chart
Ensures all container ports referenced in readiness, liveness, and startup probes are explicitly declared in the port specifications for the cert-controller, controller, and webhook deployments.
Changes:
Rationale: Resolves linter warnings by explicitly declaring all ports used by the deployments, making traffic patterns clearly visible in the container specification.