feat: add reuse-values args for diff apply and sync (#411)
Signed-off-by: yxxhero <aiopsclub@163.com> Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
parent
8f7796b260
commit
21c28ca6d0
|
|
@ -59,6 +59,7 @@ func NewApplyCmd(globalCfg *config.GlobalImpl) *cobra.Command {
|
||||||
f.BoolVar(&applyOptions.SkipDeps, "skip-deps", false, `skip running "helm repo update" and "helm dependency build"`)
|
f.BoolVar(&applyOptions.SkipDeps, "skip-deps", false, `skip running "helm repo update" and "helm dependency build"`)
|
||||||
f.BoolVar(&applyOptions.Wait, "wait", false, `Override helmDefaults.wait setting "helm upgrade --install --wait"`)
|
f.BoolVar(&applyOptions.Wait, "wait", false, `Override helmDefaults.wait setting "helm upgrade --install --wait"`)
|
||||||
f.BoolVar(&applyOptions.WaitForJobs, "wait-for-jobs", false, `Override helmDefaults.waitForJobs setting "helm upgrade --install --wait-for-jobs"`)
|
f.BoolVar(&applyOptions.WaitForJobs, "wait-for-jobs", false, `Override helmDefaults.waitForJobs setting "helm upgrade --install --wait-for-jobs"`)
|
||||||
|
f.BoolVar(&applyOptions.ReuseValues, "reuse-values", false, "reuse the last release's values and merge in any overrides from other sources")
|
||||||
|
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,7 @@ func NewDiffCmd(globalCfg *config.GlobalImpl) *cobra.Command {
|
||||||
f.StringVar(&diffOptions.Output, "output", "", "output format for diff plugin")
|
f.StringVar(&diffOptions.Output, "output", "", "output format for diff plugin")
|
||||||
f.BoolVar(&diffOptions.SuppressSecrets, "suppress-secrets", false, "suppress secrets in the output. highly recommended to specify on CI/CD use-cases")
|
f.BoolVar(&diffOptions.SuppressSecrets, "suppress-secrets", false, "suppress secrets in the output. highly recommended to specify on CI/CD use-cases")
|
||||||
f.StringArrayVar(&diffOptions.Suppress, "suppress", nil, "suppress specified Kubernetes objects in the output. Can be provided multiple times. For example: --suppress KeycloakClient --suppress VaultSecret")
|
f.StringArrayVar(&diffOptions.Suppress, "suppress", nil, "suppress specified Kubernetes objects in the output. Can be provided multiple times. For example: --suppress KeycloakClient --suppress VaultSecret")
|
||||||
|
f.BoolVar(&diffOptions.ReuseValues, "reuse-values", false, "reuse the last release's values and merge in any overrides from other sources")
|
||||||
|
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,7 @@ func NewSyncCmd(globalCfg *config.GlobalImpl) *cobra.Command {
|
||||||
f.BoolVar(&syncOptions.SkipDeps, "skip-deps", false, `skip running "helm repo update" and "helm dependency build"`)
|
f.BoolVar(&syncOptions.SkipDeps, "skip-deps", false, `skip running "helm repo update" and "helm dependency build"`)
|
||||||
f.BoolVar(&syncOptions.Wait, "wait", false, `Override helmDefaults.wait setting "helm upgrade --install --wait"`)
|
f.BoolVar(&syncOptions.Wait, "wait", false, `Override helmDefaults.wait setting "helm upgrade --install --wait"`)
|
||||||
f.BoolVar(&syncOptions.WaitForJobs, "wait-for-jobs", false, `Override helmDefaults.waitForJobs setting "helm upgrade --install --wait-for-jobs"`)
|
f.BoolVar(&syncOptions.WaitForJobs, "wait-for-jobs", false, `Override helmDefaults.waitForJobs setting "helm upgrade --install --wait-for-jobs"`)
|
||||||
|
f.BoolVar(&syncOptions.ReuseValues, "reuse-values", false, "reuse the last release's values and merge in any overrides from other sources")
|
||||||
|
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1288,6 +1288,7 @@ func (a *App) apply(r *Run, c ApplyConfigProvider) (bool, bool, []error) {
|
||||||
Set: c.Set(),
|
Set: c.Set(),
|
||||||
SkipCleanup: c.RetainValuesFiles() || c.SkipCleanup(),
|
SkipCleanup: c.RetainValuesFiles() || c.SkipCleanup(),
|
||||||
SkipDiffOnInstall: c.SkipDiffOnInstall(),
|
SkipDiffOnInstall: c.SkipDiffOnInstall(),
|
||||||
|
ReuseValues: c.ReuseValues(),
|
||||||
}
|
}
|
||||||
|
|
||||||
infoMsg, releasesToBeUpdated, releasesToBeDeleted, errs := r.diff(false, detailedExitCode, c, diffOpts)
|
infoMsg, releasesToBeUpdated, releasesToBeDeleted, errs := r.diff(false, detailedExitCode, c, diffOpts)
|
||||||
|
|
@ -1412,14 +1413,15 @@ Do you really want to apply?
|
||||||
|
|
||||||
subst.Releases = rs
|
subst.Releases = rs
|
||||||
|
|
||||||
syncOpts := state.SyncOpts{
|
syncOpts := &state.SyncOpts{
|
||||||
Set: c.Set(),
|
Set: c.Set(),
|
||||||
SkipCleanup: c.RetainValuesFiles() || c.SkipCleanup(),
|
SkipCleanup: c.RetainValuesFiles() || c.SkipCleanup(),
|
||||||
SkipCRDs: c.SkipCRDs(),
|
SkipCRDs: c.SkipCRDs(),
|
||||||
Wait: c.Wait(),
|
Wait: c.Wait(),
|
||||||
WaitForJobs: c.WaitForJobs(),
|
WaitForJobs: c.WaitForJobs(),
|
||||||
|
ReuseValues: c.ReuseValues(),
|
||||||
}
|
}
|
||||||
return subst.SyncReleases(&affectedReleases, helm, c.Values(), c.Concurrency(), &syncOpts)
|
return subst.SyncReleases(&affectedReleases, helm, c.Values(), c.Concurrency(), syncOpts)
|
||||||
}))
|
}))
|
||||||
|
|
||||||
if len(updateErrs) > 0 {
|
if len(updateErrs) > 0 {
|
||||||
|
|
@ -1529,6 +1531,7 @@ func (a *App) diff(r *Run, c DiffConfigProvider) (*string, bool, bool, []error)
|
||||||
NoColor: c.NoColor(),
|
NoColor: c.NoColor(),
|
||||||
Set: c.Set(),
|
Set: c.Set(),
|
||||||
SkipDiffOnInstall: c.SkipDiffOnInstall(),
|
SkipDiffOnInstall: c.SkipDiffOnInstall(),
|
||||||
|
ReuseValues: c.ReuseValues(),
|
||||||
}
|
}
|
||||||
|
|
||||||
filtered := &Run{
|
filtered := &Run{
|
||||||
|
|
@ -1792,6 +1795,7 @@ Do you really want to sync?
|
||||||
SkipCRDs: c.SkipCRDs(),
|
SkipCRDs: c.SkipCRDs(),
|
||||||
Wait: c.Wait(),
|
Wait: c.Wait(),
|
||||||
WaitForJobs: c.WaitForJobs(),
|
WaitForJobs: c.WaitForJobs(),
|
||||||
|
ReuseValues: c.ReuseValues(),
|
||||||
}
|
}
|
||||||
return subst.SyncReleases(&affectedReleases, helm, c.Values(), c.Concurrency(), opts)
|
return subst.SyncReleases(&affectedReleases, helm, c.Values(), c.Concurrency(), opts)
|
||||||
}))
|
}))
|
||||||
|
|
|
||||||
|
|
@ -191,7 +191,7 @@ releases:
|
||||||
{Name: "foo"},
|
{Name: "foo"},
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
error: "",
|
error: "",
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
@ -222,7 +222,7 @@ releases:
|
||||||
{Name: "foo"},
|
{Name: "foo"},
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
error: "",
|
error: "",
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
@ -253,7 +253,7 @@ releases:
|
||||||
{Name: "foo"},
|
{Name: "foo"},
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
error: "",
|
error: "",
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
@ -282,7 +282,7 @@ releases:
|
||||||
},
|
},
|
||||||
selectors: []string{"app=test"},
|
selectors: []string{"app=test"},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: nil,
|
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: nil,
|
||||||
},
|
},
|
||||||
error: "",
|
error: "",
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
@ -329,8 +329,8 @@ releases:
|
||||||
{Name: "bar"},
|
{Name: "bar"},
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "bar", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
error: "",
|
error: "",
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
@ -376,7 +376,7 @@ releases:
|
||||||
{Name: "foo"},
|
{Name: "foo"},
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
error: "",
|
error: "",
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
@ -426,7 +426,7 @@ bar 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 default
|
||||||
{Name: "foo"},
|
{Name: "foo"},
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
error: "",
|
error: "",
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
@ -474,7 +474,7 @@ foo 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 default
|
||||||
{Name: "foo"},
|
{Name: "foo"},
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
error: "",
|
error: "",
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
|
||||||
|
|
@ -205,8 +205,8 @@ releases:
|
||||||
{Name: "my-release", Flags: []string{"--namespace", "default"}},
|
{Name: "my-release", Flags: []string{"--namespace", "default"}},
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^external-secrets$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^external-secrets$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -345,8 +345,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode"}: nil,
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode--reset-values"}: nil,
|
||||||
},
|
},
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
concurrency: 1,
|
concurrency: 1,
|
||||||
|
|
@ -468,9 +468,9 @@ releases:
|
||||||
selectors: []string{"app=test"},
|
selectors: []string{"app=test"},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "kubernetes-external-secrets", Chart: "incubator/raw", Flags: "--namespacekube-system--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "kubernetes-external-secrets", Chart: "incubator/raw", Flags: "--namespacekube-system--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^kubernetes-external-secrets$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^kubernetes-external-secrets$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -611,9 +611,9 @@ releases:
|
||||||
selectors: []string{"app=test"},
|
selectors: []string{"app=test"},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "kubernetes-external-secrets", Chart: "incubator/raw", Flags: "--namespacekube-system--detailed-exitcode"}: nil,
|
{Name: "kubernetes-external-secrets", Chart: "incubator/raw", Flags: "--namespacekube-system--detailed-exitcode--reset-values"}: nil,
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^external-secrets$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^external-secrets$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -759,8 +759,8 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
concurrency: 1,
|
concurrency: 1,
|
||||||
|
|
@ -908,8 +908,8 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
concurrency: 1,
|
concurrency: 1,
|
||||||
|
|
|
||||||
|
|
@ -207,8 +207,8 @@ releases:
|
||||||
{Name: "my-release", Flags: []string{"--kube-context", "default", "--namespace", "default"}},
|
{Name: "my-release", Flags: []string{"--kube-context", "default", "--namespace", "default"}},
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^external-secrets$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^external-secrets$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -347,8 +347,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: nil,
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: nil,
|
||||||
},
|
},
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
concurrency: 1,
|
concurrency: 1,
|
||||||
|
|
@ -470,9 +470,9 @@ releases:
|
||||||
selectors: []string{"app=test"},
|
selectors: []string{"app=test"},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "kubernetes-external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacekube-system--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "kubernetes-external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacekube-system--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^kubernetes-external-secrets$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^kubernetes-external-secrets$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -613,9 +613,9 @@ releases:
|
||||||
selectors: []string{"app=test"},
|
selectors: []string{"app=test"},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "kubernetes-external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacekube-system--detailed-exitcode"}: nil,
|
{Name: "kubernetes-external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacekube-system--detailed-exitcode--reset-values"}: nil,
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^external-secrets$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^external-secrets$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -761,8 +761,8 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
concurrency: 1,
|
concurrency: 1,
|
||||||
|
|
@ -910,8 +910,8 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
concurrency: 1,
|
concurrency: 1,
|
||||||
|
|
@ -1036,9 +1036,9 @@ releases:
|
||||||
selectors: []string{"name=serviceA"},
|
selectors: []string{"name=serviceA"},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "serviceA", Chart: "my/chart", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "serviceA", Chart: "my/chart", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "serviceB", Chart: "my/chart", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "serviceB", Chart: "my/chart", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "serviceC", Chart: "my/chart", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "serviceC", Chart: "my/chart", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^serviceA$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^serviceA$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -1262,7 +1262,7 @@ releases:
|
||||||
selectors: []string{"index=1"},
|
selectors: []string{"index=1"},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -1328,7 +1328,7 @@ releases:
|
||||||
selectors: []string{"name=foo"},
|
selectors: []string{"name=foo"},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
|
||||||
|
|
@ -187,8 +187,8 @@ releases:
|
||||||
},
|
},
|
||||||
selectors: []string{"app=test"},
|
selectors: []string{"app=test"},
|
||||||
diffed: []exectest.Release{
|
diffed: []exectest.Release{
|
||||||
{Name: "external-secrets", Flags: []string{"--kube-context", "default", "--namespace", "default"}},
|
{Name: "external-secrets", Flags: []string{"--kube-context", "default", "--namespace", "default", "--reset-values"}},
|
||||||
{Name: "my-release", Flags: []string{"--kube-context", "default", "--namespace", "default"}},
|
{Name: "my-release", Flags: []string{"--kube-context", "default", "--namespace", "default", "--reset-values"}},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
@ -203,10 +203,10 @@ releases:
|
||||||
selectors: []string{"app=test"},
|
selectors: []string{"app=test"},
|
||||||
diffed: []exectest.Release{
|
diffed: []exectest.Release{
|
||||||
// TODO: Turned out we can't differentiate needs vs transitive needs in this case :thinking:
|
// TODO: Turned out we can't differentiate needs vs transitive needs in this case :thinking:
|
||||||
{Name: "logging", Flags: []string{"--kube-context", "default", "--namespace", "kube-system"}},
|
{Name: "logging", Flags: []string{"--kube-context", "default", "--namespace", "kube-system", "--reset-values"}},
|
||||||
{Name: "kubernetes-external-secrets", Flags: []string{"--kube-context", "default", "--namespace", "kube-system"}},
|
{Name: "kubernetes-external-secrets", Flags: []string{"--kube-context", "default", "--namespace", "kube-system", "--reset-values"}},
|
||||||
{Name: "external-secrets", Flags: []string{"--kube-context", "default", "--namespace", "default"}},
|
{Name: "external-secrets", Flags: []string{"--kube-context", "default", "--namespace", "default", "--reset-values"}},
|
||||||
{Name: "my-release", Flags: []string{"--kube-context", "default", "--namespace", "default"}},
|
{Name: "my-release", Flags: []string{"--kube-context", "default", "--namespace", "default", "--reset-values"}},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
@ -220,10 +220,10 @@ releases:
|
||||||
error: ``,
|
error: ``,
|
||||||
selectors: []string{"app=test"},
|
selectors: []string{"app=test"},
|
||||||
diffed: []exectest.Release{
|
diffed: []exectest.Release{
|
||||||
{Name: "logging", Flags: []string{"--kube-context", "default", "--namespace", "kube-system"}},
|
{Name: "logging", Flags: []string{"--kube-context", "default", "--namespace", "kube-system", "--reset-values"}},
|
||||||
{Name: "kubernetes-external-secrets", Flags: []string{"--kube-context", "default", "--namespace", "kube-system"}},
|
{Name: "kubernetes-external-secrets", Flags: []string{"--kube-context", "default", "--namespace", "kube-system", "--reset-values"}},
|
||||||
{Name: "external-secrets", Flags: []string{"--kube-context", "default", "--namespace", "default"}},
|
{Name: "external-secrets", Flags: []string{"--kube-context", "default", "--namespace", "default", "--reset-values"}},
|
||||||
{Name: "my-release", Flags: []string{"--kube-context", "default", "--namespace", "default"}},
|
{Name: "my-release", Flags: []string{"--kube-context", "default", "--namespace", "default", "--reset-values"}},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
@ -236,7 +236,7 @@ releases:
|
||||||
},
|
},
|
||||||
selectors: []string{"name=test2"},
|
selectors: []string{"name=test2"},
|
||||||
diffed: []exectest.Release{
|
diffed: []exectest.Release{
|
||||||
{Name: "test2", Flags: []string{"--kube-context", "default"}},
|
{Name: "test2", Flags: []string{"--kube-context", "default", "--reset-values"}},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
@ -249,8 +249,8 @@ releases:
|
||||||
},
|
},
|
||||||
selectors: []string{"name=test3"},
|
selectors: []string{"name=test3"},
|
||||||
diffed: []exectest.Release{
|
diffed: []exectest.Release{
|
||||||
{Name: "test2", Flags: []string{"--kube-context", "default"}},
|
{Name: "test2", Flags: []string{"--kube-context", "default", "--reset-values"}},
|
||||||
{Name: "test3", Flags: []string{"--kube-context", "default"}},
|
{Name: "test3", Flags: []string{"--kube-context", "default", "--reset-values"}},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
@ -264,8 +264,8 @@ releases:
|
||||||
},
|
},
|
||||||
selectors: []string{"name=test3"},
|
selectors: []string{"name=test3"},
|
||||||
diffed: []exectest.Release{
|
diffed: []exectest.Release{
|
||||||
{Name: "test2", Flags: []string{"--kube-context", "default"}},
|
{Name: "test2", Flags: []string{"--kube-context", "default", "--reset-values"}},
|
||||||
{Name: "test3", Flags: []string{"--kube-context", "default"}},
|
{Name: "test3", Flags: []string{"--kube-context", "default", "--reset-values"}},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
@ -279,7 +279,7 @@ releases:
|
||||||
},
|
},
|
||||||
selectors: []string{"name=test2"},
|
selectors: []string{"name=test2"},
|
||||||
diffed: []exectest.Release{
|
diffed: []exectest.Release{
|
||||||
{Name: "test2", Flags: []string{"--kube-context", "default"}},
|
{Name: "test2", Flags: []string{"--kube-context", "default", "--reset-values"}},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
@ -293,8 +293,8 @@ releases:
|
||||||
},
|
},
|
||||||
selectors: []string{"name=test3"},
|
selectors: []string{"name=test3"},
|
||||||
diffed: []exectest.Release{
|
diffed: []exectest.Release{
|
||||||
{Name: "test2", Flags: []string{"--kube-context", "default"}},
|
{Name: "test2", Flags: []string{"--kube-context", "default", "--reset-values"}},
|
||||||
{Name: "test3", Flags: []string{"--kube-context", "default"}},
|
{Name: "test3", Flags: []string{"--kube-context", "default", "--reset-values"}},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
@ -307,8 +307,8 @@ releases:
|
||||||
},
|
},
|
||||||
selectors: []string{"app=test"},
|
selectors: []string{"app=test"},
|
||||||
diffed: []exectest.Release{
|
diffed: []exectest.Release{
|
||||||
{Name: "external-secrets", Flags: []string{"--kube-context", "default", "--namespace", "default", "--no-hooks"}},
|
{Name: "external-secrets", Flags: []string{"--kube-context", "default", "--namespace", "default", "--no-hooks", "--reset-values"}},
|
||||||
{Name: "my-release", Flags: []string{"--kube-context", "default", "--namespace", "default", "--no-hooks"}},
|
{Name: "my-release", Flags: []string{"--kube-context", "default", "--namespace", "default", "--no-hooks", "--reset-values"}},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
@ -444,7 +444,7 @@ foo 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 default
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffed: []exectest.Release{
|
diffed: []exectest.Release{
|
||||||
{Name: "a", Flags: []string{"--kube-context", "default", "--namespace", "default"}},
|
{Name: "a", Flags: []string{"--kube-context", "default", "--namespace", "default", "--reset-values"}},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -2330,6 +2330,7 @@ type applyConfig struct {
|
||||||
logger *zap.SugaredLogger
|
logger *zap.SugaredLogger
|
||||||
wait bool
|
wait bool
|
||||||
waitForJobs bool
|
waitForJobs bool
|
||||||
|
reuseValues bool
|
||||||
|
|
||||||
// template-only options
|
// template-only options
|
||||||
includeCRDs, skipTests bool
|
includeCRDs, skipTests bool
|
||||||
|
|
@ -2465,6 +2466,10 @@ func (a applyConfig) OutputDirTemplate() string {
|
||||||
return a.outputDirTemplate
|
return a.outputDirTemplate
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a applyConfig) ReuseValues() bool {
|
||||||
|
return a.reuseValues
|
||||||
|
}
|
||||||
|
|
||||||
type depsConfig struct {
|
type depsConfig struct {
|
||||||
skipRepos bool
|
skipRepos bool
|
||||||
includeTransitiveNeeds bool
|
includeTransitiveNeeds bool
|
||||||
|
|
@ -2840,16 +2845,16 @@ releases:
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
// noop on frontend-v2
|
// noop on frontend-v2
|
||||||
{Name: "frontend-v2", Chart: "charts/frontend", Flags: "--kube-contextdefault--detailed-exitcode"}: nil,
|
{Name: "frontend-v2", Chart: "charts/frontend", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: nil,
|
||||||
// install frontend-v3
|
// install frontend-v3
|
||||||
{Name: "frontend-v3", Chart: "charts/frontend", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "frontend-v3", Chart: "charts/frontend", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
// upgrades
|
// upgrades
|
||||||
{Name: "logging", Chart: "charts/fluent-bit", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "logging", Chart: "charts/fluent-bit", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "front-proxy", Chart: "stable/envoy", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "front-proxy", Chart: "stable/envoy", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "servicemesh", Chart: "charts/istio", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "servicemesh", Chart: "charts/istio", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "database", Chart: "charts/mysql", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "database", Chart: "charts/mysql", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "backend-v2", Chart: "charts/backend", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "backend-v2", Chart: "charts/backend", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "anotherbackend", Chart: "charts/anotherbackend", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "anotherbackend", Chart: "charts/anotherbackend", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
// delete frontend-v1 and backend-v1
|
// delete frontend-v1 and backend-v1
|
||||||
|
|
@ -2915,7 +2920,7 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: nil,
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: nil,
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: ``,
|
{Filter: "^foo$", Flags: helmV2ListFlags}: ``,
|
||||||
|
|
@ -2946,9 +2951,9 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "baz", Chart: "stable/mychart3", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "baz", Chart: "stable/mychart3", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{},
|
lists: map[exectest.ListKey]string{},
|
||||||
upgraded: []exectest.Release{
|
upgraded: []exectest.Release{
|
||||||
|
|
@ -2982,9 +2987,9 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "baz", Chart: "stable/mychart3", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "baz", Chart: "stable/mychart3", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--disable-validation--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "stable/mychart1", Flags: "--disable-validation--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--disable-validation--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--disable-validation--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: ``,
|
{Filter: "^foo$", Flags: helmV2ListFlags}: ``,
|
||||||
|
|
@ -3093,8 +3098,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "baz", Chart: "stable/mychart3", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "baz", Chart: "stable/mychart3", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--disable-validation--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--disable-validation--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: ``,
|
{Filter: "^foo$", Flags: helmV2ListFlags}: ``,
|
||||||
|
|
@ -3197,8 +3202,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{
|
upgraded: []exectest.Release{
|
||||||
{Name: "bar", Flags: []string{}},
|
{Name: "bar", Flags: []string{}},
|
||||||
|
|
@ -3220,8 +3225,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{
|
upgraded: []exectest.Release{
|
||||||
{Name: "foo", Flags: []string{}},
|
{Name: "foo", Flags: []string{}},
|
||||||
|
|
@ -3244,8 +3249,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--namespacetestNamespace--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--namespacetestNamespace--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--namespacetestNamespace--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--namespacetestNamespace--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{
|
upgraded: []exectest.Release{
|
||||||
{Name: "bar", Flags: []string{}},
|
{Name: "bar", Flags: []string{}},
|
||||||
|
|
@ -3268,8 +3273,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--namespacetestNamespace--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--namespacetestNamespace--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--namespacetestNamespace--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--namespacetestNamespace--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{
|
upgraded: []exectest.Release{
|
||||||
{Name: "foo", Flags: []string{}},
|
{Name: "foo", Flags: []string{}},
|
||||||
|
|
@ -3293,8 +3298,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--namespacens2--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--namespacens2--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{
|
upgraded: []exectest.Release{
|
||||||
{Name: "bar", Flags: []string{"--kube-context", "default", "--namespace", "ns2"}},
|
{Name: "bar", Flags: []string{"--kube-context", "default", "--namespace", "ns2"}},
|
||||||
|
|
@ -3318,8 +3323,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--namespacens2--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--namespacens2--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{
|
upgraded: []exectest.Release{
|
||||||
{Name: "foo", Flags: []string{"--kube-context", "default", "--namespace", "ns1"}},
|
{Name: "foo", Flags: []string{"--kube-context", "default", "--namespace", "ns1"}},
|
||||||
|
|
@ -3346,8 +3351,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--tiller-namespacetns2--kube-contextdefault--namespacens2--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--tiller-namespacetns2--kube-contextdefault--namespacens2--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--tiller-namespacetns1--kube-contextdefault--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "stable/mychart1", Flags: "--tiller-namespacetns1--kube-contextdefault--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{
|
upgraded: []exectest.Release{
|
||||||
{Name: "bar", Flags: []string{"--tiller-namespace", "tns2", "--kube-context", "default", "--namespace", "ns2"}},
|
{Name: "bar", Flags: []string{"--tiller-namespace", "tns2", "--kube-context", "default", "--namespace", "ns2"}},
|
||||||
|
|
@ -3373,8 +3378,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--tiller-namespacetns2--kube-contextdefault--namespacens2--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--tiller-namespacetns2--kube-contextdefault--namespacens2--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--tiller-namespacetns1--kube-contextdefault--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "stable/mychart1", Flags: "--tiller-namespacetns1--kube-contextdefault--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{
|
upgraded: []exectest.Release{
|
||||||
{Name: "foo", Flags: []string{"--tiller-namespace", "tns1", "--kube-context", "default", "--namespace", "ns1"}},
|
{Name: "foo", Flags: []string{"--tiller-namespace", "tns1", "--kube-context", "default", "--namespace", "ns1"}},
|
||||||
|
|
@ -3472,8 +3477,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -3505,8 +3510,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -3540,8 +3545,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -3574,8 +3579,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -3608,8 +3613,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -3642,8 +3647,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -3698,8 +3703,8 @@ releases:
|
||||||
},
|
},
|
||||||
selectors: []string{"app=test"},
|
selectors: []string{"app=test"},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{
|
upgraded: []exectest.Release{
|
||||||
{Name: "external-secrets", Flags: []string{"--kube-context", "default", "--namespace", "default"}},
|
{Name: "external-secrets", Flags: []string{"--kube-context", "default", "--namespace", "default"}},
|
||||||
|
|
@ -3836,8 +3841,8 @@ releases:
|
||||||
},
|
},
|
||||||
selectors: []string{"app=test"},
|
selectors: []string{"app=test"},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
@ -4033,8 +4038,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "baz", Chart: "mychart3", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "baz", Chart: "mychart3", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{},
|
lists: map[exectest.ListKey]string{},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
|
|
@ -4097,8 +4102,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart3", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart3", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{},
|
lists: map[exectest.ListKey]string{},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
|
|
@ -4165,8 +4170,8 @@ releases:
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart3", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart3", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{},
|
lists: map[exectest.ListKey]string{},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
|
|
|
||||||
|
|
@ -75,6 +75,7 @@ type ApplyConfigProvider interface {
|
||||||
concurrencyConfig
|
concurrencyConfig
|
||||||
interactive
|
interactive
|
||||||
loggingConfig
|
loggingConfig
|
||||||
|
valuesControlMode
|
||||||
}
|
}
|
||||||
|
|
||||||
type SyncConfigProvider interface {
|
type SyncConfigProvider interface {
|
||||||
|
|
@ -97,6 +98,7 @@ type SyncConfigProvider interface {
|
||||||
concurrencyConfig
|
concurrencyConfig
|
||||||
interactive
|
interactive
|
||||||
loggingConfig
|
loggingConfig
|
||||||
|
valuesControlMode
|
||||||
}
|
}
|
||||||
|
|
||||||
type DiffConfigProvider interface {
|
type DiffConfigProvider interface {
|
||||||
|
|
@ -126,6 +128,7 @@ type DiffConfigProvider interface {
|
||||||
DiffOutput() string
|
DiffOutput() string
|
||||||
|
|
||||||
concurrencyConfig
|
concurrencyConfig
|
||||||
|
valuesControlMode
|
||||||
}
|
}
|
||||||
|
|
||||||
type DeleteConfigProvider interface {
|
type DeleteConfigProvider interface {
|
||||||
|
|
@ -243,3 +246,8 @@ type ListConfigProvider interface {
|
||||||
}
|
}
|
||||||
|
|
||||||
type CacheConfigProvider interface{}
|
type CacheConfigProvider interface{}
|
||||||
|
|
||||||
|
// when enable reuse-values, reuse the last release's values and merge in any overrides values.
|
||||||
|
type valuesControlMode interface {
|
||||||
|
ReuseValues() bool
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -105,16 +105,16 @@ releases:
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
// noop on frontend-v2
|
// noop on frontend-v2
|
||||||
{Name: "frontend-v2", Chart: "charts/frontend", Flags: "--detailed-exitcode"}: nil,
|
{Name: "frontend-v2", Chart: "charts/frontend", Flags: "--detailed-exitcode--reset-values"}: nil,
|
||||||
// install frontend-v3
|
// install frontend-v3
|
||||||
{Name: "frontend-v3", Chart: "charts/frontend", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "frontend-v3", Chart: "charts/frontend", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
// upgrades
|
// upgrades
|
||||||
{Name: "logging", Chart: "charts/fluent-bit", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "logging", Chart: "charts/fluent-bit", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "front-proxy", Chart: "stable/envoy", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "front-proxy", Chart: "stable/envoy", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "servicemesh", Chart: "charts/istio", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "servicemesh", Chart: "charts/istio", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "database", Chart: "charts/mysql", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "database", Chart: "charts/mysql", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "backend-v2", Chart: "charts/backend", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "backend-v2", Chart: "charts/backend", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "anotherbackend", Chart: "charts/anotherbackend", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "anotherbackend", Chart: "charts/anotherbackend", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
// delete frontend-v1 and backend-v1
|
// delete frontend-v1 and backend-v1
|
||||||
|
|
@ -151,7 +151,7 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "",
|
error: "",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode"}: nil,
|
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode--reset-values"}: nil,
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: ``,
|
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: ``,
|
||||||
|
|
@ -184,9 +184,9 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "baz", Chart: "mychart3", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "baz", Chart: "mychart3", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{},
|
lists: map[exectest.ListKey]string{},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
|
|
@ -213,8 +213,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
},
|
},
|
||||||
|
|
@ -235,8 +235,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
},
|
},
|
||||||
|
|
@ -258,8 +258,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--namespacetestNamespace--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--namespacetestNamespace--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--namespacetestNamespace--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--namespacetestNamespace--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
},
|
},
|
||||||
|
|
@ -281,8 +281,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--namespacetestNamespace--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--namespacetestNamespace--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--namespacetestNamespace--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--namespacetestNamespace--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
},
|
},
|
||||||
|
|
@ -305,8 +305,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--namespacens2--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--namespacens2--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
},
|
},
|
||||||
|
|
@ -329,8 +329,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--namespacens2--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--namespacens2--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
},
|
},
|
||||||
|
|
@ -356,8 +356,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--tiller-namespacetns2--namespacens2--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--tiller-namespacetns2--namespacens2--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--tiller-namespacetns1--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--tiller-namespacetns1--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
},
|
},
|
||||||
|
|
@ -382,8 +382,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--tiller-namespacetns2--namespacens2--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--tiller-namespacetns2--namespacens2--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--tiller-namespacetns1--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--tiller-namespacetns1--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
@ -408,8 +408,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--namespacens2--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--namespacens2--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
@ -437,8 +437,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -469,8 +469,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -503,8 +503,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -535,8 +535,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: `in ./helmfile.yaml: release "foo" depends on "bar" which does not match the selectors. Please add a selector like "--selector name=bar", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`,
|
error: `in ./helmfile.yaml: release "foo" depends on "bar" which does not match the selectors. Please add a selector like "--selector name=bar", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`,
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -570,8 +570,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -605,8 +605,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -637,8 +637,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: `in ./helmfile.yaml: release "bar" depends on "foo" which does not match the selectors. Please add a selector like "--selector name=foo", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`,
|
error: `in ./helmfile.yaml: release "bar" depends on "foo" which does not match the selectors. Please add a selector like "--selector name=foo", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`,
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -669,8 +669,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlagsWithoutKubeContext}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -720,8 +720,8 @@ releases:
|
||||||
selectors: []string{"app=test"},
|
selectors: []string{"app=test"},
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
@ -761,8 +761,8 @@ releases:
|
||||||
selectors: []string{"app=test"},
|
selectors: []string{"app=test"},
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
@ -960,8 +960,8 @@ releases:
|
||||||
},
|
},
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "baz", Chart: "mychart3", Flags: "--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "baz", Chart: "mychart3", Flags: "--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{},
|
lists: map[exectest.ListKey]string{},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,7 @@ type diffConfig struct {
|
||||||
detailedExitcode bool
|
detailedExitcode bool
|
||||||
interactive bool
|
interactive bool
|
||||||
skipDiffOnInstall bool
|
skipDiffOnInstall bool
|
||||||
|
reuseValues bool
|
||||||
logger *zap.SugaredLogger
|
logger *zap.SugaredLogger
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -144,6 +145,10 @@ func (a diffConfig) RetainValuesFiles() bool {
|
||||||
return a.retainValuesFiles
|
return a.retainValuesFiles
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a diffConfig) ReuseValues() bool {
|
||||||
|
return a.reuseValues
|
||||||
|
}
|
||||||
|
|
||||||
func TestDiff(t *testing.T) {
|
func TestDiff(t *testing.T) {
|
||||||
type flags struct {
|
type flags struct {
|
||||||
skipNeeds bool
|
skipNeeds bool
|
||||||
|
|
@ -236,16 +241,16 @@ releases:
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
// noop on frontend-v2
|
// noop on frontend-v2
|
||||||
{Name: "frontend-v2", Chart: "charts/frontend", Flags: "--kube-contextdefault--detailed-exitcode"}: nil,
|
{Name: "frontend-v2", Chart: "charts/frontend", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: nil,
|
||||||
// install frontend-v3
|
// install frontend-v3
|
||||||
{Name: "frontend-v3", Chart: "charts/frontend", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "frontend-v3", Chart: "charts/frontend", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
// upgrades
|
// upgrades
|
||||||
{Name: "logging", Chart: "charts/fluent-bit", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "logging", Chart: "charts/fluent-bit", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "front-proxy", Chart: "stable/envoy", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "front-proxy", Chart: "stable/envoy", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "servicemesh", Chart: "charts/istio", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "servicemesh", Chart: "charts/istio", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "database", Chart: "charts/mysql", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "database", Chart: "charts/mysql", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "backend-v2", Chart: "charts/backend", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "backend-v2", Chart: "charts/backend", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "anotherbackend", Chart: "charts/anotherbackend", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "anotherbackend", Chart: "charts/anotherbackend", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
// delete frontend-v1 and backend-v1
|
// delete frontend-v1 and backend-v1
|
||||||
|
|
@ -282,7 +287,7 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "",
|
error: "",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: nil,
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: nil,
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: ``,
|
{Filter: "^foo$", Flags: helmV2ListFlags}: ``,
|
||||||
|
|
@ -315,9 +320,9 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "baz", Chart: "mychart3", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "baz", Chart: "mychart3", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{},
|
lists: map[exectest.ListKey]string{},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
|
|
@ -344,8 +349,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
},
|
},
|
||||||
|
|
@ -369,8 +374,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contexthello/world--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contexthello/world--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contexthello/world--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contexthello/world--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
},
|
},
|
||||||
|
|
@ -396,8 +401,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "releaseB", Chart: "mychart2", Flags: "--kube-contextarn:aws:eks:us-east-1:1234567890:cluster/myekscluster--namespacenamespaceA--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "releaseB", Chart: "mychart2", Flags: "--kube-contextarn:aws:eks:us-east-1:1234567890:cluster/myekscluster--namespacenamespaceA--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "releaseA", Chart: "mychart1", Flags: "--kube-contextarn:aws:eks:us-east-1:1234567890:cluster/myekscluster--namespacenamespaceA--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "releaseA", Chart: "mychart1", Flags: "--kube-contextarn:aws:eks:us-east-1:1234567890:cluster/myekscluster--namespacenamespaceA--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
},
|
},
|
||||||
|
|
@ -418,8 +423,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
},
|
},
|
||||||
|
|
@ -441,8 +446,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--namespacetestNamespace--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--namespacetestNamespace--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--namespacetestNamespace--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--namespacetestNamespace--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
},
|
},
|
||||||
|
|
@ -464,8 +469,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--namespacetestNamespace--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--namespacetestNamespace--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--namespacetestNamespace--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--namespacetestNamespace--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
},
|
},
|
||||||
|
|
@ -488,8 +493,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--namespacens2--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--namespacens2--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
},
|
},
|
||||||
|
|
@ -515,8 +520,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--tiller-namespacetns2--kube-contextdefault--namespacens2--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--tiller-namespacetns2--kube-contextdefault--namespacens2--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--tiller-namespacetns1--kube-contextdefault--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--tiller-namespacetns1--kube-contextdefault--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
},
|
},
|
||||||
|
|
@ -541,8 +546,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--tiller-namespacetns2--kube-contextdefault--namespacens2--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--tiller-namespacetns2--kube-contextdefault--namespacens2--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--tiller-namespacetns1--kube-contextdefault--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--tiller-namespacetns1--kube-contextdefault--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
@ -567,8 +572,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--namespacens2--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--namespacens2--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
@ -596,8 +601,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -628,8 +633,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -662,8 +667,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -694,8 +699,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: `in ./helmfile.yaml: release "default//foo" depends on "default//bar" which does not match the selectors. Please add a selector like "--selector name=bar", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`,
|
error: `in ./helmfile.yaml: release "default//foo" depends on "default//bar" which does not match the selectors. Please add a selector like "--selector name=bar", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`,
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -729,8 +734,8 @@ releases:
|
||||||
},
|
},
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -764,8 +769,8 @@ releases:
|
||||||
},
|
},
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -796,8 +801,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: `in ./helmfile.yaml: release "default//bar" depends on "default//foo" which does not match the selectors. Please add a selector like "--selector name=foo", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`,
|
error: `in ./helmfile.yaml: release "default//bar" depends on "default//foo" which does not match the selectors. Please add a selector like "--selector name=foo", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`,
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -831,8 +836,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -866,8 +871,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -898,8 +903,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
error: "Identified at least one change",
|
error: "Identified at least one change",
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart2", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{
|
lists: map[exectest.ListKey]string{
|
||||||
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
{Filter: "^foo$", Flags: helmV2ListFlags}: `NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
||||||
|
|
@ -949,8 +954,8 @@ releases:
|
||||||
selectors: []string{"app=test"},
|
selectors: []string{"app=test"},
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
@ -990,8 +995,8 @@ releases:
|
||||||
selectors: []string{"app=test"},
|
selectors: []string{"app=test"},
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "external-secrets", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "my-release", Chart: "incubator/raw", Flags: "--kube-contextdefault--namespacedefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
// as we check for log output, set concurrency to 1 to avoid non-deterministic test result
|
||||||
|
|
@ -1190,8 +1195,8 @@ releases:
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
selectors: []string{"name=foo"},
|
selectors: []string{"name=foo"},
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "bar", Chart: "mychart3", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "bar", Chart: "mychart3", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{},
|
lists: map[exectest.ListKey]string{},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
|
|
@ -1253,8 +1258,8 @@ releases:
|
||||||
},
|
},
|
||||||
detailedExitcode: true,
|
detailedExitcode: true,
|
||||||
diffs: map[exectest.DiffKey]error{
|
diffs: map[exectest.DiffKey]error{
|
||||||
{Name: "baz", Chart: "mychart3", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "baz", Chart: "mychart3", Flags: "--kube-contextdefault--namespacens1--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode"}: helmexec.ExitError{Code: 2},
|
{Name: "foo", Chart: "mychart1", Flags: "--kube-contextdefault--detailed-exitcode--reset-values"}: helmexec.ExitError{Code: 2},
|
||||||
},
|
},
|
||||||
lists: map[exectest.ListKey]string{},
|
lists: map[exectest.ListKey]string{},
|
||||||
upgraded: []exectest.Release{},
|
upgraded: []exectest.Release{},
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,8 @@ type ApplyOptions struct {
|
||||||
Wait bool
|
Wait bool
|
||||||
// WaitForJobs is true if the helm command should wait for the jobs to be completed
|
// WaitForJobs is true if the helm command should wait for the jobs to be completed
|
||||||
WaitForJobs bool
|
WaitForJobs bool
|
||||||
|
// ReuseValues is true if the helm command should reuse the values
|
||||||
|
ReuseValues bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewApply creates a new Apply
|
// NewApply creates a new Apply
|
||||||
|
|
@ -202,3 +204,8 @@ func (a *ApplyImpl) Wait() bool {
|
||||||
func (a *ApplyImpl) WaitForJobs() bool {
|
func (a *ApplyImpl) WaitForJobs() bool {
|
||||||
return a.ApplyOptions.WaitForJobs
|
return a.ApplyOptions.WaitForJobs
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ReuseValues returns the ReuseValues.
|
||||||
|
func (a *ApplyImpl) ReuseValues() bool {
|
||||||
|
return a.ApplyOptions.ReuseValues
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,8 @@ type DiffOptions struct {
|
||||||
Context int
|
Context int
|
||||||
// Output is output flag
|
// Output is output flag
|
||||||
Output string
|
Output string
|
||||||
|
// ReuseValues is true if the helm command should reuse the values
|
||||||
|
ReuseValues bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewDiffOptions creates a new Apply
|
// NewDiffOptions creates a new Apply
|
||||||
|
|
@ -162,3 +164,8 @@ func (t *DiffImpl) SuppressDiff() bool {
|
||||||
func (t *DiffImpl) SuppressSecrets() bool {
|
func (t *DiffImpl) SuppressSecrets() bool {
|
||||||
return t.DiffOptions.SuppressSecrets
|
return t.DiffOptions.SuppressSecrets
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ReuseValues returns the ReuseValues.
|
||||||
|
func (t *DiffImpl) ReuseValues() bool {
|
||||||
|
return t.DiffOptions.ReuseValues
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,8 @@ type SyncOptions struct {
|
||||||
Wait bool
|
Wait bool
|
||||||
// WaitForJobs is the wait for jobs flag
|
// WaitForJobs is the wait for jobs flag
|
||||||
WaitForJobs bool
|
WaitForJobs bool
|
||||||
|
// ReuseValues is true if the helm command should reuse the values
|
||||||
|
ReuseValues bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewSyncOptions creates a new Apply
|
// NewSyncOptions creates a new Apply
|
||||||
|
|
@ -110,3 +112,8 @@ func (t *SyncImpl) Wait() bool {
|
||||||
func (t *SyncImpl) WaitForJobs() bool {
|
func (t *SyncImpl) WaitForJobs() bool {
|
||||||
return t.SyncOptions.WaitForJobs
|
return t.SyncOptions.WaitForJobs
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ReuseValues returns the ReuseValues.
|
||||||
|
func (t *SyncImpl) ReuseValues() bool {
|
||||||
|
return t.SyncOptions.ReuseValues
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -241,7 +241,7 @@ func (helm *execer) SyncRelease(context HelmContext, name, chart string, flags .
|
||||||
env["HELM_TILLER_HISTORY_MAX"] = strconv.Itoa(context.HistoryMax)
|
env["HELM_TILLER_HISTORY_MAX"] = strconv.Itoa(context.HistoryMax)
|
||||||
}
|
}
|
||||||
|
|
||||||
out, err := helm.exec(append(append(preArgs, "upgrade", "--install", "--reset-values", name, chart), flags...), env, nil)
|
out, err := helm.exec(append(append(preArgs, "upgrade", "--install", name, chart), flags...), env, nil)
|
||||||
helm.write(nil, out)
|
helm.write(nil, out)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
@ -422,7 +422,7 @@ func (helm *execer) DiffRelease(context HelmContext, name, chart string, suppres
|
||||||
enableLiveOutput := false
|
enableLiveOutput := false
|
||||||
overrideEnableLiveOutput = &enableLiveOutput
|
overrideEnableLiveOutput = &enableLiveOutput
|
||||||
}
|
}
|
||||||
out, err := helm.exec(append(append(preArgs, "diff", "upgrade", "--reset-values", "--allow-unreleased", name, chart), flags...), env, overrideEnableLiveOutput)
|
out, err := helm.exec(append(append(preArgs, "diff", "upgrade", "--allow-unreleased", name, chart), flags...), env, overrideEnableLiveOutput)
|
||||||
// Do our best to write STDOUT only when diff existed
|
// Do our best to write STDOUT only when diff existed
|
||||||
// Unfortunately, this works only when you run helmfile with `--detailed-exitcode`
|
// Unfortunately, this works only when you run helmfile with `--detailed-exitcode`
|
||||||
detailedExitcodeEnabled := false
|
detailedExitcodeEnabled := false
|
||||||
|
|
|
||||||
|
|
@ -254,7 +254,7 @@ func Test_SyncRelease(t *testing.T) {
|
||||||
helm := MockExecer(logger, "dev")
|
helm := MockExecer(logger, "dev")
|
||||||
err := helm.SyncRelease(HelmContext{}, "release", "chart", "--timeout 10", "--wait", "--wait-for-jobs")
|
err := helm.SyncRelease(HelmContext{}, "release", "chart", "--timeout 10", "--wait", "--wait-for-jobs")
|
||||||
expected := `Upgrading release=release, chart=chart
|
expected := `Upgrading release=release, chart=chart
|
||||||
exec: helm --kube-context dev upgrade --install --reset-values release chart --timeout 10 --wait --wait-for-jobs
|
exec: helm --kube-context dev upgrade --install release chart --timeout 10 --wait --wait-for-jobs
|
||||||
`
|
`
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error: %v", err)
|
t.Errorf("unexpected error: %v", err)
|
||||||
|
|
@ -266,7 +266,7 @@ exec: helm --kube-context dev upgrade --install --reset-values release chart --t
|
||||||
buffer.Reset()
|
buffer.Reset()
|
||||||
err = helm.SyncRelease(HelmContext{}, "release", "chart")
|
err = helm.SyncRelease(HelmContext{}, "release", "chart")
|
||||||
expected = `Upgrading release=release, chart=chart
|
expected = `Upgrading release=release, chart=chart
|
||||||
exec: helm --kube-context dev upgrade --install --reset-values release chart
|
exec: helm --kube-context dev upgrade --install release chart
|
||||||
`
|
`
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error: %v", err)
|
t.Errorf("unexpected error: %v", err)
|
||||||
|
|
@ -278,7 +278,7 @@ exec: helm --kube-context dev upgrade --install --reset-values release chart
|
||||||
buffer.Reset()
|
buffer.Reset()
|
||||||
err = helm.SyncRelease(HelmContext{}, "release", "https://example_user:example_password@repo.example.com/chart.tgz")
|
err = helm.SyncRelease(HelmContext{}, "release", "https://example_user:example_password@repo.example.com/chart.tgz")
|
||||||
expected = `Upgrading release=release, chart=https://example_user:xxxxx@repo.example.com/chart.tgz
|
expected = `Upgrading release=release, chart=https://example_user:xxxxx@repo.example.com/chart.tgz
|
||||||
exec: helm --kube-context dev upgrade --install --reset-values release https://example_user:example_password@repo.example.com/chart.tgz
|
exec: helm --kube-context dev upgrade --install release https://example_user:example_password@repo.example.com/chart.tgz
|
||||||
`
|
`
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error: %v", err)
|
t.Errorf("unexpected error: %v", err)
|
||||||
|
|
@ -295,7 +295,7 @@ func Test_SyncReleaseTillerless(t *testing.T) {
|
||||||
err := helm.SyncRelease(HelmContext{Tillerless: true, TillerNamespace: "foo"}, "release", "chart",
|
err := helm.SyncRelease(HelmContext{Tillerless: true, TillerNamespace: "foo"}, "release", "chart",
|
||||||
"--timeout 10", "--wait", "--wait-for-jobs")
|
"--timeout 10", "--wait", "--wait-for-jobs")
|
||||||
expected := `Upgrading release=release, chart=chart
|
expected := `Upgrading release=release, chart=chart
|
||||||
exec: helm --kube-context dev tiller run foo -- helm upgrade --install --reset-values release chart --timeout 10 --wait --wait-for-jobs
|
exec: helm --kube-context dev tiller run foo -- helm upgrade --install release chart --timeout 10 --wait --wait-for-jobs
|
||||||
`
|
`
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error: %v", err)
|
t.Errorf("unexpected error: %v", err)
|
||||||
|
|
@ -460,7 +460,7 @@ func Test_DiffRelease(t *testing.T) {
|
||||||
helm := MockExecer(logger, "dev")
|
helm := MockExecer(logger, "dev")
|
||||||
err := helm.DiffRelease(HelmContext{}, "release", "chart", false, "--timeout 10", "--wait", "--wait-for-jobs")
|
err := helm.DiffRelease(HelmContext{}, "release", "chart", false, "--timeout 10", "--wait", "--wait-for-jobs")
|
||||||
expected := `Comparing release=release, chart=chart
|
expected := `Comparing release=release, chart=chart
|
||||||
exec: helm --kube-context dev diff upgrade --reset-values --allow-unreleased release chart --timeout 10 --wait --wait-for-jobs
|
exec: helm --kube-context dev diff upgrade --allow-unreleased release chart --timeout 10 --wait --wait-for-jobs
|
||||||
`
|
`
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error: %v", err)
|
t.Errorf("unexpected error: %v", err)
|
||||||
|
|
@ -472,7 +472,7 @@ exec: helm --kube-context dev diff upgrade --reset-values --allow-unreleased rel
|
||||||
buffer.Reset()
|
buffer.Reset()
|
||||||
err = helm.DiffRelease(HelmContext{}, "release", "chart", false)
|
err = helm.DiffRelease(HelmContext{}, "release", "chart", false)
|
||||||
expected = `Comparing release=release, chart=chart
|
expected = `Comparing release=release, chart=chart
|
||||||
exec: helm --kube-context dev diff upgrade --reset-values --allow-unreleased release chart
|
exec: helm --kube-context dev diff upgrade --allow-unreleased release chart
|
||||||
`
|
`
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error: %v", err)
|
t.Errorf("unexpected error: %v", err)
|
||||||
|
|
@ -484,7 +484,7 @@ exec: helm --kube-context dev diff upgrade --reset-values --allow-unreleased rel
|
||||||
buffer.Reset()
|
buffer.Reset()
|
||||||
err = helm.DiffRelease(HelmContext{}, "release", "https://example_user:example_password@repo.example.com/chart.tgz", false)
|
err = helm.DiffRelease(HelmContext{}, "release", "https://example_user:example_password@repo.example.com/chart.tgz", false)
|
||||||
expected = `Comparing release=release, chart=https://example_user:xxxxx@repo.example.com/chart.tgz
|
expected = `Comparing release=release, chart=https://example_user:xxxxx@repo.example.com/chart.tgz
|
||||||
exec: helm --kube-context dev diff upgrade --reset-values --allow-unreleased release https://example_user:example_password@repo.example.com/chart.tgz
|
exec: helm --kube-context dev diff upgrade --allow-unreleased release https://example_user:example_password@repo.example.com/chart.tgz
|
||||||
`
|
`
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error: %v", err)
|
t.Errorf("unexpected error: %v", err)
|
||||||
|
|
@ -500,7 +500,7 @@ func Test_DiffReleaseTillerless(t *testing.T) {
|
||||||
helm := MockExecer(logger, "dev")
|
helm := MockExecer(logger, "dev")
|
||||||
err := helm.DiffRelease(HelmContext{Tillerless: true}, "release", "chart", false, "--timeout 10", "--wait", "--wait-for-jobs")
|
err := helm.DiffRelease(HelmContext{Tillerless: true}, "release", "chart", false, "--timeout 10", "--wait", "--wait-for-jobs")
|
||||||
expected := `Comparing release=release, chart=chart
|
expected := `Comparing release=release, chart=chart
|
||||||
exec: helm --kube-context dev tiller run -- helm diff upgrade --reset-values --allow-unreleased release chart --timeout 10 --wait --wait-for-jobs
|
exec: helm --kube-context dev tiller run -- helm diff upgrade --allow-unreleased release chart --timeout 10 --wait --wait-for-jobs
|
||||||
`
|
`
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error: %v", err)
|
t.Errorf("unexpected error: %v", err)
|
||||||
|
|
|
||||||
|
|
@ -572,6 +572,12 @@ func (st *HelmState) prepareSyncReleases(helm helmexec.Interface, additionalValu
|
||||||
flags = append(flags, "--wait-for-jobs")
|
flags = append(flags, "--wait-for-jobs")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if opts.ReuseValues {
|
||||||
|
flags = append(flags, "--reuse-values")
|
||||||
|
} else {
|
||||||
|
flags = append(flags, "--reset-values")
|
||||||
|
}
|
||||||
|
|
||||||
if len(errs) > 0 {
|
if len(errs) > 0 {
|
||||||
results <- syncPrepareResult{errors: errs, files: files}
|
results <- syncPrepareResult{errors: errs, files: files}
|
||||||
continue
|
continue
|
||||||
|
|
@ -648,6 +654,7 @@ type SyncOpts struct {
|
||||||
SkipCRDs bool
|
SkipCRDs bool
|
||||||
Wait bool
|
Wait bool
|
||||||
WaitForJobs bool
|
WaitForJobs bool
|
||||||
|
ReuseValues bool
|
||||||
}
|
}
|
||||||
|
|
||||||
type SyncOpt interface{ Apply(*SyncOpts) }
|
type SyncOpt interface{ Apply(*SyncOpts) }
|
||||||
|
|
@ -1623,10 +1630,10 @@ type diffPrepareResult struct {
|
||||||
upgradeDueToSkippedDiff bool
|
upgradeDueToSkippedDiff bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (st *HelmState) prepareDiffReleases(helm helmexec.Interface, additionalValues []string, concurrency int, detailedExitCode bool, includeTests bool, suppress []string, suppressSecrets bool, showSecrets bool, noHooks bool, opt ...DiffOpt) ([]diffPrepareResult, []error) {
|
func (st *HelmState) prepareDiffReleases(helm helmexec.Interface, additionalValues []string, concurrency int, detailedExitCode bool, includeTests bool, suppress []string, suppressSecrets bool, showSecrets bool, noHooks bool, opts ...DiffOpt) ([]diffPrepareResult, []error) {
|
||||||
opts := &DiffOpts{}
|
opt := &DiffOpts{}
|
||||||
for _, o := range opt {
|
for _, o := range opts {
|
||||||
o.Apply(opts)
|
o.Apply(opt)
|
||||||
}
|
}
|
||||||
|
|
||||||
mu := &sync.Mutex{}
|
mu := &sync.Mutex{}
|
||||||
|
|
@ -1688,7 +1695,7 @@ func (st *HelmState) prepareDiffReleases(helm helmexec.Interface, additionalValu
|
||||||
|
|
||||||
st.ApplyOverrides(release)
|
st.ApplyOverrides(release)
|
||||||
|
|
||||||
if opts.SkipDiffOnInstall && !isInstalled(release) {
|
if opt.SkipDiffOnInstall && !isInstalled(release) {
|
||||||
results <- diffPrepareResult{release: release, upgradeDueToSkippedDiff: true}
|
results <- diffPrepareResult{release: release, upgradeDueToSkippedDiff: true}
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
@ -1740,22 +1747,28 @@ func (st *HelmState) prepareDiffReleases(helm helmexec.Interface, additionalValu
|
||||||
flags = append(flags, "--no-hooks")
|
flags = append(flags, "--no-hooks")
|
||||||
}
|
}
|
||||||
|
|
||||||
if opts.NoColor {
|
if opt.NoColor {
|
||||||
flags = append(flags, "--no-color")
|
flags = append(flags, "--no-color")
|
||||||
} else if opts.Color {
|
} else if opt.Color {
|
||||||
flags = append(flags, "--color")
|
flags = append(flags, "--color")
|
||||||
}
|
}
|
||||||
|
|
||||||
if opts.Context > 0 {
|
if opt.Context > 0 {
|
||||||
flags = append(flags, "--context", fmt.Sprintf("%d", opts.Context))
|
flags = append(flags, "--context", fmt.Sprintf("%d", opt.Context))
|
||||||
}
|
}
|
||||||
|
|
||||||
if opts.Output != "" {
|
if opt.Output != "" {
|
||||||
flags = append(flags, "--output", opts.Output)
|
flags = append(flags, "--output", opt.Output)
|
||||||
}
|
}
|
||||||
|
|
||||||
if opts.Set != nil {
|
if opt.ReuseValues {
|
||||||
for _, s := range opts.Set {
|
flags = append(flags, "--reuse-values")
|
||||||
|
} else {
|
||||||
|
flags = append(flags, "--reset-values")
|
||||||
|
}
|
||||||
|
|
||||||
|
if opt.Set != nil {
|
||||||
|
for _, s := range opt.Set {
|
||||||
flags = append(flags, "--set", s)
|
flags = append(flags, "--set", s)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1839,6 +1852,7 @@ type DiffOpts struct {
|
||||||
Set []string
|
Set []string
|
||||||
SkipCleanup bool
|
SkipCleanup bool
|
||||||
SkipDiffOnInstall bool
|
SkipDiffOnInstall bool
|
||||||
|
ReuseValues bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *DiffOpts) Apply(opts *DiffOpts) {
|
func (o *DiffOpts) Apply(opts *DiffOpts) {
|
||||||
|
|
|
||||||
|
|
@ -1061,7 +1061,7 @@ func TestHelmState_SyncReleases(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
helm: &exectest.Helm{},
|
helm: &exectest.Helm{},
|
||||||
wantReleases: []exectest.Release{{Name: "releaseName", Flags: []string{}}},
|
wantReleases: []exectest.Release{{Name: "releaseName", Flags: []string{"--reset-values"}}},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "with tiller args",
|
name: "with tiller args",
|
||||||
|
|
@ -1073,7 +1073,7 @@ func TestHelmState_SyncReleases(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
helm: &exectest.Helm{},
|
helm: &exectest.Helm{},
|
||||||
wantReleases: []exectest.Release{{Name: "releaseName", Flags: []string{"--tiller-namespace", "tillerns"}}},
|
wantReleases: []exectest.Release{{Name: "releaseName", Flags: []string{"--tiller-namespace", "tillerns", "--reset-values"}}},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "escaped values",
|
name: "escaped values",
|
||||||
|
|
@ -1094,7 +1094,7 @@ func TestHelmState_SyncReleases(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
helm: &exectest.Helm{},
|
helm: &exectest.Helm{},
|
||||||
wantReleases: []exectest.Release{{Name: "releaseName", Flags: []string{"--set", "someList=a\\,b\\,c", "--set", "json=\\{\"name\": \"john\"\\}"}}},
|
wantReleases: []exectest.Release{{Name: "releaseName", Flags: []string{"--set", "someList=a\\,b\\,c", "--set", "json=\\{\"name\": \"john\"\\}", "--reset-values"}}},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "set single value from file",
|
name: "set single value from file",
|
||||||
|
|
@ -1119,7 +1119,7 @@ func TestHelmState_SyncReleases(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
helm: &exectest.Helm{},
|
helm: &exectest.Helm{},
|
||||||
wantReleases: []exectest.Release{{Name: "releaseName", Flags: []string{"--set", "foo=FOO", "--set-file", "bar=path/to/bar", "--set", "baz=BAZ"}}},
|
wantReleases: []exectest.Release{{Name: "releaseName", Flags: []string{"--set", "foo=FOO", "--set-file", "bar=path/to/bar", "--set", "baz=BAZ", "--reset-values"}}},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "set single array value in an array",
|
name: "set single array value in an array",
|
||||||
|
|
@ -1139,7 +1139,7 @@ func TestHelmState_SyncReleases(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
helm: &exectest.Helm{},
|
helm: &exectest.Helm{},
|
||||||
wantReleases: []exectest.Release{{Name: "releaseName", Flags: []string{"--set", "foo.bar[0]={A,B}"}}},
|
wantReleases: []exectest.Release{{Name: "releaseName", Flags: []string{"--set", "foo.bar[0]={A,B}", "--reset-values"}}},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
for i := range tests {
|
for i := range tests {
|
||||||
|
|
@ -1554,7 +1554,7 @@ func TestHelmState_DiffReleases(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
helm: &exectest.Helm{},
|
helm: &exectest.Helm{},
|
||||||
wantReleases: []exectest.Release{{Name: "releaseName", Flags: []string{}}},
|
wantReleases: []exectest.Release{{Name: "releaseName", Flags: []string{"--reset-values"}}},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "with tiller args",
|
name: "with tiller args",
|
||||||
|
|
@ -1566,7 +1566,7 @@ func TestHelmState_DiffReleases(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
helm: &exectest.Helm{},
|
helm: &exectest.Helm{},
|
||||||
wantReleases: []exectest.Release{{Name: "releaseName", Flags: []string{"--tiller-namespace", "tillerns"}}},
|
wantReleases: []exectest.Release{{Name: "releaseName", Flags: []string{"--tiller-namespace", "tillerns", "--reset-values"}}},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "escaped values",
|
name: "escaped values",
|
||||||
|
|
@ -1588,7 +1588,7 @@ func TestHelmState_DiffReleases(t *testing.T) {
|
||||||
},
|
},
|
||||||
helm: &exectest.Helm{},
|
helm: &exectest.Helm{},
|
||||||
wantReleases: []exectest.Release{
|
wantReleases: []exectest.Release{
|
||||||
{Name: "releaseName", Flags: []string{"--set", "someList=a\\,b\\,c", "--set", "json=\\{\"name\": \"john\"\\}"}},
|
{Name: "releaseName", Flags: []string{"--set", "someList=a\\,b\\,c", "--set", "json=\\{\"name\": \"john\"\\}", "--reset-values"}},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -1615,7 +1615,7 @@ func TestHelmState_DiffReleases(t *testing.T) {
|
||||||
},
|
},
|
||||||
helm: &exectest.Helm{},
|
helm: &exectest.Helm{},
|
||||||
wantReleases: []exectest.Release{
|
wantReleases: []exectest.Release{
|
||||||
{Name: "releaseName", Flags: []string{"--set", "foo=FOO", "--set-file", "bar=path/to/bar", "--set", "baz=BAZ"}},
|
{Name: "releaseName", Flags: []string{"--set", "foo=FOO", "--set-file", "bar=path/to/bar", "--set", "baz=BAZ", "--reset-values"}},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -1637,7 +1637,7 @@ func TestHelmState_DiffReleases(t *testing.T) {
|
||||||
},
|
},
|
||||||
helm: &exectest.Helm{},
|
helm: &exectest.Helm{},
|
||||||
wantReleases: []exectest.Release{
|
wantReleases: []exectest.Release{
|
||||||
{Name: "releaseName", Flags: []string{"--set", "foo.bar[0]={A,B}"}},
|
{Name: "releaseName", Flags: []string{"--set", "foo.bar[0]={A,B}", "--reset-values"}},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
@ -2446,6 +2446,102 @@ func TestHelmState_Delete(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestDiffpareSyncReleases(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
flags []string
|
||||||
|
diffOptions *DiffOpts
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "reuse-values",
|
||||||
|
flags: []string{"--reuse-values"},
|
||||||
|
diffOptions: &DiffOpts{
|
||||||
|
ReuseValues: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "reset-values",
|
||||||
|
flags: []string{"--reset-values"},
|
||||||
|
diffOptions: &DiffOpts{},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
release := ReleaseSpec{
|
||||||
|
Name: tt.name,
|
||||||
|
}
|
||||||
|
releases := []ReleaseSpec{
|
||||||
|
release,
|
||||||
|
}
|
||||||
|
state := &HelmState{
|
||||||
|
ReleaseSetSpec: ReleaseSetSpec{
|
||||||
|
Releases: releases,
|
||||||
|
},
|
||||||
|
logger: logger,
|
||||||
|
valsRuntime: valsRuntime,
|
||||||
|
}
|
||||||
|
helm := &exectest.Helm{
|
||||||
|
Lists: map[exectest.ListKey]string{},
|
||||||
|
}
|
||||||
|
results, es := state.prepareDiffReleases(helm, []string{}, 1, false, false, []string{}, false, false, false, tt.diffOptions)
|
||||||
|
|
||||||
|
require.Len(t, es, 0)
|
||||||
|
require.Len(t, results, 1)
|
||||||
|
|
||||||
|
r := results[0]
|
||||||
|
|
||||||
|
require.Equal(t, tt.flags, r.flags)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestPrepareSyncReleases(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
flags []string
|
||||||
|
syncOptions *SyncOpts
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "reuse-values",
|
||||||
|
flags: []string{"--reuse-values"},
|
||||||
|
syncOptions: &SyncOpts{
|
||||||
|
ReuseValues: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "reset-values",
|
||||||
|
flags: []string{"--reset-values"},
|
||||||
|
syncOptions: &SyncOpts{},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
release := ReleaseSpec{
|
||||||
|
Name: tt.name,
|
||||||
|
}
|
||||||
|
releases := []ReleaseSpec{
|
||||||
|
release,
|
||||||
|
}
|
||||||
|
state := &HelmState{
|
||||||
|
ReleaseSetSpec: ReleaseSetSpec{
|
||||||
|
Releases: releases,
|
||||||
|
},
|
||||||
|
logger: logger,
|
||||||
|
valsRuntime: valsRuntime,
|
||||||
|
}
|
||||||
|
helm := &exectest.Helm{
|
||||||
|
Lists: map[exectest.ListKey]string{},
|
||||||
|
}
|
||||||
|
results, es := state.prepareSyncReleases(helm, []string{}, 1, tt.syncOptions)
|
||||||
|
|
||||||
|
require.Len(t, es, 0)
|
||||||
|
require.Len(t, results, 1)
|
||||||
|
|
||||||
|
r := results[0]
|
||||||
|
|
||||||
|
require.Equal(t, tt.flags, r.flags)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestReverse(t *testing.T) {
|
func TestReverse(t *testing.T) {
|
||||||
num := 8
|
num := 8
|
||||||
st := &HelmState{}
|
st := &HelmState{}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue