chore(chart-deps): update cloudnative-pg-plugin-barman-cloud to version 0.7.1 - #3482
chore(chart-deps): update cloudnative-pg-plugin-barman-cloud to version 0.7.1#3482svcAPLBot wants to merge 10 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the vendored cloudnative-pg-plugin-barman-cloud Helm chart to 0.7.1 (appVersion v0.14.0) and aligns chart templates/docs/tests with upstream changes, including new certificate/issuer and RBAC configurability.
Changes:
- Bump chart version/appVersion and dependency pin to
0.7.1in the chart index. - Add configurable CNPG API group for RBAC and make certificate issuer name configurable (with optional Issuer creation).
- Update CRDs, rendered test assertions, and generated README content to match the updated upstream chart.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| charts/cloudnative-pg-plugin-barman-cloud/values.yaml | Adds rbac.cnpgGroup, certificate.createIssuer, and changes issuer name defaults. |
| charts/cloudnative-pg-plugin-barman-cloud/values.schema.json | Updates schema to reflect new/changed values (needs minor schema-type fixes). |
| charts/cloudnative-pg-plugin-barman-cloud/test/simple-deployment/01-simple_deployment-assert.yaml | Updates expected rendered probes/ports for the deployment. |
| charts/cloudnative-pg-plugin-barman-cloud/templates/server-certificate.yaml | Switches issuer name resolution to a helper. |
| charts/cloudnative-pg-plugin-barman-cloud/templates/client-certificate.yaml | Switches issuer name resolution to a helper. |
| charts/cloudnative-pg-plugin-barman-cloud/templates/certificate-issuer.yaml | Makes Issuer creation conditional and uses the helper for naming. |
| charts/cloudnative-pg-plugin-barman-cloud/templates/_helpers.tpl | Adds helper for issuer naming (needs validation tweak when issuer isn’t created). |
| charts/cloudnative-pg-plugin-barman-cloud/templates/rbac.yaml | Makes CNPG API group configurable via values. |
| charts/cloudnative-pg-plugin-barman-cloud/templates/deployment.yaml | Updates readiness/liveness probes configuration. |
| charts/cloudnative-pg-plugin-barman-cloud/templates/crds/crds.yaml | Updates CRDs (controller-gen version bump and new fields/enums). |
| charts/cloudnative-pg-plugin-barman-cloud/README.md.gotmpl | Adds generated README template. |
| charts/cloudnative-pg-plugin-barman-cloud/README.md | Regenerates README for updated chart version/values. |
| charts/cloudnative-pg-plugin-barman-cloud/Chart.yaml | Bumps chart version and appVersion. |
| chart/chart-index/Chart.yaml | Updates pinned dependency version to 0.7.1. |
Comments suppressed due to low confidence (2)
charts/cloudnative-pg-plugin-barman-cloud/values.schema.json:18
- additionalEnv in values.schema.json is missing an explicit JSON Schema type. Adding "type": "array" improves Helm value validation consistency and prevents non-array values from being accepted.
"required": []
charts/cloudnative-pg-plugin-barman-cloud/values.schema.json:23
- affinity in values.schema.json is missing an explicit JSON Schema type. Adding "type": "object" improves Helm value validation and aligns with the schema style used in other charts (e.g., charts/cloudnative-pg/values.schema.json).
"required": []
| {{- define "plugin-barman-cloud.certificateIssuerName" -}} | ||
| {{- default (printf "%s-selfsigned-issuer" (include "plugin-barman-cloud.fullname" .)) .Values.certificate.issuerName }} | ||
| {{- end }} |
| @@ -1,5 +1,5 @@ | |||
| apiVersion: v2 | |||
| appVersion: v0.12.0 | |||
| appVersion: v0.14.0 | |||
| }, | ||
| "required": [], | ||
| "title": "additionalArgs" | ||
| "required": [] |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (3)
charts/cloudnative-pg-plugin-barman-cloud/test/simple-deployment/01-simple_deployment-assert.yaml:31
- The rendered livenessProbe checks port 8081 while the container only exposes 9090 in this test manifest. This would cause unnecessary restarts. Update the probe port to 9090 to match the container.
livenessProbe:
initialDelaySeconds: 10
periodSeconds: 10
tcpSocket:
port: 8081
charts/cloudnative-pg-plugin-barman-cloud/templates/_helpers.tpl:80
certificate.createIssuercan disable creation of the Issuer, but the client/server Certificate templates always referenceplugin-barman-cloud.certificateIssuerName. With the current helper, settingcertificate.createIssuer: falsewithout also settingcertificate.issuerNamestill renders certificates that reference a non-existent Issuer, breaking installs. Add a template-time validation guard to requirecertificate.issuerNamewhencreateIssueris false.
{{- define "plugin-barman-cloud.certificateIssuerName" -}}
{{- default (printf "%s-selfsigned-issuer" (include "plugin-barman-cloud.fullname" .)) .Values.certificate.issuerName }}
{{- end }}
charts/cloudnative-pg-plugin-barman-cloud/templates/deployment.yaml:86
- livenessProbe is configured to check port 8081, but the container only exposes port 9090. This will cause kubelet to restart healthy pods (or never mark them live). Update the probe to check port 9090.
livenessProbe:
initialDelaySeconds: 10
periodSeconds: 10
tcpSocket:
port: 8081
| readinessProbe: | ||
| initialDelaySeconds: 10 | ||
| periodSeconds: 10 | ||
| tcpSocket: | ||
| port: 9090 | ||
| port: 8081 |
| readinessProbe: | ||
| initialDelaySeconds: 10 | ||
| periodSeconds: 10 | ||
| tcpSocket: | ||
| port: 9090 | ||
| port: 8081 |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.
Suppressed comments (3)
charts/cloudnative-pg-plugin-barman-cloud/templates/deployment.yaml:86
- The livenessProbe is checking TCP port 8081, but the container is configured to serve on 9090. This will cause unnecessary restarts if 8081 is not actually bound by the process.
livenessProbe:
initialDelaySeconds: 10
periodSeconds: 10
tcpSocket:
port: 8081
charts/cloudnative-pg-plugin-barman-cloud/test/simple-deployment/01-simple_deployment-assert.yaml:31
- The rendered manifest assertion expects the livenessProbe to use port 8081, but the container is configured to listen on 9090 in this fixture. This will make the test pass while the actual deployment would fail (or vice versa) depending on the real listening port.
livenessProbe:
initialDelaySeconds: 10
periodSeconds: 10
tcpSocket:
port: 8081
charts/cloudnative-pg-plugin-barman-cloud/templates/deployment.yaml:81
- The readinessProbe is checking TCP port 8081, but this deployment configures the plugin to listen on 9090 (
--server-address=:9090andcontainerPort: 9090). As-is, the readiness probe will fail and keep the pod unready unless the container actually exposes 8081.
This issue also appears on line 82 of the same file.
readinessProbe:
initialDelaySeconds: 10
periodSeconds: 10
tcpSocket:
port: 8081
| readinessProbe: | ||
| initialDelaySeconds: 10 | ||
| periodSeconds: 10 | ||
| tcpSocket: | ||
| port: 9090 | ||
| port: 8081 |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.
Suppressed comments (3)
charts/cloudnative-pg-plugin-barman-cloud/values.schema.json:8
- values.schema.json is missing explicit JSON Schema types for several list-like values (e.g., additionalArgs/additionalEnv define "items" but not "type": "array"). This makes Helm values validation much weaker (and may break tooling that expects valid schemas). Re-generate/fix the schema so list/object properties declare their types (array/object) consistently.
"additionalArgs": {
"additionalProperties": true,
"description": "Additional arguments to be added to the operator's args list.",
"items": {
"required": []
charts/cloudnative-pg-plugin-barman-cloud/templates/_helpers.tpl:80
- When certificate.createIssuer is false and certificate.issuerName is left empty (the default), the chart will still reference the computed "-selfsigned-issuer" issuer, but it won't be created anymore. This leads to certificates that can never be issued. Consider failing fast unless an explicit issuerName is provided when createIssuer=false.
{{- define "plugin-barman-cloud.certificateIssuerName" -}}
{{- default (printf "%s-selfsigned-issuer" (include "plugin-barman-cloud.fullname" .)) .Values.certificate.issuerName }}
{{- end }}
charts/cloudnative-pg-plugin-barman-cloud/test/simple-deployment/01-simple_deployment-assert.yaml:26
- This test assertion was updated to expect readiness/liveness probes on port 8081, but the chart still configures the plugin server on :9090 and exposes port 9090. If the probes are corrected to 9090 in the template, this assertion should match.
readinessProbe:
initialDelaySeconds: 10
periodSeconds: 10
tcpSocket:
port: 8081
| readinessProbe: | ||
| initialDelaySeconds: 10 | ||
| periodSeconds: 10 | ||
| tcpSocket: | ||
| port: 9090 | ||
| port: 8081 |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 14 out of 14 changed files in this pull request and generated no new comments.
Suppressed comments (2)
charts/cloudnative-pg-plugin-barman-cloud/templates/_helpers.tpl:80
- If
certificate.createIssueris set to false whilecertificate.issuerNameis left empty, the chart will still render Certificates that reference the default "-selfsigned-issuer" name, but the Issuer resource won’t be created. This results in an install that fails at runtime unless a matching Issuer already exists. Add a guard so the issuer name becomes required whencreateIssueris false (or fail with a clear message).
{{- define "plugin-barman-cloud.certificateIssuerName" -}}
{{- default (printf "%s-selfsigned-issuer" (include "plugin-barman-cloud.fullname" .)) .Values.certificate.issuerName }}
{{- end }}
charts/cloudnative-pg-plugin-barman-cloud/values.schema.json:8
values.schema.jsonno longer declares atypeforadditionalArgs, which makes Helm’s values validation ineffective (any value type will pass anditemswon’t be enforced unless the value happens to be an array). This chart’s schema should definetype: "array"here (and similarly for other list/object values in the file) to preserve validation.
"additionalArgs": {
"additionalProperties": true,
"description": "Additional arguments to be added to the operator's args list.",
"items": {
"required": []
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.
Suppressed comments (4)
charts/cloudnative-pg-plugin-barman-cloud/templates/deployment.yaml:86
- livenessProbe is checking TCP port 8081, but the container is configured to listen on 9090 (--server-address=:9090 and containerPort: 9090). This will cause the pod to be restarted continuously.
livenessProbe:
initialDelaySeconds: 10
periodSeconds: 10
tcpSocket:
port: 8081
charts/cloudnative-pg-plugin-barman-cloud/test/simple-deployment/01-simple_deployment-assert.yaml:31
- The rendered manifest assertion expects livenessProbe to use port 8081, but the chart config still binds the plugin server to 9090. The test should assert the actual listening port to avoid masking probe failures.
livenessProbe:
initialDelaySeconds: 10
periodSeconds: 10
tcpSocket:
port: 8081
charts/cloudnative-pg-plugin-barman-cloud/templates/_helpers.tpl:80
- With certificate.createIssuer now optional, the chart can render Certificates that reference a non-existent Issuer if a user sets certificate.createIssuer=false but forgets to set certificate.issuerName. Add an explicit validation error in the helper to fail fast on that misconfiguration.
{{- define "plugin-barman-cloud.certificateIssuerName" -}}
{{- default (printf "%s-selfsigned-issuer" (include "plugin-barman-cloud.fullname" .)) .Values.certificate.issuerName }}
{{- end }}
charts/cloudnative-pg-plugin-barman-cloud/test/simple-deployment/01-simple_deployment-assert.yaml:26
- The rendered manifest assertion expects readinessProbe to use port 8081, but the chart config still binds the plugin server to 9090. The test should assert the actual listening port to avoid masking probe failures.
This issue also appears on line 27 of the same file.
initialDelaySeconds: 10
periodSeconds: 10
tcpSocket:
port: 8081
| initialDelaySeconds: 10 | ||
| periodSeconds: 10 | ||
| tcpSocket: | ||
| port: 9090 | ||
| port: 8081 |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 14 out of 14 changed files in this pull request and generated no new comments.
Suppressed comments (2)
charts/cloudnative-pg-plugin-barman-cloud/templates/_helpers.tpl:80
certificate.createIssuercan be set to false now, but the certificate templates still always referenceplugin-barman-cloud.certificateIssuerName. With the current helper, whencreateIssuer=falseandcertificate.issuerNameis empty, the chart will reference the default*-selfsigned-issuereven though the Issuer resource is not rendered, causing cert-manager to fail issuing the certificates.
{{/*
Create the name of the certificate issuer to use
*/}}
{{- define "plugin-barman-cloud.certificateIssuerName" -}}
{{- default (printf "%s-selfsigned-issuer" (include "plugin-barman-cloud.fullname" .)) .Values.certificate.issuerName }}
{{- end }}
charts/cloudnative-pg-plugin-barman-cloud/templates/deployment.yaml:84
- The probes now check TCP port 8081, but the container is still configured with
--server-address=:9090, exposes onlycontainerPort: 9090, and the Service/plugin annotations still use port 9090. If 8081 is intentional (e.g., a separate health/probe listener), the chart should make that explicit (args/ports/docs) so it doesn’t look like a mismatched port that could keep the Deployment unready or cause restarts.
tcpSocket:
port: 8081
livenessProbe:
initialDelaySeconds: 10
periodSeconds: 10
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 14 out of 14 changed files in this pull request and generated no new comments.
Suppressed comments (3)
charts/cloudnative-pg-plugin-barman-cloud/templates/deployment.yaml:81
- The readiness/liveness probes were switched to port 8081, but this Deployment still configures the plugin server on :9090 (and only declares containerPort 9090). If the plugin doesn’t actually listen on 8081 in v0.14.0, the pod will never become Ready and will restart. Please confirm 8081 is the intended health port for this version; if so, consider documenting it and/or making the probe port configurable so it can’t silently drift from the deployed image’s behavior.
port: 8081
charts/cloudnative-pg-plugin-barman-cloud/values.schema.json:331
- The schema/README description for updateStrategy no longer includes the RollingUpdate limitation that’s still documented in values.yaml. This makes the chart docs internally inconsistent. Either remove the warning from values.yaml (if no longer true in 0.7.1) or restore it here so the generated docs remain accurate.
"description": "Update strategy for the operator.\nref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy",
charts/cloudnative-pg-plugin-barman-cloud/values.yaml:200
- issuerName now defaults to an empty string, but the actual issuer name used by the chart is derived in templates (see plugin-barman-cloud.certificateIssuerName). Without noting that behavior here, users may think an empty default results in an invalid issuerRef. Clarify the effective default when issuerName is empty.
# -- The name of the issuer to use for the certificates.
issuerName: ""
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 14 out of 14 changed files in this pull request and generated no new comments.
Suppressed comments (4)
charts/cloudnative-pg-plugin-barman-cloud/values.schema.json:8
- The values schema no longer declares JSON Schema "type" for several top-level properties (e.g., additionalArgs/additionalEnv/affinity). This weakens Helm values validation (arrays/objects won’t be type-checked). Add explicit "type" declarations to restore proper validation.
"additionalArgs": {
"additionalProperties": true,
"description": "Additional arguments to be added to the operator's args list.",
"items": {
"required": []
charts/cloudnative-pg-plugin-barman-cloud/values.schema.json:333
- The values schema is also missing "type" for topologySpreadConstraints and updateStrategy, so invalid value types would not be caught by Helm schema validation. Add explicit "type" to match the actual values.yaml structure.
"updateStrategy": {
"additionalProperties": true,
"description": "Update strategy for the operator.\nref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy",
"required": []
}
charts/cloudnative-pg-plugin-barman-cloud/templates/rbac.yaml:77
- The templated API group value should be quoted to ensure it is always rendered as a YAML string (and to avoid YAML edge cases if someone sets a value that could be parsed as non-string).
- apiGroups:
- {{ .Values.rbac.cnpgGroup }}
charts/cloudnative-pg-plugin-barman-cloud/README.md:94
- The docs now show certificate.issuerName defaulting to an empty string, but don’t explain what name will actually be used when it’s empty, nor that it must be set when certificate.createIssuer=false. This makes the new createIssuer/issuerName behavior easy to misconfigure.
| certificate.createIssuer | bool | `true` | Specifies whether the issuer should be created. |
| certificate.createServerCertificate | bool | `true` | Specifies whether the server certificate should be created. |
| certificate.duration | string | `"2160h"` | The duration of the certificates. |
| certificate.issuerName | string | `""` | The name of the issuer to use for the certificates. |
| certificate.renewBefore | string | `"360h"` | The renew before time for the certificates. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.
Suppressed comments (3)
charts/cloudnative-pg-plugin-barman-cloud/templates/deployment.yaml:81
- readinessProbe is checking TCP port 8081, but the container is configured to listen on 9090 (
--server-address=:9090andcontainerPort: 9090). This will cause the pod to stay unready if nothing is listening on 8081.
readinessProbe:
initialDelaySeconds: 10
periodSeconds: 10
tcpSocket:
port: 8081
charts/cloudnative-pg-plugin-barman-cloud/test/simple-deployment/01-simple_deployment-assert.yaml:31
- This expected manifest asserts livenessProbe on port 8081, but the container args and containerPort are still set to 9090. Unless the plugin also exposes a listener on 8081, this makes the test (and the rendered deployment) inconsistent.
livenessProbe:
initialDelaySeconds: 10
periodSeconds: 10
tcpSocket:
port: 8081
charts/cloudnative-pg-plugin-barman-cloud/test/simple-deployment/01-simple_deployment-assert.yaml:26
- This expected manifest asserts readinessProbe on port 8081, but the container args and containerPort are still set to 9090. Unless the plugin also exposes a listener on 8081, this makes the test (and the rendered deployment) inconsistent.
This issue also appears on line 27 of the same file.
readinessProbe:
initialDelaySeconds: 10
periodSeconds: 10
tcpSocket:
port: 8081
| livenessProbe: | ||
| initialDelaySeconds: 10 | ||
| periodSeconds: 10 | ||
| tcpSocket: | ||
| port: 8081 |
This PR updates the dependency plugin-barman-cloud to version 0.7.1.
TODO: Update app version in apps.yaml.