fix(state): propagate cli skip-schema-validation to chartify
Agent-Logs-Url: https://github.com/helmfile/helmfile/sessions/70ebf027-0ab5-4bdb-a4b4-5a77c822ee95 Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>
This commit is contained in:
parent
76536e45aa
commit
fd3f25cd90
|
|
@ -166,6 +166,7 @@ func (a *App) Diff(c DiffConfigProvider) error {
|
|||
SkipRepos: c.SkipRefresh() || c.SkipDeps(),
|
||||
SkipRefresh: c.SkipRefresh(),
|
||||
SkipDeps: c.SkipDeps(),
|
||||
SkipSchemaValidation: c.SkipSchemaValidation(),
|
||||
IncludeCRDs: &includeCRDs,
|
||||
Validate: c.Validate(),
|
||||
Concurrency: c.Concurrency(),
|
||||
|
|
@ -237,6 +238,7 @@ func (a *App) Template(c TemplateConfigProvider) error {
|
|||
SkipRepos: c.SkipRefresh() || c.SkipDeps(),
|
||||
SkipRefresh: c.SkipRefresh(),
|
||||
SkipDeps: c.SkipDeps(),
|
||||
SkipSchemaValidation: c.SkipSchemaValidation(),
|
||||
IncludeCRDs: &includeCRDs,
|
||||
SkipCleanup: c.SkipCleanup(),
|
||||
Validate: c.Validate(),
|
||||
|
|
@ -420,6 +422,7 @@ func (a *App) Sync(c SyncConfigProvider) error {
|
|||
SkipRepos: c.SkipRefresh() || c.SkipDeps(),
|
||||
SkipRefresh: c.SkipRefresh(),
|
||||
SkipDeps: c.SkipDeps(),
|
||||
SkipSchemaValidation: c.SkipSchemaValidation(),
|
||||
Wait: c.Wait(),
|
||||
WaitRetries: c.WaitRetries(),
|
||||
WaitForJobs: c.WaitForJobs(),
|
||||
|
|
@ -456,6 +459,7 @@ func (a *App) Apply(c ApplyConfigProvider) error {
|
|||
SkipRepos: c.SkipRefresh() || c.SkipDeps(),
|
||||
SkipRefresh: c.SkipRefresh(),
|
||||
SkipDeps: c.SkipDeps(),
|
||||
SkipSchemaValidation: c.SkipSchemaValidation(),
|
||||
Wait: c.Wait(),
|
||||
WaitRetries: c.WaitRetries(),
|
||||
WaitForJobs: c.WaitForJobs(),
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ func TestAppendSkipSchemaValidationFlagToChartifyTemplateArgs(t *testing.T) {
|
|||
name string
|
||||
defaults HelmSpec
|
||||
release *ReleaseSpec
|
||||
fromCLI bool
|
||||
templateArgs string
|
||||
want string
|
||||
}{
|
||||
|
|
@ -55,6 +56,13 @@ func TestAppendSkipSchemaValidationFlagToChartifyTemplateArgs(t *testing.T) {
|
|||
templateArgs: "--set name=foo--skip-schema-validation",
|
||||
want: "--set name=foo--skip-schema-validation --skip-schema-validation",
|
||||
},
|
||||
{
|
||||
name: "adds flag from cli setting",
|
||||
release: &ReleaseSpec{},
|
||||
fromCLI: true,
|
||||
templateArgs: "--kube-context default",
|
||||
want: "--kube-context default --skip-schema-validation",
|
||||
},
|
||||
{
|
||||
name: "does not add flag when disabled",
|
||||
release: &ReleaseSpec{},
|
||||
|
|
@ -71,7 +79,7 @@ func TestAppendSkipSchemaValidationFlagToChartifyTemplateArgs(t *testing.T) {
|
|||
},
|
||||
}
|
||||
|
||||
got := st.appendSkipSchemaValidationFlagToChartifyTemplateArgs(tt.templateArgs, tt.release)
|
||||
got := st.appendSkipSchemaValidationFlagToChartifyTemplateArgs(tt.templateArgs, tt.release, tt.fromCLI)
|
||||
require.Equal(t, tt.want, got)
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1341,6 +1341,8 @@ type ChartPrepareOptions struct {
|
|||
SkipRefresh bool
|
||||
SkipResolve bool
|
||||
SkipCleanup bool
|
||||
// SkipSchemaValidation configures chartify to pass --skip-schema-validation to helm-template run by it.
|
||||
SkipSchemaValidation bool
|
||||
// Validate configures chartify to pass --validate to helm-template run by it.
|
||||
// It's required when one of your chart relies on Capabilities.APIVersions in a template
|
||||
Validate bool
|
||||
|
|
@ -1622,7 +1624,11 @@ func (st *HelmState) processChartification(chartification *Chartify, release *Re
|
|||
}
|
||||
}
|
||||
|
||||
chartifyOpts.TemplateArgs = st.appendSkipSchemaValidationFlagToChartifyTemplateArgs(chartifyOpts.TemplateArgs, release)
|
||||
chartifyOpts.TemplateArgs = st.appendSkipSchemaValidationFlagToChartifyTemplateArgs(
|
||||
chartifyOpts.TemplateArgs,
|
||||
release,
|
||||
opts.SkipSchemaValidation,
|
||||
)
|
||||
|
||||
out, err := c.Chartify(release.Name, chartPath, chartify.WithChartifyOpts(chartifyOpts))
|
||||
if err != nil {
|
||||
|
|
@ -1636,8 +1642,8 @@ func (st *HelmState) processChartification(chartification *Chartify, release *Re
|
|||
return chartPath, buildDeps, nil
|
||||
}
|
||||
|
||||
func (st *HelmState) appendSkipSchemaValidationFlagToChartifyTemplateArgs(templateArgs string, release *ReleaseSpec) string {
|
||||
if !st.shouldSkipSchemaValidation(release, false) || hasTemplateArg(templateArgs, "--skip-schema-validation") {
|
||||
func (st *HelmState) appendSkipSchemaValidationFlagToChartifyTemplateArgs(templateArgs string, release *ReleaseSpec, skipSchemaValidation bool) string {
|
||||
if !st.shouldSkipSchemaValidation(release, skipSchemaValidation) || hasTemplateArg(templateArgs, "--skip-schema-validation") {
|
||||
return templateArgs
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue