Skip to content

Commit

Permalink
feat: add skip-schema-validation feature (#676)
Browse files Browse the repository at this point in the history
* feat: add skip-schema-validation feature

Signed-off-by: yxxhero <[email protected]>

* feat: add --skip-schema-validation flag

Signed-off-by: yxxhero <[email protected]>

---------

Signed-off-by: yxxhero <[email protected]>
  • Loading branch information
yxxhero authored Oct 23, 2024
1 parent 196c9f7 commit 9ca7b6d
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 0 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ Flags:
--disable-validation disables rendered templates validation against the Kubernetes cluster you are currently pointing to. This is the same validation performed on an install
--dry-run disables cluster access and show diff as if it was install. Implies --install, --reset-values, and --disable-validation
--enable-dns enable DNS lookups when rendering templates
--skip-schema-validation disables rendered templates validation against the Kubernetes OpenAPI Schema
-D, --find-renames float32 Enable rename detection if set to any value greater than 0. If specified, the value denotes the maximum fraction of changed content as lines added + removed compared to total lines in a diff for considering it a rename. Only objects of the same Kind are attempted to be matched
-h, --help help for diff
--include-tests enable the diffing of the helm test hooks
Expand Down Expand Up @@ -185,6 +186,7 @@ Flags:
--disable-validation disables rendered templates validation against the Kubernetes cluster you are currently pointing to. This is the same validation performed on an install
--dry-run disables cluster access and show diff as if it was install. Implies --install, --reset-values, and --disable-validation
--enable-dns enable DNS lookups when rendering templates
--skip-schema-validation skip validation of rendered templates against the Kubernetes OpenAPI Schema
-D, --find-renames float32 Enable rename detection if set to any value greater than 0. If specified, the value denotes the maximum fraction of changed content as lines added + removed compared to total lines in a diff for considering it a rename. Only objects of the same Kind are attempted to be matched
-h, --help help for upgrade
--include-tests enable the diffing of the helm test hooks
Expand Down
4 changes: 4 additions & 0 deletions cmd/helm3.go
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,10 @@ func (d *diffCmd) template(isUpgrade bool) ([]byte, error) {
flags = append(flags, "--enable-dns")
}

if d.SkipSchemaValidation {
flags = append(flags, "--skip-schema-validation")
}

var (
subcmd string
filter func([]byte) []byte
Expand Down
2 changes: 2 additions & 0 deletions cmd/upgrade.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ type diffCmd struct {
disableValidation bool
disableOpenAPIValidation bool
enableDNS bool
SkipSchemaValidation bool
namespace string // namespace to assume the release to be installed into. Defaults to the current kube config namespace.
valueFiles valueFiles
values []string
Expand Down Expand Up @@ -255,6 +256,7 @@ func newChartCommand() *cobra.Command {
" --dry-run=server enables the cluster access with helm-get and the lookup template function.")
f.Lookup("dry-run").NoOptDefVal = dryRunNoOptDefVal
f.BoolVar(&diff.enableDNS, "enable-dns", false, "enable DNS lookups when rendering templates")
f.BoolVar(&diff.SkipSchemaValidation, "skip-schema-validation", false, "skip validation of the rendered manifests against the Kubernetes OpenAPI schema")
f.StringVar(&diff.postRenderer, "post-renderer", "", "the path to an executable to be used for post rendering. If it exists in $PATH, the binary will be used, otherwise it will try to look for the executable at the given path")
f.StringArrayVar(&diff.postRendererArgs, "post-renderer-args", []string{}, "an argument to the post-renderer (can specify multiple)")
f.BoolVar(&diff.insecureSkipTLSVerify, "insecure-skip-tls-verify", false, "skip tls certificate checks for the chart download")
Expand Down

0 comments on commit 9ca7b6d

Please sign in to comment.