From f5a834c34b049d9399247f42d79d97b7ef60026d Mon Sep 17 00:00:00 2001 From: "L.Dongming" Date: Fri, 1 Nov 2024 14:48:03 +0800 Subject: [PATCH 1/3] chore: support to skip helm schema validattion --- pkg/cmd/cluster/create_subcmds.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/cmd/cluster/create_subcmds.go b/pkg/cmd/cluster/create_subcmds.go index 2bcdd0415..975dab52b 100644 --- a/pkg/cmd/cluster/create_subcmds.go +++ b/pkg/cmd/cluster/create_subcmds.go @@ -62,14 +62,18 @@ type CreateSubCmdsOptions struct { Tenancy string `json:"tenancy"` TolerationsRaw []string `json:"-"` + // SkipSchemaValidation is used to skip the schema validation of the helm chart. + SkipSchemaValidation bool `json:"-"` + *action.CreateOptions } func NewSubCmdsOptions(createOptions *action.CreateOptions, t cluster.ClusterType) (*CreateSubCmdsOptions, error) { var err error o := &CreateSubCmdsOptions{ - CreateOptions: createOptions, - ClusterType: t, + CreateOptions: createOptions, + ClusterType: t, + SkipSchemaValidation: false, } if o.ChartInfo, err = cluster.BuildChartInfo(t); err != nil { @@ -297,7 +301,7 @@ func (o *CreateSubCmdsOptions) getObjectsInfo() ([]*objectInfo, error) { } // get cluster manifests - manifests, err := cluster.GetManifests(o.ChartInfo.Chart, false, o.Namespace, o.Name, kubeVersion, values) + manifests, err := cluster.GetManifests(o.ChartInfo.Chart, o.SkipSchemaValidation, o.Namespace, o.Name, kubeVersion, values) if err != nil { return nil, err } From 609eb438448a92e4ad36736aeebb7b1d0b5e0f2c Mon Sep 17 00:00:00 2001 From: "L.Dongming" Date: Fri, 1 Nov 2024 15:35:50 +0800 Subject: [PATCH 2/3] fix --- pkg/cluster/cluster_chart.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/cluster/cluster_chart.go b/pkg/cluster/cluster_chart.go index ecf395ad1..909577e19 100644 --- a/pkg/cluster/cluster_chart.go +++ b/pkg/cluster/cluster_chart.go @@ -130,6 +130,9 @@ func (c *ChartInfo) BuildClusterSchema() error { var err error cht := c.Chart buildSchema := func(bs []byte) (*spec.Schema, error) { + if bs == nil { + return nil, nil + } schema := &spec.Schema{} if err = json.Unmarshal(bs, schema); err != nil { return nil, errors.Wrapf(err, "failed to build schema for engine %s", cht.Name()) From 5043d986eb78550d4364c0534cf72fe044f0064c Mon Sep 17 00:00:00 2001 From: "L.Dongming" Date: Fri, 1 Nov 2024 15:37:04 +0800 Subject: [PATCH 3/3] fix --- pkg/cluster/cluster_chart.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/cluster/cluster_chart.go b/pkg/cluster/cluster_chart.go index 909577e19..a9a41daa1 100644 --- a/pkg/cluster/cluster_chart.go +++ b/pkg/cluster/cluster_chart.go @@ -130,7 +130,7 @@ func (c *ChartInfo) BuildClusterSchema() error { var err error cht := c.Chart buildSchema := func(bs []byte) (*spec.Schema, error) { - if bs == nil { + if len(bs) == 0 { return nil, nil } schema := &spec.Schema{}