Kong / charts

Helm chart for Kong
Apache License 2.0
239 stars 473 forks source link

feat: Add conditions to automate the installation for CRDs. #1023

Closed tao12345666333 closed 4 months ago

tao12345666333 commented 4 months ago

What this PR does / why we need it:

Because KGO relies on GWAPI and KIC's CRDs, adding these sub-charts can control whether or not to automatically install these dependent CRDs.

In addition, there are some other reasons why using sub-charts can provide us with a simpler way to complete the updates and maintenance of these CRDs.

Which issue this PR fixes

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

Special notes for your reviewer:

This PR is based on #1020 .

Checklist

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

tao12345666333 commented 4 months ago

This should be a draft pending https://github.com/Kong/charts/pull/1020, correct?

Yes. We need to merge #1020 first.

I understand your concerns, Helm does not have a good management mechanism for CRDs.

Managing these dependent CRDs through sub-charts serves two purposes:

tao12345666333 commented 4 months ago

You could maybe set up a modified release job that creates a virtual subchart directory during release, where instead of actually maintaining those in git, the release job checks out the repo, runs helm create a few times under the main chart's charts/ directory, and does a latest version lookup and kustomize build https://upstream-crd.example/crds > charts/whatever/crds/crds.yaml to populate it before running chart-releaser.

What you mean is how do we manage these dependency CRDs in the Git Repo, right? If our basic logic remains unchanged, I prefer to keep it simpler and directly save it in the Git repo.

tao12345666333 commented 4 months ago

Sorry, I mistakenly closed this PR and used #1025 as a replacement.