Skip to content

Conversation

@ricardojdsilva87
Copy link

PR Checklist

[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

  • Chart Version bumped
  • CHANGELOG.md updated
  • Variables and other changes are documented in the README.md
  • Title of the PR starts with chart name (e.g. [artifactory])

What this PR does / why we need it:

  • Add PodDisruptionBudget templates to xray services when .Values.splitXraytoSeparateDeployments.fullSplit variable is set to true
  • Add PodDisruptionBudget template to catalog deployment
  • Replace Kubeval (deprecated) with Kubeconform

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #

Fixes #2125

Special notes for your reviewer:

  • added the variables postgresql.auth.password=password,rabbitmq.auth.password=rabbitmqpass to the helm template test, otherwise the chart would fail, because the rabbitmq password would be the default one and the postgresqlPassword was replaced by postgresql.auth.password some versions ago.

Validation logs for the changed charts:

test/lint-charts.sh
Installing kubeconform...
Local run, not downloading kubeconform cli...
Installing helm...
Local run, not downloading helm cli...
Error response from daemon: No such container: ct
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
Linting charts...

------------------------------------------------------------------------------------------------------------------------
 Charts to be processed:
------------------------------------------------------------------------------------------------------------------------
 catalog => (version: "101.27.2", path: "stable/catalog")
 xray => (version: "103.131.24", path: "stable/xray")
------------------------------------------------------------------------------------------------------------------------

"jfrog" has been added to your repositories
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "jfrog" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 1 charts
Downloading jfrog-common from repo https://charts.jfrog.io/
Deleting outdated charts
Linting chart 'catalog => (version: "101.27.2", path: "stable/catalog")'
Checking chart 'catalog => (version: "101.27.2", path: "stable/catalog")' for a version bump...
Old chart version: 101.27.1
New chart version: 101.27.2
Chart version ok.
Validating /workdir/stable/catalog/Chart.yaml...
Validation success! 👍

Linting chart with values file 'stable/catalog/ci/default-values.yaml'...

==> Linting stable/catalog
[INFO] Chart.yaml: icon is recommended

1 chart(s) linted, 0 chart(s) failed
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "jfrog" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 4 charts
Downloading postgresql from repo https://charts.jfrog.io/
Downloading rabbitmq from repo https://charts.jfrog.io/
Downloading catalog from repo https://charts.jfrog.io/
Downloading valkey from repo https://charts.jfrog.io/
Deleting outdated charts
Linting chart 'xray => (version: "103.131.24", path: "stable/xray")'
Checking chart 'xray => (version: "103.131.24", path: "stable/xray")' for a version bump...
Old chart version: 103.131.23
New chart version: 103.131.24
Chart version ok.
Validating /workdir/stable/xray/Chart.yaml...
Validation success! 👍

Linting chart with values file 'stable/xray/ci/default-values.yaml'...

==> Linting stable/xray

1 chart(s) linted, 0 chart(s) failed
coalesce.go:175: warning: skipped value for rabbitmq.initContainers: Not a table.
------------------------------------------------------------------------------------------------------------------------
 ✔︎ catalog => (version: "101.27.2", path: "stable/catalog")
 ✔︎ xray => (version: "103.131.24", path: "stable/xray")
------------------------------------------------------------------------------------------------------------------------
All charts linted successfully
Done Charts Linting!

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
------------------------------------------------------------------------------------------------------------------------
 Checking CHANGELOG!
 Charts to be processed:   stable/catalog stable/xray
------------------------------------------------------------------------------------------------------------------------
==> Checking CHANGELOG for chart stable/catalog
------------------------------------------------------------------------------------------------------------------------
Found CHANGELOG entry for chart stable/catalog version
101.27.2
==> Checking CHANGELOG for chart stable/xray
------------------------------------------------------------------------------------------------------------------------
Found CHANGELOG entry for chart stable/xray version



103.131.24
------------------------------------------------------------------------------------------------------------------------
Done CHANGELOG Check!
------------------------------------------------------------------------------------------------------------------------

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
------------------------------------------------------------------------------------------------------------------------
 Validating Manifests!
 Charts to be processed:   stable/catalog stable/xray
------------------------------------------------------------------------------------------------------------------------
Validating chart stable/catalog
work_folder/tmp
------------------------------------------------------------------------------------------------------------------------
==> Processing with default values...
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
==> Processing with work_folder/stable/catalog/ci/default-values.yaml...
------------------------------------------------------------------------------------------------------------------------
Validating chart stable/xray
work_folder/tmp
------------------------------------------------------------------------------------------------------------------------
==> Processing with default values...
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
==> Processing with work_folder/stable/xray/ci/default-values.yaml...
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
Done Manifests validating!

The warning you see is regarding docker since there is no arm64 docker image for the ci container

Let me know if some more changes are needed

Thanks!

@github-actions
Copy link
Contributor

github-actions bot commented Dec 5, 2025

CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅

@ricardojdsilva87
Copy link
Author

I have read the CLA Document and I hereby sign the CLA

@ricardojdsilva87
Copy link
Author

recheck

@ricardojdsilva87
Copy link
Author

Hello should I add someone to review the Pull request?
I can run the linter again and fix the merge conflicts
Thanks

@rahulsadanandan
Copy link
Collaborator

Hi @ricardojdsilva87,
Thanks for the effort to create this PR.

But the PodDisruptionBudget was intentionally added only for the Xray server, as it is the primary microservice and maintaining its availability is critical to avoid downtime during voluntary disruptions.

The other Xray components are designed to tolerate temporary disruptions and therefore do not strictly require a PDB. For this reason, we have limited the PDB scope to the Xray server only.

@ricardojdsilva87
Copy link
Author

Hello @rahulsadanandan,
In that case if these services can be disrupted with minimal impact to the overall systems, and since it is an arquitectural decision, this PR can be closed.
I added these templates only as a nice to have feature to the overall deployments for the other services.
I've added also a pdb to the catalog deployment that is separated from the xray one, does this service can tolerate disruptions also?

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Xray] PodDisruption budget not created when splitdeployment is active

3 participants