Skip to content

Add a SyncOption to enable / disable helm schema validation #20287

@hawksight

Description

@hawksight

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:

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

  1. Upgrade helm binary in ArgoCD base image to v3.16.1 (latest, which also includes --skip-schema-validation
  2. 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.

Metadata

Metadata

Assignees

Labels

component:apiAPI bugs and enhancementscomponent:applicationIssue specific to the Application manifest and configurationcomponent:source/helmIssue related to Helm as an Application sourceenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions