Skip to content

feat(argo-workflows): Switch to full CRDs for workflows#3705

Open
Joibel wants to merge 1 commit intoargoproj:mainfrom
Joibel:40-full-crds
Open

feat(argo-workflows): Switch to full CRDs for workflows#3705
Joibel wants to merge 1 commit intoargoproj:mainfrom
Joibel:40-full-crds

Conversation

@Joibel
Copy link
Member

@Joibel Joibel commented Feb 3, 2026

This is mainly a PR to change the default value of full CRDs to full, to match the expected release of workflows v4.0.0 shortly. Mostly this PR is about the values.yaml README.md change - the rest would happen via renovate I believe.

The CRDs have been pulled from v4.0.0-rc4 which will also be tagged v4.0.0 at release - I'm happy to separate this from the auto-generated renovate PR if you'd prefer.

This is the continuation of the #3559 PR.

Checklist:

  • I have bumped the chart version according to versioning
  • I have updated the documentation according to documentation
  • I have updated the chart changelog with all the changes that come with this pull request according to changelog.
  • Any new values are backwards compatible and/or have sensible default.
  • I have signed off all my commits as required by DCO.
  • I have created a separate pull request for each chart according to pull requests
  • My build is green (troubleshooting builds).

Signed-off-by: Alan Clucas <alan@clucas.org>
Copy link
Member

@tico24 tico24 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Looks good to me. Obviously can't test and merge until 4.0.0 comes out of the oven upstream.

@vladlosev
Copy link
Collaborator

I am quite concerned about making full CRDs the default. They take 7.5MB, and on many systems, will take a long time to deploy and slow down the Kubernetes API server in the process. In our system, we use minimal CRDs because using the full ones makes a single deploy so long, it trips the CD operator timeouts. For many users in similar circumstances, it will be a breaking chage.

@mkilchhofer
Copy link
Member

I am quite concerned about making full CRDs the default. They take 7.5MB (..)

I am also pretty sure that the full CRDs will not work when the Helm chart is installed via a regular helm install/upgrade-approach or with FluxCD.

For tooling like Argo CD, it will work because Argo only executes helm template.

Our CI test uses the chart-testing action which make use of helm install.

@Joibel
Copy link
Member Author

Joibel commented Feb 4, 2026

Upstream the full CRDs are the default in 4.0, and I'd like to deprecate the minimized CRDs in future releases.

How do other projects with big CRDs handle this?

@mkilchhofer
Copy link
Member

mkilchhofer commented Feb 4, 2026

Upstream the full CRDs are the default in 4.0, and I'd like to deprecate the minimized CRDs in future releases.

How do other projects with big CRDs handle this?

Tbh, I never saw such big CRDs in the past.
I once saw a discussion going on for the Kube-Prometheus-Stack chart in the Prometheus Community org:

Some operators/controllers update the CRDs as "business logic" when the operator starts up. (Cilium for example).
And I also saw helm charts using a Job with a pre-install hook to update the CRDs.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants