-
Notifications
You must be signed in to change notification settings - Fork 6.4k
Description
Summary
Add a new application.spec.syncPolicy.syncOptions
for HelmSchemaValidation
.
This would be to toggle the following helm CLI flag:
--skip-schema-validation if set, disables JSON schema validation
Motivation
As mentioned in slack, cert-manager chart is used widely in various wrappers. Since introducing a JSON schema to provider better error handling for users, we have seen that some user have different use cases where this breaks.
We are already working on adding some additional change to allow non cert-manager values for common use cases:
- Helm: add enabled to json schema cert-manager/cert-manager#7350
- Update global section to not have "additionalProperties: false" cert-manager/helm-tool#43
However we believe there will still be more complex edge cases and in those instances it would be appropriate to disable schema validation on the Application
level.
This would be equivalent to Flux's: .disableSchemaValidation
Reference.
Proposal
- Upgrade helm binary in ArgoCD base image to v3.16.1 (latest, which also includes
--skip-schema-validation
- Enable a new
syncOption
to toggle this flag per application.
Maybe something like:
spec:
syncPolicy:
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
- FailOnSharedResource=true
- HelmSchemaValidation=false # Defaults to true
Not fussy on working, just thought including Helm
in the option name was a good signal this applied only to Helm as applications cover many installation methods.