diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4f3b4db5..b7533c6c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -59,7 +59,6 @@ jobs: plugin-secrets-version: 3.15.0 plugin-diff-version: 3.8.1 extra-helmfile-flags: '' - v1mode: '' - helm-version: v3.16.4 kustomize-version: v5.4.3 # We assume that the helm-secrets plugin is supposed to @@ -70,26 +69,16 @@ jobs: plugin-secrets-version: 4.6.0 plugin-diff-version: 3.9.14 extra-helmfile-flags: '' - v1mode: '' - helm-version: v3.17.1 kustomize-version: v5.2.1 plugin-secrets-version: 3.15.0 plugin-diff-version: 3.8.1 extra-helmfile-flags: '' - v1mode: '' - helm-version: v3.17.1 kustomize-version: v5.4.3 plugin-secrets-version: 4.6.0 plugin-diff-version: 3.9.14 extra-helmfile-flags: '' - v1mode: '' - # Helmfile v1 - - helm-version: v3.17.1 - kustomize-version: v5.4.3 - plugin-secrets-version: 4.6.0 - plugin-diff-version: 3.9.14 - extra-helmfile-flags: '' - v1mode: 'true' # In case you need to test some optional helmfile features, # enable it via extra-helmfile-flags below. - helm-version: v3.17.1 @@ -97,7 +86,6 @@ jobs: plugin-secrets-version: 4.6.0 plugin-diff-version: 3.9.14 extra-helmfile-flags: '--enable-live-output' - v1mode: '' steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 @@ -127,7 +115,6 @@ jobs: HELMFILE_HELM3: 1 TERM: xterm EXTRA_HELMFILE_FLAGS: ${{ matrix.extra-helmfile-flags }} - HELMFILE_V1MODE: ${{ matrix.v1mode }} e2e_tests: needs: tests diff --git a/.github/workflows/releaser.yaml b/.github/workflows/releaser.yaml index ee2f0dc9..fc98bd7c 100644 --- a/.github/workflows/releaser.yaml +++ b/.github/workflows/releaser.yaml @@ -16,7 +16,6 @@ permissions: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - HELMFILE_V1MODE: ${{ startsWith(github.ref, 'refs/tags/v1') }} SNAPSHOT: ${{ !startsWith(github.ref, 'refs/tags/v') && '--snapshot' || '' }} jobs: diff --git a/.goreleaser.yml b/.goreleaser.yml index 6d515513..aba37be9 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -1,8 +1,5 @@ version: 2 project_name: helmfile -env: - # We default to non-v1 mode (=helmfile v0.x behavior) when HELMFILE_V1MODE is not set - - HELMFILE_V1MODE={{ if index .Env "HELMFILE_V1MODE" }}{{ .Env.HELMFILE_V1MODE }}{{ else }}false{{ end }} builds: - id: helmfile main: . @@ -15,7 +12,6 @@ builds: - -X go.szostok.io/version.commit={{.FullCommit}} - -X go.szostok.io/version.commitDate={{.CommitDate}} - -X go.szostok.io/version.dirtyBuild=false - - -X github.com/helmfile/helmfile/pkg/runtime.v1Mode={{.Env.HELMFILE_V1MODE}} goos: - darwin - linux diff --git a/Makefile b/Makefile index 0500bd33..5e009ca0 100644 --- a/Makefile +++ b/Makefile @@ -25,10 +25,6 @@ build: go build -ldflags="$(GO_BUILD_VERSION_LDFLAGS)" ${TARGETS} .PHONY: build -build-v1: - go build -ldflags="$(GO_BUILD_VERSION_LDFLAGS) -X github.com/helmfile/helmfile/pkg/runtime.v1Mode=true" ${TARGETS} -.PHONY: build-v1 - generate: go generate ${PKGS} .PHONY: generate diff --git a/cmd/apply.go b/cmd/apply.go index 9e6cfa47..8cbe4ad9 100644 --- a/cmd/apply.go +++ b/cmd/apply.go @@ -5,7 +5,6 @@ import ( "github.com/helmfile/helmfile/pkg/app" "github.com/helmfile/helmfile/pkg/config" - "github.com/helmfile/helmfile/pkg/runtime" ) // NewApplyCmd returns apply subcmd @@ -44,12 +43,6 @@ func NewApplyCmd(globalCfg *config.GlobalImpl) *cobra.Command { f.StringVar(&applyOptions.DiffArgs, "diff-args", "", `pass args to helm helm-diff`) f.StringVar(&applyOptions.SyncArgs, "sync-args", "", `pass args to helm upgrade`) f.StringVar(&globalCfg.GlobalOptions.Args, "args", "", "pass args to helm exec") - if !runtime.V1Mode { - // TODO: Remove this function once Helmfile v0.x - f.BoolVar(&applyOptions.RetainValuesFiles, "retain-values-files", false, "DEPRECATED: Use skip-cleanup instead") - _ = f.MarkDeprecated("retain-values-files", "Use skip-cleanup instead") - } - f.BoolVar(&applyOptions.SkipCleanup, "skip-cleanup", false, "Stop cleaning up temporary values generated by helmfile and helm-secrets. Useful for debugging. Don't use in production for security") f.BoolVar(&applyOptions.SkipCRDs, "skip-crds", false, "if set, no CRDs will be installed on sync. By default, CRDs are installed if not already present") f.BoolVar(&applyOptions.SkipNeeds, "skip-needs", true, `do not automatically include releases from the target release's "needs" when --selector/-l flag is provided. Does nothing when --selector/-l flag is not provided. Defaults to true when --include-needs or --include-transitive-needs is not provided`) diff --git a/cmd/charts.go b/cmd/charts.go deleted file mode 100644 index cae9d168..00000000 --- a/cmd/charts.go +++ /dev/null @@ -1,41 +0,0 @@ -// TODO: Remove this function once Helmfile v0.x -package cmd - -import ( - "github.com/spf13/cobra" - - "github.com/helmfile/helmfile/pkg/app" - "github.com/helmfile/helmfile/pkg/config" -) - -// NewChartsCmd returns charts subcmd -func NewChartsCmd(globalCfg *config.GlobalImpl) *cobra.Command { - chartsOptions := config.NewChartsOptions() - - cmd := &cobra.Command{ - Use: "charts", - Short: "DEPRECATED: sync releases from state file (helm upgrade --install)", - RunE: func(cmd *cobra.Command, args []string) error { - chartsImpl := config.NewChartsImpl(globalCfg, chartsOptions) - err := config.NewCLIConfigImpl(chartsImpl.GlobalImpl) - if err != nil { - return err - } - - if err := chartsImpl.ValidateConfig(); err != nil { - return err - } - - a := app.New(chartsImpl) - return toCLIError(chartsImpl.GlobalImpl, a.DeprecatedSyncCharts(chartsImpl)) - }, - } - - f := cmd.Flags() - f.StringVar(&globalCfg.GlobalOptions.Args, "args", "", "pass args to helm exec") - f.StringArrayVar(&chartsOptions.Set, "set", nil, "additional values to be merged into the helm command --set flag") - f.StringArrayVar(&chartsOptions.Values, "values", nil, "additional value files to be merged into the helm command --values flag") - f.IntVar(&chartsOptions.Concurrency, "concurrency", 0, "maximum number of concurrent helm processes to run, 0 is unlimited") - - return cmd -} diff --git a/cmd/delete.go b/cmd/delete.go deleted file mode 100644 index 1c89c147..00000000 --- a/cmd/delete.go +++ /dev/null @@ -1,44 +0,0 @@ -// TODO: Remove this function once Helmfile v0.x -package cmd - -import ( - "github.com/spf13/cobra" - - "github.com/helmfile/helmfile/pkg/app" - "github.com/helmfile/helmfile/pkg/config" -) - -// NewDeleteCmd returns delete subcmd -func NewDeleteCmd(globalCfg *config.GlobalImpl) *cobra.Command { - deleteOptions := config.NewDeleteOptions() - - cmd := &cobra.Command{ - Use: "delete", - Short: "DEPRECATED: delete releases from state file (helm delete)", - RunE: func(cmd *cobra.Command, args []string) error { - deleteImpl := config.NewDeleteImpl(globalCfg, deleteOptions) - err := config.NewCLIConfigImpl(deleteImpl.GlobalImpl) - if err != nil { - return err - } - - if err := deleteImpl.ValidateConfig(); err != nil { - return err - } - - a := app.New(deleteImpl) - return toCLIError(deleteImpl.GlobalImpl, a.Delete(deleteImpl)) - }, - } - - f := cmd.Flags() - f.StringVar(&globalCfg.GlobalOptions.Args, "args", "", "pass args to helm exec") - f.StringVar(&deleteOptions.Cascade, "cascade", "", "pass cascade to helm exec, default: background") - f.IntVar(&deleteOptions.Concurrency, "concurrency", 0, "maximum number of concurrent helm processes to run, 0 is unlimited") - f.BoolVar(&deleteOptions.Purge, "purge", false, "purge releases i.e. free release names and histories") - f.BoolVar(&deleteOptions.SkipCharts, "skip-charts", false, "don't prepare charts when deleting releases") - f.BoolVar(&deleteOptions.DeleteWait, "deleteWait", false, `override helmDefaults.wait setting "helm uninstall --wait"`) - f.IntVar(&deleteOptions.DeleteTimeout, "deleteTimeout", 300, `time in seconds to wait for helm uninstall, default: 300`) - - return cmd -} diff --git a/cmd/root.go b/cmd/root.go index f94cd9be..ed629d12 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -109,14 +109,6 @@ func NewRootCmd(globalConfig *config.GlobalOptions) (*cobra.Command, error) { ), ) - // TODO: Remove this function once Helmfile v0.x - if !runtime.V1Mode { - cmd.AddCommand( - NewChartsCmd(globalImpl), - NewDeleteCmd(globalImpl), - ) - } - return cmd, nil } diff --git a/docs/index.md b/docs/index.md index 5af7f7c0..46d574d7 100644 --- a/docs/index.md +++ b/docs/index.md @@ -564,7 +564,6 @@ Helmfile uses some OS environment variables to override default behaviour: * `HELMFILE_ENVIRONMENT` - specify [Helmfile environment](https://helmfile.readthedocs.io/en/latest/#environment), it has lower priority than CLI argument `--environment` * `HELMFILE_TEMPDIR` - specify directory to store temporary files * `HELMFILE_UPGRADE_NOTICE_DISABLED` - expecting any non-empty value to skip the check for the latest version of Helmfile in [helmfile version](https://helmfile.readthedocs.io/en/latest/#version) -* `HELMFILE_V1MODE` - Helmfile v0.x behaves like v1.x with `true`, Helmfile v1.x behaves like v0.x with `false` as value * `HELMFILE_GOCCY_GOYAML` - use *goccy/go-yaml* instead of *gopkg.in/yaml.v2*. It's `false` by default in Helmfile v0.x and `true` by default for Helmfile v1.x. * `HELMFILE_CACHE_HOME` - specify directory to store cached files for remote operations * `HELMFILE_FILE_PATH` - specify the path to the helmfile.yaml file diff --git a/pkg/app/app.go b/pkg/app/app.go index 61e3224e..d5db95fb 100644 --- a/pkg/app/app.go +++ b/pkg/app/app.go @@ -20,7 +20,6 @@ import ( "github.com/helmfile/helmfile/pkg/helmexec" "github.com/helmfile/helmfile/pkg/plugins" "github.com/helmfile/helmfile/pkg/remote" - "github.com/helmfile/helmfile/pkg/runtime" "github.com/helmfile/helmfile/pkg/state" ) @@ -139,25 +138,6 @@ func (a *App) Repos(c ReposConfigProvider) error { }, c.IncludeTransitiveNeeds(), SetFilter(true)) } -// TODO: Remove this function once Helmfile v0.x -func (a *App) DeprecatedSyncCharts(c DeprecatedChartsConfigProvider) error { - return a.ForEachState(func(run *Run) (_ bool, errs []error) { - err := run.withPreparedCharts("charts", state.ChartPrepareOptions{ - SkipRepos: true, - SkipDeps: true, - Concurrency: 2, - }, func() { - errs = run.DeprecatedSyncCharts(c) - }) - - if err != nil { - errs = append(errs, err) - } - - return - }, c.IncludeTransitiveNeeds(), SetFilter(true)) -} - func (a *App) Diff(c DiffConfigProvider) error { var allDiffDetectedErrs []error @@ -410,7 +390,7 @@ func (a *App) Apply(c ApplyConfigProvider) error { var opts []LoadOption - opts = append(opts, SetRetainValuesFiles(c.RetainValuesFiles() || c.SkipCleanup())) + opts = append(opts, SetRetainValuesFiles(c.SkipCleanup())) err := a.ForEachState(func(run *Run) (ok bool, errs []error) { includeCRDs := !c.SkipCRDs() @@ -423,7 +403,7 @@ func (a *App) Apply(c ApplyConfigProvider) error { WaitRetries: c.WaitRetries(), WaitForJobs: c.WaitForJobs(), IncludeCRDs: &includeCRDs, - SkipCleanup: c.RetainValuesFiles() || c.SkipCleanup(), + SkipCleanup: c.SkipCleanup(), Validate: c.Validate(), Concurrency: c.Concurrency(), IncludeTransitiveNeeds: c.IncludeNeeds(), @@ -475,31 +455,6 @@ func (a *App) Status(c StatusesConfigProvider) error { }, false, SetFilter(true)) } -// TODO: Remove this function once Helmfile v0.x -func (a *App) Delete(c DeleteConfigProvider) error { - return a.ForEachState(func(run *Run) (ok bool, errs []error) { - if !c.SkipCharts() { - err := run.withPreparedCharts("delete", state.ChartPrepareOptions{ - SkipRepos: c.SkipRefresh() || c.SkipDeps(), - SkipRefresh: c.SkipRefresh(), - SkipDeps: c.SkipDeps(), - Concurrency: c.Concurrency(), - DeleteWait: c.DeleteWait(), - DeleteTimeout: c.DeleteTimeout(), - }, func() { - ok, errs = a.delete(run, c.Purge(), c) - }) - - if err != nil { - errs = append(errs, err) - } - } else { - ok, errs = a.delete(run, c.Purge(), c) - } - return - }, false, SetReverse(true)) -} - func (a *App) Destroy(c DestroyConfigProvider) error { return a.ForEachState(func(run *Run) (ok bool, errs []error) { if !c.SkipCharts() { @@ -1260,16 +1215,6 @@ func (a *App) findDesiredStateFiles(specifiedPath string, opts LoadOpts) ([]stri case a.fs.FileExistsAt(DefaultGotmplHelmfile): defaultFile = DefaultGotmplHelmfile - - // TODO: Remove this block when we remove v0 code - case !runtime.V1Mode && a.fs.FileExistsAt(DeprecatedHelmfile): - a.Logger.Warnf( - "warn: %s is being loaded: %s is deprecated in favor of %s. See https://github.com/roboll/helmfile/issues/25 for more information", - DeprecatedHelmfile, - DeprecatedHelmfile, - DefaultHelmfile, - ) - defaultFile = DeprecatedHelmfile } switch { @@ -1432,7 +1377,7 @@ func (a *App) apply(r *Run, c ApplyConfigProvider) (bool, bool, []error) { Context: c.Context(), Output: c.DiffOutput(), Set: c.Set(), - SkipCleanup: c.RetainValuesFiles() || c.SkipCleanup(), + SkipCleanup: c.SkipCleanup(), SkipDiffOnInstall: c.SkipDiffOnInstall(), ReuseValues: c.ReuseValues(), ResetValues: c.ResetValues(), @@ -1544,7 +1489,7 @@ Do you really want to apply? syncOpts := &state.SyncOpts{ Set: c.Set(), - SkipCleanup: c.RetainValuesFiles() || c.SkipCleanup(), + SkipCleanup: c.SkipCleanup(), SkipCRDs: c.SkipCRDs(), Wait: c.Wait(), WaitRetries: c.WaitRetries(), diff --git a/pkg/app/app_apply_nokubectx_test.go b/pkg/app/app_apply_nokubectx_test.go index 437a467c..c5ca3bbe 100644 --- a/pkg/app/app_apply_nokubectx_test.go +++ b/pkg/app/app_apply_nokubectx_test.go @@ -146,7 +146,7 @@ func TestApply_3(t *testing.T) { skipNeeds: true, }, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -199,7 +199,7 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def skipNeeds: true, }, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -250,7 +250,7 @@ releases: }, error: ``, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -306,7 +306,7 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def }, error: ``, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -359,7 +359,7 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def }, error: ``, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -415,7 +415,7 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def }, error: ``, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -464,7 +464,7 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def t.Run("bad --selector", func(t *testing.T) { check(t, testcase{ files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -494,72 +494,6 @@ releases: error: "err: no releases found that matches specified selector(app=test_non_existent) and environment(default), in any helmfile", // as we check for log output, set concurrency to 1 to avoid non-deterministic test result concurrency: 1, - log: `processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -merged environment: &{default map[] map[]} -0 release(s) matching app=test_non_existent found in helmfile.yaml - -changing working directory back to "/path/to" -`, }) }) } diff --git a/pkg/app/app_apply_test.go b/pkg/app/app_apply_test.go index 057cd683..06caf828 100644 --- a/pkg/app/app_apply_test.go +++ b/pkg/app/app_apply_test.go @@ -146,7 +146,7 @@ func TestApply_2(t *testing.T) { skipNeeds: true, }, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -199,7 +199,7 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def skipNeeds: true, }, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -250,7 +250,7 @@ releases: }, error: ``, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -306,7 +306,7 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def }, error: ``, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -359,7 +359,7 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def }, error: ``, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -415,7 +415,7 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def }, error: ``, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -470,7 +470,7 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def }, error: ``, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -517,7 +517,7 @@ serviceC 4 Fri Nov 1 08:40:07 2019 DEPLOYED chart-3.1.0 3.1.0 def t.Run("bad --selector", func(t *testing.T) { check(t, testcase{ files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -547,72 +547,6 @@ releases: error: "err: no releases found that matches specified selector(app=test_non_existent) and environment(default), in any helmfile", // as we check for log output, set concurrency to 1 to avoid non-deterministic test result concurrency: 1, - log: `processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -merged environment: &{default map[] map[]} -0 release(s) matching app=test_non_existent found in helmfile.yaml - -changing working directory back to "/path/to" -`, }) }) diff --git a/pkg/app/app_list_test.go b/pkg/app/app_list_test.go index 4cd535ed..69bbc754 100644 --- a/pkg/app/app_list_test.go +++ b/pkg/app/app_list_test.go @@ -240,6 +240,7 @@ environments: values: - myrelease2: enabled: false +--- releases: - name: myrelease1 chart: mychart1 diff --git a/pkg/app/app_sync_test.go b/pkg/app/app_sync_test.go index b138f2fb..5115db1c 100644 --- a/pkg/app/app_sync_test.go +++ b/pkg/app/app_sync_test.go @@ -142,7 +142,7 @@ func TestSync(t *testing.T) { skipNeeds: true, }, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -191,7 +191,7 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def skipNeeds: true, }, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -249,7 +249,7 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def }, error: ``, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -300,7 +300,7 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def }, error: ``, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -348,7 +348,7 @@ serviceA 4 Fri Nov 1 08:40:07 2019 DEPLOYED chart-3.1.0 3.1.0 def }, error: ``, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -401,7 +401,7 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def }, error: ``, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -447,7 +447,7 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def t.Run("bad --selector", func(t *testing.T) { check(t, testcase{ files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: diff --git a/pkg/app/app_test.go b/pkg/app/app_test.go index 90c3f1ce..66eb8829 100644 --- a/pkg/app/app_test.go +++ b/pkg/app/app_test.go @@ -135,6 +135,7 @@ environments: default: values: - env.*.yaml +--- releases: - name: zipkin chart: stable/zipkin @@ -170,7 +171,7 @@ BAZ: 4 t.Errorf("unexpected error: %v", err) } - expectedOrder := []string{"helmfile.yaml", "/path/to/env.1.yaml", "/path/to/env.2.yaml", "/path/to/env.1.yaml", "/path/to/env.2.yaml"} + expectedOrder := []string{"helmfile.yaml", "/path/to/env.1.yaml", "/path/to/env.2.yaml"} actualOrder := fs.SuccessfulReads() if !reflect.DeepEqual(actualOrder, expectedOrder) { t.Errorf("unexpected order of processed state files: expected=%v, actual=%v", expectedOrder, actualOrder) @@ -184,6 +185,7 @@ environments: default: values: - env.*.yaml +--- releases: - name: zipkin chart: stable/zipkin @@ -230,6 +232,7 @@ bases: - base.yaml environments: test: +--- releases: - name: zipkin chart: stable/zipkin @@ -281,6 +284,7 @@ environments: missingFileHandler: %s values: - %s +--- releases: - name: zipkin chart: stable/zipkin @@ -393,7 +397,7 @@ helmfiles: "/path/to/helmfile.d/a1.yaml": ` environments: prod: - +--- releases: - name: zipkin chart: stable/zipkin @@ -799,41 +803,44 @@ func runFilterSubHelmFilesTests(testcases []struct { func TestVisitDesiredStatesWithReleasesFiltered_EmbeddedNestedStateAdditionalEnvValues(t *testing.T) { files := map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` helmfiles: -- path: helmfile.d/a*.yaml +- path: helmfile.d/a*.yaml.gotmpl values: - env.values.yaml -- helmfile.d/b*.yaml -- path: helmfile.d/c*.yaml +- helmfile.d/b*.yaml.gotmpl +- path: helmfile.d/c*.yaml.gotmpl values: - env.values.yaml `, - "/path/to/helmfile.d/a1.yaml": ` + "/path/to/helmfile.d/a1.yaml.gotmpl": ` environments: default: values: - ns: INLINE_NS +--- releases: - name: foo chart: stable/zipkin namespace: {{ .Environment.Values.ns }} `, - "/path/to/helmfile.d/b.yaml": ` + "/path/to/helmfile.d/b.yaml.gotmpl": ` environments: default: values: - ns: INLINE_NS +--- releases: - name: bar chart: stable/grafana namespace: {{ .Environment.Values.ns }} `, - "/path/to/helmfile.d/c.yaml": ` + "/path/to/helmfile.d/c.yaml.gotmpl": ` environments: default: values: - ns: INLINE_NS +--- releases: - name: baz chart: stable/envoy @@ -851,7 +858,7 @@ ns: INLINE_NS Namespace: "", Selectors: []string{}, Env: "default", - FileOrDir: "/path/to/helmfile.yaml", + FileOrDir: "/path/to/helmfile.yaml.gotmpl", }, files) expectNoCallsToHelm(app) @@ -977,7 +984,7 @@ releases: func TestVisitDesiredStatesWithReleasesFiltered_EnvironmentValueOverrides(t *testing.T) { files := map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` environments: default: values: @@ -1021,7 +1028,7 @@ bar: "bar1" Env: "default", ValuesFiles: []string{"overrides.yaml"}, Set: map[string]any{"bar": "bar2", "baz": "baz1"}, - FileOrDir: "helmfile.yaml", + FileOrDir: "helmfile.yaml.gotmpl", }, files) expectNoCallsToHelm(app) @@ -1075,7 +1082,7 @@ func TestVisitDesiredStatesWithReleasesFiltered_StateValueOverrides(t *testing.T testcase := testcases[i] t.Run(fmt.Sprintf("case %d", i), func(t *testing.T) { files := map[string]string{ - "/path/to/helmfile.yaml": fmt.Sprintf(` + "/path/to/helmfile.yaml.gotmpl": fmt.Sprintf(` # The top-level "values" are "base" values has inherited to state values with the lowest priority. # The lowest priority results in environment-specific values to override values defined in the base. values: @@ -1142,7 +1149,7 @@ x: Env: testcase.env, ValuesFiles: []string{"overrides.yaml"}, Set: map[string]any{"x": map[string]any{"hoge": "hoge_set", "fuga": "fuga_set"}}, - FileOrDir: "helmfile.yaml", + FileOrDir: "helmfile.yaml.gotmpl", }, files) expectNoCallsToHelm(app) @@ -1442,7 +1449,7 @@ func TestLoadDesiredStateFromYaml_DuplicateReleaseName(t *testing.T) { } func TestLoadDesiredStateFromYaml_Bases(t *testing.T) { - yamlFile := "/path/to/yaml/file" + yamlFile := "/path/to/yaml/file.gotmpl" yamlContent := `bases: - ../base.yaml - ../base.gotmpl @@ -1513,7 +1520,7 @@ helmDefaults: } func TestLoadDesiredStateFromYaml_MultiPartTemplate(t *testing.T) { - yamlFile := "/path/to/yaml/file" + yamlFile := "/path/to/yaml/file.gotmpl" yamlContent := `bases: - ../base.yaml --- @@ -1719,7 +1726,7 @@ foo: FOO } func TestLoadDesiredStateFromYaml_MultiPartTemplate_WithNonDefaultEnv(t *testing.T) { - yamlFile := "/path/to/yaml/file" + yamlFile := "/path/to/yaml/file.gotmpl" yamlContent := `bases: - ../base.yaml --- @@ -1810,7 +1817,7 @@ helmDefaults: } func TestLoadDesiredStateFromYaml_MultiPartTemplate_WithReverse(t *testing.T) { - yamlFile := "/path/to/yaml/file" + yamlFile := "/path/to/yaml/file.gotmpl" yamlContent := ` {{ readFile "templates.yaml" }} @@ -1868,7 +1875,7 @@ releases: // See https://github.com/roboll/helmfile/issues/615 func TestLoadDesiredStateFromYaml_MultiPartTemplate_NoMergeArrayInEnvVal(t *testing.T) { - statePath := "/path/to/helmfile.yaml" + statePath := "/path/to/helmfile.yaml.gotmpl" stateContent := ` environments: default: @@ -1933,7 +1940,7 @@ func TestLoadDesiredStateFromYaml_MultiPartTemplate_MergeMapsVariousKeys(t *test } for i := range testcases { tc := testcases[i] - statePath := "/path/to/helmfile.yaml" + statePath := "/path/to/helmfile.yaml.gotmpl" stateContent := ` environments: default: @@ -2050,7 +2057,7 @@ releases: } for i := range testcases { tc := testcases[i] - statePath := "/path/to/helmfile.yaml" + statePath := "/path/to/helmfile.yaml.gotmpl" stateContent := fmt.Sprintf(tc.state, tc.expr) testFs := testhelper.NewTestFs(map[string]string{ statePath: stateContent, @@ -2213,9 +2220,6 @@ type applyConfig struct { cascade string values []string - // TODO: Remove this function once Helmfile v0.x - retainValuesFiles bool - set []string validate bool skipCleanup bool @@ -2381,11 +2385,6 @@ func (a applyConfig) Logger() *zap.SugaredLogger { return a.logger } -// TODO: Remove this function once Helmfile v0.x -func (a applyConfig) RetainValuesFiles() bool { - return a.retainValuesFiles -} - func (a applyConfig) SkipDiffOnInstall() bool { return a.skipDiffOnInstall } @@ -3434,7 +3433,7 @@ bar 4 Fri Nov 1 08:40:07 2019 DEPLOYED mychart2-3.1.0 3.1.0 defau skipNeeds: true, }, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -3487,9 +3486,9 @@ my-release 4 Fri Nov 1 08:40:07 2019 DEPLOYED raw-3.1.0 3.1.0 def skipNeeds: false, includeNeeds: true, }, - error: `in ./helmfile.yaml: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`, + error: `in ./helmfile.yaml.gotmpl: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -3528,7 +3527,7 @@ releases: name: "upgrades with bad selector", loc: location(), files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -3779,41 +3778,6 @@ releases: `, "/path/to/charts/example/Chart.yaml": `foo: FOO`, }, - log: `processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: repositories: - 2: - name: bitnami - 3: url: https://charts.bitnami.com/bitnami/ - 4: releases: - 5: - name: example - 6: chart: /path/to/charts/example - 7: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: repositories: - 2: - name: bitnami - 3: url: https://charts.bitnami.com/bitnami/ - 4: releases: - 5: - name: example - 6: chart: /path/to/charts/example - 7: - -merged environment: &{default map[] map[]} -There are no repositories defined in your helmfile.yaml. -This means helmfile cannot update your dependencies or create a lock file. -See https://github.com/roboll/helmfile/issues/878 for more information. -changing working directory back to "/path/to" -`, charts: []string{"/path/to/charts/example"}, }, } @@ -3861,8 +3825,9 @@ changing working directory back to "/path/to" if tc.log != "" { actual := bs.String() - assert.Equal(t, tc.log, actual) + } else { + assertLogEqualsToSnapshot(t, bs.String()) } }) } @@ -3967,6 +3932,7 @@ environments: values: - myrelease2: enabled: false +--- releases: - name: myrelease1 chart: mychart1 @@ -4030,7 +3996,7 @@ func testSetStringValuesTemplate(t *testing.T, goccyGoYaml bool) { }) files := map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` releases: - name: zipkin chart: stable/zipkin @@ -4054,7 +4020,7 @@ releases: OverrideKubeContext: "default", Logger: newAppTestLogger(), Env: "default", - FileOrDir: "helmfile.yaml", + FileOrDir: "helmfile.yaml.gotmpl", }, files) expectNoCallsToHelm(app) @@ -4098,7 +4064,7 @@ func testSetValuesTemplate(t *testing.T, goccyGoYaml bool) { }) files := map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` releases: - name: zipkin chart: stable/zipkin @@ -4126,7 +4092,7 @@ releases: OverrideKubeContext: "default", Logger: newAppTestLogger(), Env: "default", - FileOrDir: "helmfile.yaml", + FileOrDir: "helmfile.yaml.gotmpl", }, files) expectNoCallsToHelm(app) diff --git a/pkg/app/config.go b/pkg/app/config.go index 08bb39cd..9cacaffb 100644 --- a/pkg/app/config.go +++ b/pkg/app/config.go @@ -25,15 +25,6 @@ type ConfigProvider interface { loggingConfig } -// TODO: Remove this function once Helmfile v0.x -type DeprecatedChartsConfigProvider interface { - Values() []string - - concurrencyConfig - loggingConfig - IncludeTransitiveNeeds() bool -} - type DepsConfigProvider interface { Args() string SkipRepos() bool @@ -82,9 +73,6 @@ type ApplyConfigProvider interface { Context() int DiffOutput() string - // TODO: Remove this function once Helmfile v0.x - RetainValuesFiles() bool - Validate() bool SkipCleanup() bool SkipDiffOnInstall() bool @@ -169,23 +157,6 @@ type DiffConfigProvider interface { valuesControlMode } -// TODO: Remove this function once Helmfile v0.x -type DeleteConfigProvider interface { - Args() string - Cascade() string - - Purge() bool - SkipDeps() bool - SkipRefresh() bool - SkipCharts() bool - DeleteWait() bool - DeleteTimeout() int - - interactive - loggingConfig - concurrencyConfig -} - type DestroyConfigProvider interface { Args() string Cascade() string diff --git a/pkg/app/constants.go b/pkg/app/constants.go index 63fd3af7..38d06ce0 100644 --- a/pkg/app/constants.go +++ b/pkg/app/constants.go @@ -8,10 +8,7 @@ import ( ) const ( - DefaultHelmfile = "helmfile.yaml" - // TODO: Remove this function once Helmfile v0.x - DeprecatedHelmfile = "charts.yaml" - + DefaultHelmfile = "helmfile.yaml" DefaultHelmfileDirectory = "helmfile.d" ExperimentalSelectorExplicit = "explicit-selector-inheritance" // value to remove default selector inheritance to sub-helmfiles and use the explicit one ) diff --git a/pkg/app/desired_state_file_loader.go b/pkg/app/desired_state_file_loader.go index 76fa81f5..90986023 100644 --- a/pkg/app/desired_state_file_loader.go +++ b/pkg/app/desired_state_file_loader.go @@ -15,7 +15,6 @@ import ( "github.com/helmfile/helmfile/pkg/helmexec" "github.com/helmfile/helmfile/pkg/policy" "github.com/helmfile/helmfile/pkg/remote" - "github.com/helmfile/helmfile/pkg/runtime" "github.com/helmfile/helmfile/pkg/state" ) @@ -162,21 +161,14 @@ func (a *desiredStateLoader) underlying() *state.StateCreator { func (a *desiredStateLoader) rawLoad(yaml []byte, baseDir, file string, evaluateBases bool, env, overrodeEnv *environment.Environment) (*state.HelmState, error) { var st *state.HelmState var err error - if runtime.V1Mode { - st, err = a.underlying().ParseAndLoad(yaml, baseDir, file, a.env, false, evaluateBases, env, overrodeEnv) - if err != nil { - return nil, err - } - } else { - merged, err := env.Merge(overrodeEnv) - if err != nil { - return nil, err - } + merged, err := env.Merge(overrodeEnv) + if err != nil { + return nil, err + } - st, err = a.underlying().ParseAndLoad(yaml, baseDir, file, a.env, false, evaluateBases, merged, nil) - if err != nil { - return nil, err - } + st, err = a.underlying().ParseAndLoad(yaml, baseDir, file, a.env, false, evaluateBases, merged, nil) + if err != nil { + return nil, err } helmfiles, err := st.ExpandedHelmfiles() if err != nil { @@ -207,7 +199,7 @@ func (ld *desiredStateLoader) load(env, overrodeEnv *environment.Environment, ba var rawContent []byte - if filepath.Ext(filename) == ".gotmpl" || !runtime.V1Mode { + if filepath.Ext(filename) == ".gotmpl" { var yamlBuf *bytes.Buffer var err error diff --git a/pkg/app/diff_nokubectx_test.go b/pkg/app/diff_nokubectx_test.go index cd0239ad..9b2d36c8 100644 --- a/pkg/app/diff_nokubectx_test.go +++ b/pkg/app/diff_nokubectx_test.go @@ -636,7 +636,7 @@ bar 4 Fri Nov 1 08:40:07 2019 DEPLOYED mychart2-3.1.0 3.1.0 defau loc: location(), flags: flags{skipNeeds: true}, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -677,7 +677,7 @@ releases: loc: location(), flags: flags{skipNeeds: false}, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -711,81 +711,14 @@ releases: upgraded: []exectest.Release{}, // as we check for log output, set concurrency to 1 to avoid non-deterministic test result concurrency: 1, - error: `in ./helmfile.yaml: release "default/external-secrets" depends on "kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`, - log: `processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -merged environment: &{default map[] map[]} -2 release(s) matching app=test found in helmfile.yaml - -err: release "default/external-secrets" depends on "kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies -changing working directory back to "/path/to" -`, + error: `in ./helmfile.yaml.gotmpl: release "default/external-secrets" depends on "kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`, }, { // see https://github.com/roboll/helmfile/issues/919#issuecomment-549831747 name: "upgrades with bad selector", loc: location(), files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -817,72 +750,6 @@ releases: error: "err: no releases found that matches specified selector(app=test_non_existent) and environment(default), in any helmfile", // as we check for log output, set concurrency to 1 to avoid non-deterministic test result concurrency: 1, - log: `processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -merged environment: &{default map[] map[]} -0 release(s) matching app=test_non_existent found in helmfile.yaml - -changing working directory back to "/path/to" -`, }, // // error cases @@ -912,46 +779,6 @@ releases: deleted: []exectest.Release{}, concurrency: 1, error: `in ./helmfile.yaml: release(s) "foo" depend(s) on an undefined release "bar". Perhaps you made a typo in "needs" or forgot defining a release named "bar" with appropriate "namespace" and "kubeContext"?`, - log: `processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: baz - 3: namespace: ns1 - 4: chart: mychart3 - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: baz - 3: namespace: ns1 - 4: chart: mychart3 - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - bar - 9: - -merged environment: &{default map[] map[]} -WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs -2 release(s) found in helmfile.yaml - -err: release(s) "foo" depend(s) on an undefined release "bar". Perhaps you made a typo in "needs" or forgot defining a release named "bar" with appropriate "namespace" and "kubeContext"? -changing working directory back to "/path/to" -`, }, } diff --git a/pkg/app/diff_test.go b/pkg/app/diff_test.go index f1987143..372badff 100644 --- a/pkg/app/diff_test.go +++ b/pkg/app/diff_test.go @@ -931,7 +931,7 @@ bar 4 Fri Nov 1 08:40:07 2019 DEPLOYED mychart2-3.1.0 3.1.0 defau loc: location(), flags: flags{skipNeeds: true}, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -972,7 +972,7 @@ releases: loc: location(), flags: flags{skipNeeds: false}, files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -1006,81 +1006,14 @@ releases: upgraded: []exectest.Release{}, // as we check for log output, set concurrency to 1 to avoid non-deterministic test result concurrency: 1, - error: `in ./helmfile.yaml: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`, - log: `processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -merged environment: &{default map[] map[]} -2 release(s) matching app=test found in helmfile.yaml - -err: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies -changing working directory back to "/path/to" -`, + error: `in ./helmfile.yaml.gotmpl: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`, }, { // see https://github.com/roboll/helmfile/issues/919#issuecomment-549831747 name: "upgrades with bad selector", loc: location(), files: map[string]string{ - "/path/to/helmfile.yaml": ` + "/path/to/helmfile.yaml.gotmpl": ` {{ $mark := "a" }} releases: @@ -1112,72 +1045,6 @@ releases: error: "err: no releases found that matches specified selector(app=test_non_existent) and environment(default), in any helmfile", // as we check for log output, set concurrency to 1 to avoid non-deterministic test result concurrency: 1, - log: `processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -merged environment: &{default map[] map[]} -0 release(s) matching app=test_non_existent found in helmfile.yaml - -changing working directory back to "/path/to" -`, }, // // error cases @@ -1208,43 +1075,6 @@ releases: deleted: []exectest.Release{}, concurrency: 1, 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`, - log: `processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart3 - 4: - name: foo - 5: chart: mychart1 - 6: needs: - 7: - bar - 8: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart3 - 4: - name: foo - 5: chart: mychart1 - 6: needs: - 7: - bar - 8: - -merged environment: &{default map[] map[]} -1 release(s) matching name=foo found in helmfile.yaml - -err: 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 -changing working directory back to "/path/to" -`, }, { name: "non-existent release in needs", @@ -1271,46 +1101,6 @@ releases: deleted: []exectest.Release{}, concurrency: 1, error: `in ./helmfile.yaml: release(s) "default//foo" depend(s) on an undefined release "default//bar". Perhaps you made a typo in "needs" or forgot defining a release named "bar" with appropriate "namespace" and "kubeContext"?`, - log: `processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: baz - 3: namespace: ns1 - 4: chart: mychart3 - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: baz - 3: namespace: ns1 - 4: chart: mychart3 - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - bar - 9: - -merged environment: &{default map[] map[]} -WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs -2 release(s) found in helmfile.yaml - -err: release(s) "default//foo" depend(s) on an undefined release "default//bar". Perhaps you made a typo in "needs" or forgot defining a release named "bar" with appropriate "namespace" and "kubeContext"? -changing working directory back to "/path/to" -`, }, } diff --git a/pkg/app/run.go b/pkg/app/run.go index 57484de0..2beab11a 100644 --- a/pkg/app/run.go +++ b/pkg/app/run.go @@ -137,17 +137,6 @@ func (r *Run) Repos(c ReposConfigProvider) error { return r.ctx.SyncReposOnce(r.state, r.helm) } -// TODO: Remove this function once Helmfile v0.x -func (r *Run) DeprecatedSyncCharts(c DeprecatedChartsConfigProvider) []error { - st := r.state - helm := r.helm - - affectedReleases := state.AffectedReleases{} - errs := st.SyncReleases(&affectedReleases, helm, c.Values(), c.Concurrency()) - affectedReleases.DisplayAffectedReleases(c.Logger()) - return errs -} - func (r *Run) diff(triggerCleanupEvent bool, detailedExitCode bool, c DiffConfigProvider, diffOpts *state.DiffOpts) (*string, map[string]state.ReleaseSpec, map[string]state.ReleaseSpec, []error) { st := r.state helm := r.helm diff --git a/pkg/app/testdata/app_diff_test/bad_selector b/pkg/app/testdata/app_diff_test/bad_selector index 9a3ab785..7d03a1f4 100644 --- a/pkg/app/testdata/app_diff_test/bad_selector +++ b/pkg/app/testdata/app_diff_test/bad_selector @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 0 release(s) matching app=test_non_existent found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test/fail_on_unselected_need_by_default b/pkg/app/testdata/app_diff_test/fail_on_unselected_need_by_default index a0113f65..ab53c3ad 100644 --- a/pkg/app/testdata/app_diff_test/fail_on_unselected_need_by_default +++ b/pkg/app/testdata/app_diff_test/fail_on_unselected_need_by_default @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test/include-needs b/pkg/app/testdata/app_diff_test/include-needs index 892b6ea0..58fa9cab 100644 --- a/pkg/app/testdata/app_diff_test/include-needs +++ b/pkg/app/testdata/app_diff_test/include-needs @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test/include-needs_should_not_fail_on_disabled_direct_need b/pkg/app/testdata/app_diff_test/include-needs_should_not_fail_on_disabled_direct_need index 9154b011..368cb842 100644 --- a/pkg/app/testdata/app_diff_test/include-needs_should_not_fail_on_disabled_direct_need +++ b/pkg/app/testdata/app_diff_test/include-needs_should_not_fail_on_disabled_direct_need @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test2 found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test/include-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_diff_test/include-needs_should_not_fail_on_disabled_transitive_need index 84a81703..0396ca0d 100644 --- a/pkg/app/testdata/app_diff_test/include-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_diff_test/include-needs_should_not_fail_on_disabled_transitive_need @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need b/pkg/app/testdata/app_diff_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need index 9154b011..368cb842 100644 --- a/pkg/app/testdata/app_diff_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need +++ b/pkg/app/testdata/app_diff_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test2 found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_diff_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need index 84a81703..0396ca0d 100644 --- a/pkg/app/testdata/app_diff_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_diff_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test/include-transitive-needs b/pkg/app/testdata/app_diff_test/include-transitive-needs index 892b6ea0..58fa9cab 100644 --- a/pkg/app/testdata/app_diff_test/include-transitive-needs +++ b/pkg/app/testdata/app_diff_test/include-transitive-needs @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_diff_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need index 84a81703..0396ca0d 100644 --- a/pkg/app/testdata/app_diff_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_diff_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test/no-hooks b/pkg/app/testdata/app_diff_test/no-hooks index 67ee2936..ceb99f63 100644 --- a/pkg/app/testdata/app_diff_test/no-hooks +++ b/pkg/app/testdata/app_diff_test/no-hooks @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test/show_diff_on_changed_selected_release b/pkg/app/testdata/app_diff_test/show_diff_on_changed_selected_release index a695f222..66b419fa 100644 --- a/pkg/app/testdata/app_diff_test/show_diff_on_changed_selected_release +++ b/pkg/app/testdata/app_diff_test/show_diff_on_changed_selected_release @@ -1,34 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: a - 3: chart: incubator/raw - 4: namespace: default - 5: - name: b - 6: chart: incubator/raw - 7: namespace: default - 8: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: a - 3: chart: incubator/raw - 4: namespace: default - 5: - name: b - 6: chart: incubator/raw - 7: namespace: default - 8: - merged environment: &{default map[] map[]} 1 release(s) matching name=a found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test/shows_no_diff_on_already_uninstalled_selected_release b/pkg/app/testdata/app_diff_test/shows_no_diff_on_already_uninstalled_selected_release index a0a45f09..58d51e49 100644 --- a/pkg/app/testdata/app_diff_test/shows_no_diff_on_already_uninstalled_selected_release +++ b/pkg/app/testdata/app_diff_test/shows_no_diff_on_already_uninstalled_selected_release @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: a - 3: chart: incubator/raw - 4: installed: false - 5: namespace: default - 6: - name: b - 7: chart: incubator/raw - 8: namespace: default - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: a - 3: chart: incubator/raw - 4: installed: false - 5: namespace: default - 6: - name: b - 7: chart: incubator/raw - 8: namespace: default - 9: - merged environment: &{default map[] map[]} 1 release(s) matching name=a found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test/skip-needs b/pkg/app/testdata/app_diff_test/skip-needs index 67ee2936..ceb99f63 100644 --- a/pkg/app/testdata/app_diff_test/skip-needs +++ b/pkg/app/testdata/app_diff_test/skip-needs @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/bar b/pkg/app/testdata/app_diff_test_1/bar index cf0a0bb0..26cad101 100644 --- a/pkg/app/testdata/app_diff_test_1/bar +++ b/pkg/app/testdata/app_diff_test_1/bar @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: namespace: ns1 - 5: needs: - 6: - ns2/bar - 7: - name: bar - 8: chart: mychart2 - 9: namespace: ns2 -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: namespace: ns1 - 5: needs: - 6: - ns2/bar - 7: - name: bar - 8: chart: mychart2 - 9: namespace: ns2 -10: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/delete_bar_when_bar_needs_foo b/pkg/app/testdata/app_diff_test_1/delete_bar_when_bar_needs_foo index 993d71e8..96453206 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_bar_when_bar_needs_foo +++ b/pkg/app/testdata/app_diff_test_1/delete_bar_when_bar_needs_foo @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: - name: bar - 5: chart: mychart2 - 6: installed: false - 7: needs: - 8: - foo - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: - name: bar - 5: chart: mychart2 - 6: installed: false - 7: needs: - 8: - foo - 9: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar b/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar index febbbebd..9afd557d 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar +++ b/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - bar - 9: - merged environment: &{default map[] map[]} WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar_with_include-needs b/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar_with_include-needs index 1ac8c2d3..820af517 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar_with_include-needs +++ b/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar_with_include-needs @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - bar - 9: - merged environment: &{default map[] map[]} WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar_with_skip-needs b/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar_with_skip-needs index 2cae2be4..b79babf5 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar_with_skip-needs +++ b/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar_with_skip-needs @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - bar - 9: - merged environment: &{default map[] map[]} WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/delete_foo_and_bar_when_bar_needs_foo b/pkg/app/testdata/app_diff_test_1/delete_foo_and_bar_when_bar_needs_foo index c623786d..126b04b4 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_foo_and_bar_when_bar_needs_foo +++ b/pkg/app/testdata/app_diff_test_1/delete_foo_and_bar_when_bar_needs_foo @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: needs: - 6: - foo - 7: - name: foo - 8: chart: mychart1 - 9: installed: false -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: needs: - 6: - foo - 7: - name: foo - 8: chart: mychart1 - 9: installed: false -10: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/delete_foo_and_bar_when_foo_needs_bar b/pkg/app/testdata/app_diff_test_1/delete_foo_and_bar_when_foo_needs_bar index 08a2d361..126b04b4 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_foo_and_bar_when_foo_needs_bar +++ b/pkg/app/testdata/app_diff_test_1/delete_foo_and_bar_when_foo_needs_bar @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: - name: foo - 6: chart: mychart1 - 7: installed: false - 8: needs: - 9: - bar -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: - name: foo - 6: chart: mychart1 - 7: installed: false - 8: needs: - 9: - bar -10: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo b/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo index b10dd133..fb673733 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo +++ b/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: installed: false - 5: - name: bar - 6: chart: mychart2 - 7: needs: - 8: - foo - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: installed: false - 5: - name: bar - 6: chart: mychart2 - 7: needs: - 8: - foo - 9: - merged environment: &{default map[] map[]} WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo_with_include-needs b/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo_with_include-needs index c34f7b46..3456f070 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo_with_include-needs +++ b/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo_with_include-needs @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: installed: false - 5: - name: bar - 6: chart: mychart2 - 7: needs: - 8: - foo - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: installed: false - 5: - name: bar - 6: chart: mychart2 - 7: needs: - 8: - foo - 9: - merged environment: &{default map[] map[]} WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo_with_skip-needs b/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo_with_skip-needs index 60002d0c..13f06734 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo_with_skip-needs +++ b/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo_with_skip-needs @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: installed: false - 5: - name: bar - 6: chart: mychart2 - 7: needs: - 8: - foo - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: installed: false - 5: - name: bar - 6: chart: mychart2 - 7: needs: - 8: - foo - 9: - merged environment: &{default map[] map[]} WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/delete_foo_when_foo_needs_bar b/pkg/app/testdata/app_diff_test_1/delete_foo_when_foo_needs_bar index f2e49270..cb7b8fc7 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_foo_when_foo_needs_bar +++ b/pkg/app/testdata/app_diff_test_1/delete_foo_when_foo_needs_bar @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: - name: foo - 5: chart: mychart1 - 6: installed: false - 7: needs: - 8: - bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: - name: foo - 5: chart: mychart1 - 6: installed: false - 7: needs: - 8: - bar - 9: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/helm3_upgrade_when_ns2_bar_needs_ns1_foo b/pkg/app/testdata/app_diff_test_1/helm3_upgrade_when_ns2_bar_needs_ns1_foo index 2c4a2fef..bb76a70e 100644 --- a/pkg/app/testdata/app_diff_test_1/helm3_upgrade_when_ns2_bar_needs_ns1_foo +++ b/pkg/app/testdata/app_diff_test_1/helm3_upgrade_when_ns2_bar_needs_ns1_foo @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: namespace: ns2 - 5: needs: - 6: - ns1/foo - 7: - name: foo - 8: chart: mychart1 - 9: namespace: ns1 -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: namespace: ns2 - 5: needs: - 6: - ns1/foo - 7: - name: foo - 8: chart: mychart1 - 9: namespace: ns1 -10: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/install b/pkg/app/testdata/app_diff_test_1/install index bc8c2830..ba4ef00f 100644 --- a/pkg/app/testdata/app_diff_test_1/install +++ b/pkg/app/testdata/app_diff_test_1/install @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: baz - 3: chart: mychart3 - 4: - name: foo - 5: chart: mychart1 - 6: needs: - 7: - bar - 8: - name: bar - 9: chart: mychart2 -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: baz - 3: chart: mychart3 - 4: - name: foo - 5: chart: mychart1 - 6: needs: - 7: - bar - 8: - name: bar - 9: chart: mychart2 -10: - merged environment: &{default map[] map[]} 3 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/non-existent_release_in_needs b/pkg/app/testdata/app_diff_test_1/non-existent_release_in_needs new file mode 100644 index 00000000..60dead90 --- /dev/null +++ b/pkg/app/testdata/app_diff_test_1/non-existent_release_in_needs @@ -0,0 +1,8 @@ +processing file "helmfile.yaml" in directory "." +changing working directory to "/path/to" +merged environment: &{default map[] map[]} +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs +2 release(s) found in helmfile.yaml + +err: release(s) "default//foo" depend(s) on an undefined release "default//bar". Perhaps you made a typo in "needs" or forgot defining a release named "bar" with appropriate "namespace" and "kubeContext"? +changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_diff_test_1/noop b/pkg/app/testdata/app_diff_test_1/noop index 5c2c5753..beea0d82 100644 --- a/pkg/app/testdata/app_diff_test_1/noop +++ b/pkg/app/testdata/app_diff_test_1/noop @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: - name: foo - 5: chart: mychart1 - 6: installed: false - 7: needs: - 8: - bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: - name: foo - 5: chart: mychart1 - 6: installed: false - 7: needs: - 8: - bar - 9: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/smoke b/pkg/app/testdata/app_diff_test_1/smoke index 37e7141b..bf85c9e5 100644 --- a/pkg/app/testdata/app_diff_test_1/smoke +++ b/pkg/app/testdata/app_diff_test_1/smoke @@ -1,126 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: database - 3: chart: charts/mysql - 4: needs: - 5: - logging - 6: - name: frontend-v1 - 7: chart: charts/frontend - 8: installed: false - 9: needs: -10: - servicemesh -11: - logging -12: - backend-v1 -13: - name: frontend-v2 -14: chart: charts/frontend -15: needs: -16: - servicemesh -17: - logging -18: - backend-v2 -19: - name: frontend-v3 -20: chart: charts/frontend -21: needs: -22: - servicemesh -23: - logging -24: - backend-v2 -25: - name: backend-v1 -26: chart: charts/backend -27: installed: false -28: needs: -29: - servicemesh -30: - logging -31: - database -32: - anotherbackend -33: - name: backend-v2 -34: chart: charts/backend -35: needs: -36: - servicemesh -37: - logging -38: - database -39: - anotherbackend -40: - name: anotherbackend -41: chart: charts/anotherbackend -42: needs: -43: - servicemesh -44: - logging -45: - database -46: - name: servicemesh -47: chart: charts/istio -48: needs: -49: - logging -50: - name: logging -51: chart: charts/fluent-bit -52: - name: front-proxy -53: chart: stable/envoy -54: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: database - 3: chart: charts/mysql - 4: needs: - 5: - logging - 6: - name: frontend-v1 - 7: chart: charts/frontend - 8: installed: false - 9: needs: -10: - servicemesh -11: - logging -12: - backend-v1 -13: - name: frontend-v2 -14: chart: charts/frontend -15: needs: -16: - servicemesh -17: - logging -18: - backend-v2 -19: - name: frontend-v3 -20: chart: charts/frontend -21: needs: -22: - servicemesh -23: - logging -24: - backend-v2 -25: - name: backend-v1 -26: chart: charts/backend -27: installed: false -28: needs: -29: - servicemesh -30: - logging -31: - database -32: - anotherbackend -33: - name: backend-v2 -34: chart: charts/backend -35: needs: -36: - servicemesh -37: - logging -38: - database -39: - anotherbackend -40: - name: anotherbackend -41: chart: charts/anotherbackend -42: needs: -43: - servicemesh -44: - logging -45: - database -46: - name: servicemesh -47: chart: charts/istio -48: needs: -49: - logging -50: - name: logging -51: chart: charts/fluent-bit -52: - name: front-proxy -53: chart: stable/envoy -54: - merged environment: &{default map[] map[]} 10 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/unselected_release_in_needs b/pkg/app/testdata/app_diff_test_1/unselected_release_in_needs new file mode 100644 index 00000000..d82f9d50 --- /dev/null +++ b/pkg/app/testdata/app_diff_test_1/unselected_release_in_needs @@ -0,0 +1,7 @@ +processing file "helmfile.yaml" in directory "." +changing working directory to "/path/to" +merged environment: &{default map[] map[]} +1 release(s) matching name=foo found in helmfile.yaml + +err: 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 +changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_diff_test_1/upgrade_when_bar_needs_foo b/pkg/app/testdata/app_diff_test_1/upgrade_when_bar_needs_foo index 20aae345..e1ade01c 100644 --- a/pkg/app/testdata/app_diff_test_1/upgrade_when_bar_needs_foo +++ b/pkg/app/testdata/app_diff_test_1/upgrade_when_bar_needs_foo @@ -1,34 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: - name: bar - 5: chart: mychart2 - 6: needs: - 7: - foo - 8: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: - name: bar - 5: chart: mychart2 - 6: needs: - 7: - foo - 8: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/upgrade_when_bar_needs_foo,_with_ns_override b/pkg/app/testdata/app_diff_test_1/upgrade_when_bar_needs_foo,_with_ns_override index f78c15ac..37ac4517 100644 --- a/pkg/app/testdata/app_diff_test_1/upgrade_when_bar_needs_foo,_with_ns_override +++ b/pkg/app/testdata/app_diff_test_1/upgrade_when_bar_needs_foo,_with_ns_override @@ -1,34 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: - name: bar - 5: chart: mychart2 - 6: needs: - 7: - foo - 8: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: - name: bar - 5: chart: mychart2 - 6: needs: - 7: - foo - 8: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/upgrade_when_foo_needs_bar b/pkg/app/testdata/app_diff_test_1/upgrade_when_foo_needs_bar index b87bccce..4add017f 100644 --- a/pkg/app/testdata/app_diff_test_1/upgrade_when_foo_needs_bar +++ b/pkg/app/testdata/app_diff_test_1/upgrade_when_foo_needs_bar @@ -1,34 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: - name: foo - 5: chart: mychart1 - 6: needs: - 7: - bar - 8: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: - name: foo - 5: chart: mychart1 - 6: needs: - 7: - bar - 8: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/upgrade_when_foo_needs_bar,_with_ns_override b/pkg/app/testdata/app_diff_test_1/upgrade_when_foo_needs_bar,_with_ns_override index e0d964ad..f54ab275 100644 --- a/pkg/app/testdata/app_diff_test_1/upgrade_when_foo_needs_bar,_with_ns_override +++ b/pkg/app/testdata/app_diff_test_1/upgrade_when_foo_needs_bar,_with_ns_override @@ -1,34 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: - name: foo - 5: chart: mychart1 - 6: needs: - 7: - bar - 8: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: - name: foo - 5: chart: mychart1 - 6: needs: - 7: - bar - 8: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/upgrade_when_foo_needs_bar_with_context_override b/pkg/app/testdata/app_diff_test_1/upgrade_when_foo_needs_bar_with_context_override index bbdfc3d1..358aaaf6 100644 --- a/pkg/app/testdata/app_diff_test_1/upgrade_when_foo_needs_bar_with_context_override +++ b/pkg/app/testdata/app_diff_test_1/upgrade_when_foo_needs_bar_with_context_override @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: helmDefaults: - 2: kubeContext: hello/world - 3: releases: - 4: - name: bar - 5: chart: mychart2 - 6: - name: foo - 7: chart: mychart1 - 8: needs: - 9: - bar -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: helmDefaults: - 2: kubeContext: hello/world - 3: releases: - 4: - name: bar - 5: chart: mychart2 - 6: - name: foo - 7: chart: mychart1 - 8: needs: - 9: - bar -10: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/upgrade_when_releaseb_needs_releasea_with_aws_context b/pkg/app/testdata/app_diff_test_1/upgrade_when_releaseb_needs_releasea_with_aws_context index e6383a6a..1ca95228 100644 --- a/pkg/app/testdata/app_diff_test_1/upgrade_when_releaseb_needs_releasea_with_aws_context +++ b/pkg/app/testdata/app_diff_test_1/upgrade_when_releaseb_needs_releasea_with_aws_context @@ -1,42 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: releaseA - 3: chart: mychart1 - 4: namespace: namespaceA - 5: kubeContext: arn:aws:eks:us-east-1:1234567890:cluster/myekscluster - 6: - name: releaseB - 7: chart: mychart2 - 8: namespace: namespaceA - 9: kubeContext: arn:aws:eks:us-east-1:1234567890:cluster/myekscluster -10: needs: -11: - arn:aws:eks:us-east-1:1234567890:cluster/myekscluster/namespaceA/releaseA -12: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: releaseA - 3: chart: mychart1 - 4: namespace: namespaceA - 5: kubeContext: arn:aws:eks:us-east-1:1234567890:cluster/myekscluster - 6: - name: releaseB - 7: chart: mychart2 - 8: namespace: namespaceA - 9: kubeContext: arn:aws:eks:us-east-1:1234567890:cluster/myekscluster -10: needs: -11: - arn:aws:eks:us-east-1:1234567890:cluster/myekscluster/namespaceA/releaseA -12: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/upgrade_when_tns1_ns1_foo_needs_tns2_ns2_bar b/pkg/app/testdata/app_diff_test_1/upgrade_when_tns1_ns1_foo_needs_tns2_ns2_bar index cf0a0bb0..26cad101 100644 --- a/pkg/app/testdata/app_diff_test_1/upgrade_when_tns1_ns1_foo_needs_tns2_ns2_bar +++ b/pkg/app/testdata/app_diff_test_1/upgrade_when_tns1_ns1_foo_needs_tns2_ns2_bar @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: namespace: ns1 - 5: needs: - 6: - ns2/bar - 7: - name: bar - 8: chart: mychart2 - 9: namespace: ns2 -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: namespace: ns1 - 5: needs: - 6: - ns2/bar - 7: - name: bar - 8: chart: mychart2 - 9: namespace: ns2 -10: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_1/upgrades_with_bad_selector b/pkg/app/testdata/app_diff_test_1/upgrades_with_bad_selector new file mode 100644 index 00000000..8e3e99cf --- /dev/null +++ b/pkg/app/testdata/app_diff_test_1/upgrades_with_bad_selector @@ -0,0 +1,33 @@ +processing file "helmfile.yaml.gotmpl" in directory "." +changing working directory to "/path/to" +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": + 0: + 1: + 2: + 3: releases: + 4: - name: kubernetes-external-secrets + 5: chart: incubator/raw + 6: namespace: kube-system + 7: + 8: - name: external-secrets + 9: chart: incubator/raw +10: namespace: default +11: labels: +12: app: test +13: needs: +14: - kube-system/kubernetes-external-secrets +15: +16: - name: my-release +17: chart: incubator/raw +18: namespace: default +19: labels: +20: app: test +21: needs: +22: - default/external-secrets +23: + +merged environment: &{default map[] map[]} +0 release(s) matching app=test_non_existent found in helmfile.yaml.gotmpl + +changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_diff_test_1/upgrades_with_good_selector_with_--skip-needs=false b/pkg/app/testdata/app_diff_test_1/upgrades_with_good_selector_with_--skip-needs=false new file mode 100644 index 00000000..f29aa140 --- /dev/null +++ b/pkg/app/testdata/app_diff_test_1/upgrades_with_good_selector_with_--skip-needs=false @@ -0,0 +1,34 @@ +processing file "helmfile.yaml.gotmpl" in directory "." +changing working directory to "/path/to" +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": + 0: + 1: + 2: + 3: releases: + 4: - name: kubernetes-external-secrets + 5: chart: incubator/raw + 6: namespace: kube-system + 7: + 8: - name: external-secrets + 9: chart: incubator/raw +10: namespace: default +11: labels: +12: app: test +13: needs: +14: - kube-system/kubernetes-external-secrets +15: +16: - name: my-release +17: chart: incubator/raw +18: namespace: default +19: labels: +20: app: test +21: needs: +22: - default/external-secrets +23: + +merged environment: &{default map[] map[]} +2 release(s) matching app=test found in helmfile.yaml.gotmpl + +err: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies +changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_diff_test_1/upgrades_with_good_selector_with_--skip-needs=true b/pkg/app/testdata/app_diff_test_1/upgrades_with_good_selector_with_--skip-needs=true index 427f901f..6e264062 100644 --- a/pkg/app/testdata/app_diff_test_1/upgrades_with_good_selector_with_--skip-needs=true +++ b/pkg/app/testdata/app_diff_test_1/upgrades_with_good_selector_with_--skip-needs=true @@ -1,39 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -60,7 +28,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 23: merged environment: &{default map[] map[]} -2 release(s) matching app=test found in helmfile.yaml +2 release(s) matching app=test found in helmfile.yaml.gotmpl processing 2 groups of releases in this order: GROUP RELEASES diff --git a/pkg/app/testdata/app_diff_test_2/bar b/pkg/app/testdata/app_diff_test_2/bar index 91ee7d7e..f5cea33b 100644 --- a/pkg/app/testdata/app_diff_test_2/bar +++ b/pkg/app/testdata/app_diff_test_2/bar @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: namespace: ns1 - 5: needs: - 6: - ns2/bar - 7: - name: bar - 8: chart: mychart2 - 9: namespace: ns2 -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: namespace: ns1 - 5: needs: - 6: - ns2/bar - 7: - name: bar - 8: chart: mychart2 - 9: namespace: ns2 -10: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/delete_bar_when_bar_needs_foo b/pkg/app/testdata/app_diff_test_2/delete_bar_when_bar_needs_foo index 4e540849..7867ad46 100644 --- a/pkg/app/testdata/app_diff_test_2/delete_bar_when_bar_needs_foo +++ b/pkg/app/testdata/app_diff_test_2/delete_bar_when_bar_needs_foo @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: - name: bar - 5: chart: mychart2 - 6: installed: false - 7: needs: - 8: - foo - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: - name: bar - 5: chart: mychart2 - 6: installed: false - 7: needs: - 8: - foo - 9: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar b/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar index f3a1cd0f..e0bc8dea 100644 --- a/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar +++ b/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - bar - 9: - merged environment: &{default map[] map[]} WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar_with_include-needs b/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar_with_include-needs index 451d5aba..f08db1b7 100644 --- a/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar_with_include-needs +++ b/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar_with_include-needs @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - bar - 9: - merged environment: &{default map[] map[]} WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar_with_skip-needs b/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar_with_skip-needs index a54fce36..03791661 100644 --- a/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar_with_skip-needs +++ b/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar_with_skip-needs @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - bar - 9: - merged environment: &{default map[] map[]} WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/delete_foo_and_bar_when_bar_needs_foo b/pkg/app/testdata/app_diff_test_2/delete_foo_and_bar_when_bar_needs_foo index c623786d..126b04b4 100644 --- a/pkg/app/testdata/app_diff_test_2/delete_foo_and_bar_when_bar_needs_foo +++ b/pkg/app/testdata/app_diff_test_2/delete_foo_and_bar_when_bar_needs_foo @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: needs: - 6: - foo - 7: - name: foo - 8: chart: mychart1 - 9: installed: false -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: needs: - 6: - foo - 7: - name: foo - 8: chart: mychart1 - 9: installed: false -10: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/delete_foo_and_bar_when_foo_needs_bar b/pkg/app/testdata/app_diff_test_2/delete_foo_and_bar_when_foo_needs_bar index 08a2d361..126b04b4 100644 --- a/pkg/app/testdata/app_diff_test_2/delete_foo_and_bar_when_foo_needs_bar +++ b/pkg/app/testdata/app_diff_test_2/delete_foo_and_bar_when_foo_needs_bar @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: - name: foo - 6: chart: mychart1 - 7: installed: false - 8: needs: - 9: - bar -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: installed: false - 5: - name: foo - 6: chart: mychart1 - 7: installed: false - 8: needs: - 9: - bar -10: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/delete_foo_when_bar_needs_foo b/pkg/app/testdata/app_diff_test_2/delete_foo_when_bar_needs_foo index f4cc93bd..52e9c63e 100644 --- a/pkg/app/testdata/app_diff_test_2/delete_foo_when_bar_needs_foo +++ b/pkg/app/testdata/app_diff_test_2/delete_foo_when_bar_needs_foo @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: installed: false - 5: - name: bar - 6: chart: mychart2 - 7: needs: - 8: - foo - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: installed: false - 5: - name: bar - 6: chart: mychart2 - 7: needs: - 8: - foo - 9: - merged environment: &{default map[] map[]} WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/delete_foo_when_foo_needs_bar b/pkg/app/testdata/app_diff_test_2/delete_foo_when_foo_needs_bar index 8c2fb60c..b897150f 100644 --- a/pkg/app/testdata/app_diff_test_2/delete_foo_when_foo_needs_bar +++ b/pkg/app/testdata/app_diff_test_2/delete_foo_when_foo_needs_bar @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: - name: foo - 5: chart: mychart1 - 6: installed: false - 7: needs: - 8: - bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: - name: foo - 5: chart: mychart1 - 6: installed: false - 7: needs: - 8: - bar - 9: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/foo b/pkg/app/testdata/app_diff_test_2/foo index 7cdf3a2e..2638d8ff 100644 --- a/pkg/app/testdata/app_diff_test_2/foo +++ b/pkg/app/testdata/app_diff_test_2/foo @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: namespace: ns2 - 5: needs: - 6: - ns1/foo - 7: - name: foo - 8: chart: mychart1 - 9: namespace: ns1 -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: namespace: ns2 - 5: needs: - 6: - ns1/foo - 7: - name: foo - 8: chart: mychart1 - 9: namespace: ns1 -10: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/helm3_upgrade_when_ns2_bar_needs_ns1_foo b/pkg/app/testdata/app_diff_test_2/helm3_upgrade_when_ns2_bar_needs_ns1_foo index 7cdf3a2e..2638d8ff 100644 --- a/pkg/app/testdata/app_diff_test_2/helm3_upgrade_when_ns2_bar_needs_ns1_foo +++ b/pkg/app/testdata/app_diff_test_2/helm3_upgrade_when_ns2_bar_needs_ns1_foo @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: namespace: ns2 - 5: needs: - 6: - ns1/foo - 7: - name: foo - 8: chart: mychart1 - 9: namespace: ns1 -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: namespace: ns2 - 5: needs: - 6: - ns1/foo - 7: - name: foo - 8: chart: mychart1 - 9: namespace: ns1 -10: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/install b/pkg/app/testdata/app_diff_test_2/install index 95591b3a..55f951fc 100644 --- a/pkg/app/testdata/app_diff_test_2/install +++ b/pkg/app/testdata/app_diff_test_2/install @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: baz - 3: chart: mychart3 - 4: - name: foo - 5: chart: mychart1 - 6: needs: - 7: - bar - 8: - name: bar - 9: chart: mychart2 -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: baz - 3: chart: mychart3 - 4: - name: foo - 5: chart: mychart1 - 6: needs: - 7: - bar - 8: - name: bar - 9: chart: mychart2 -10: - merged environment: &{default map[] map[]} 3 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/non-existent_release_in_needs b/pkg/app/testdata/app_diff_test_2/non-existent_release_in_needs new file mode 100644 index 00000000..34aaed69 --- /dev/null +++ b/pkg/app/testdata/app_diff_test_2/non-existent_release_in_needs @@ -0,0 +1,8 @@ +processing file "helmfile.yaml" in directory "." +changing working directory to "/path/to" +merged environment: &{default map[] map[]} +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs +2 release(s) found in helmfile.yaml + +err: release(s) "foo" depend(s) on an undefined release "bar". Perhaps you made a typo in "needs" or forgot defining a release named "bar" with appropriate "namespace" and "kubeContext"? +changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_diff_test_2/noop b/pkg/app/testdata/app_diff_test_2/noop index 4bb79c7f..3f843e50 100644 --- a/pkg/app/testdata/app_diff_test_2/noop +++ b/pkg/app/testdata/app_diff_test_2/noop @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: - name: foo - 5: chart: mychart1 - 6: installed: false - 7: needs: - 8: - bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: - name: foo - 5: chart: mychart1 - 6: installed: false - 7: needs: - 8: - bar - 9: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/smoke b/pkg/app/testdata/app_diff_test_2/smoke index 736c9795..d77b29ed 100644 --- a/pkg/app/testdata/app_diff_test_2/smoke +++ b/pkg/app/testdata/app_diff_test_2/smoke @@ -1,126 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: database - 3: chart: charts/mysql - 4: needs: - 5: - logging - 6: - name: frontend-v1 - 7: chart: charts/frontend - 8: installed: false - 9: needs: -10: - servicemesh -11: - logging -12: - backend-v1 -13: - name: frontend-v2 -14: chart: charts/frontend -15: needs: -16: - servicemesh -17: - logging -18: - backend-v2 -19: - name: frontend-v3 -20: chart: charts/frontend -21: needs: -22: - servicemesh -23: - logging -24: - backend-v2 -25: - name: backend-v1 -26: chart: charts/backend -27: installed: false -28: needs: -29: - servicemesh -30: - logging -31: - database -32: - anotherbackend -33: - name: backend-v2 -34: chart: charts/backend -35: needs: -36: - servicemesh -37: - logging -38: - database -39: - anotherbackend -40: - name: anotherbackend -41: chart: charts/anotherbackend -42: needs: -43: - servicemesh -44: - logging -45: - database -46: - name: servicemesh -47: chart: charts/istio -48: needs: -49: - logging -50: - name: logging -51: chart: charts/fluent-bit -52: - name: front-proxy -53: chart: stable/envoy -54: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: database - 3: chart: charts/mysql - 4: needs: - 5: - logging - 6: - name: frontend-v1 - 7: chart: charts/frontend - 8: installed: false - 9: needs: -10: - servicemesh -11: - logging -12: - backend-v1 -13: - name: frontend-v2 -14: chart: charts/frontend -15: needs: -16: - servicemesh -17: - logging -18: - backend-v2 -19: - name: frontend-v3 -20: chart: charts/frontend -21: needs: -22: - servicemesh -23: - logging -24: - backend-v2 -25: - name: backend-v1 -26: chart: charts/backend -27: installed: false -28: needs: -29: - servicemesh -30: - logging -31: - database -32: - anotherbackend -33: - name: backend-v2 -34: chart: charts/backend -35: needs: -36: - servicemesh -37: - logging -38: - database -39: - anotherbackend -40: - name: anotherbackend -41: chart: charts/anotherbackend -42: needs: -43: - servicemesh -44: - logging -45: - database -46: - name: servicemesh -47: chart: charts/istio -48: needs: -49: - logging -50: - name: logging -51: chart: charts/fluent-bit -52: - name: front-proxy -53: chart: stable/envoy -54: - merged environment: &{default map[] map[]} 10 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/upgrade_when_bar_needs_foo b/pkg/app/testdata/app_diff_test_2/upgrade_when_bar_needs_foo index 6b69bd73..2239c0c5 100644 --- a/pkg/app/testdata/app_diff_test_2/upgrade_when_bar_needs_foo +++ b/pkg/app/testdata/app_diff_test_2/upgrade_when_bar_needs_foo @@ -1,34 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: - name: bar - 5: chart: mychart2 - 6: needs: - 7: - foo - 8: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: - name: bar - 5: chart: mychart2 - 6: needs: - 7: - foo - 8: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/upgrade_when_bar_needs_foo,_with_ns_override b/pkg/app/testdata/app_diff_test_2/upgrade_when_bar_needs_foo,_with_ns_override index 87892d12..0841c62e 100644 --- a/pkg/app/testdata/app_diff_test_2/upgrade_when_bar_needs_foo,_with_ns_override +++ b/pkg/app/testdata/app_diff_test_2/upgrade_when_bar_needs_foo,_with_ns_override @@ -1,34 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: - name: bar - 5: chart: mychart2 - 6: needs: - 7: - foo - 8: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: mychart1 - 4: - name: bar - 5: chart: mychart2 - 6: needs: - 7: - foo - 8: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/upgrade_when_foo_needs_bar b/pkg/app/testdata/app_diff_test_2/upgrade_when_foo_needs_bar index 7ea553a7..0a5c6018 100644 --- a/pkg/app/testdata/app_diff_test_2/upgrade_when_foo_needs_bar +++ b/pkg/app/testdata/app_diff_test_2/upgrade_when_foo_needs_bar @@ -1,34 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: - name: foo - 5: chart: mychart1 - 6: needs: - 7: - bar - 8: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: - name: foo - 5: chart: mychart1 - 6: needs: - 7: - bar - 8: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/upgrade_when_foo_needs_bar,_with_ns_override b/pkg/app/testdata/app_diff_test_2/upgrade_when_foo_needs_bar,_with_ns_override index 49bb72fe..686dabf1 100644 --- a/pkg/app/testdata/app_diff_test_2/upgrade_when_foo_needs_bar,_with_ns_override +++ b/pkg/app/testdata/app_diff_test_2/upgrade_when_foo_needs_bar,_with_ns_override @@ -1,34 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: - name: foo - 5: chart: mychart1 - 6: needs: - 7: - bar - 8: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: mychart2 - 4: - name: foo - 5: chart: mychart1 - 6: needs: - 7: - bar - 8: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/app_diff_test_2/upgrades_with_bad_selector b/pkg/app/testdata/app_diff_test_2/upgrades_with_bad_selector new file mode 100644 index 00000000..8e3e99cf --- /dev/null +++ b/pkg/app/testdata/app_diff_test_2/upgrades_with_bad_selector @@ -0,0 +1,33 @@ +processing file "helmfile.yaml.gotmpl" in directory "." +changing working directory to "/path/to" +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": + 0: + 1: + 2: + 3: releases: + 4: - name: kubernetes-external-secrets + 5: chart: incubator/raw + 6: namespace: kube-system + 7: + 8: - name: external-secrets + 9: chart: incubator/raw +10: namespace: default +11: labels: +12: app: test +13: needs: +14: - kube-system/kubernetes-external-secrets +15: +16: - name: my-release +17: chart: incubator/raw +18: namespace: default +19: labels: +20: app: test +21: needs: +22: - default/external-secrets +23: + +merged environment: &{default map[] map[]} +0 release(s) matching app=test_non_existent found in helmfile.yaml.gotmpl + +changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_diff_test_2/upgrades_with_good_selector_with_--skip-needs=false b/pkg/app/testdata/app_diff_test_2/upgrades_with_good_selector_with_--skip-needs=false new file mode 100644 index 00000000..3be41c57 --- /dev/null +++ b/pkg/app/testdata/app_diff_test_2/upgrades_with_good_selector_with_--skip-needs=false @@ -0,0 +1,34 @@ +processing file "helmfile.yaml.gotmpl" in directory "." +changing working directory to "/path/to" +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": + 0: + 1: + 2: + 3: releases: + 4: - name: kubernetes-external-secrets + 5: chart: incubator/raw + 6: namespace: kube-system + 7: + 8: - name: external-secrets + 9: chart: incubator/raw +10: namespace: default +11: labels: +12: app: test +13: needs: +14: - kube-system/kubernetes-external-secrets +15: +16: - name: my-release +17: chart: incubator/raw +18: namespace: default +19: labels: +20: app: test +21: needs: +22: - default/external-secrets +23: + +merged environment: &{default map[] map[]} +2 release(s) matching app=test found in helmfile.yaml.gotmpl + +err: release "default/external-secrets" depends on "kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies +changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_diff_test_2/upgrades_with_good_selector_with_--skip-needs=true b/pkg/app/testdata/app_diff_test_2/upgrades_with_good_selector_with_--skip-needs=true index 926e26fd..e61b33e8 100644 --- a/pkg/app/testdata/app_diff_test_2/upgrades_with_good_selector_with_--skip-needs=true +++ b/pkg/app/testdata/app_diff_test_2/upgrades_with_good_selector_with_--skip-needs=true @@ -1,39 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -60,7 +28,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 23: merged environment: &{default map[] map[]} -2 release(s) matching app=test found in helmfile.yaml +2 release(s) matching app=test found in helmfile.yaml.gotmpl processing 2 groups of releases in this order: GROUP RELEASES diff --git a/pkg/app/testdata/app_lint_test/bad_selector b/pkg/app/testdata/app_lint_test/bad_selector index 9a3ab785..7d03a1f4 100644 --- a/pkg/app/testdata/app_lint_test/bad_selector +++ b/pkg/app/testdata/app_lint_test/bad_selector @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 0 release(s) matching app=test_non_existent found in helmfile.yaml diff --git a/pkg/app/testdata/app_lint_test/fail_on_unselected_need_by_default b/pkg/app/testdata/app_lint_test/fail_on_unselected_need_by_default index a0113f65..ab53c3ad 100644 --- a/pkg/app/testdata/app_lint_test/fail_on_unselected_need_by_default +++ b/pkg/app/testdata/app_lint_test/fail_on_unselected_need_by_default @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml diff --git a/pkg/app/testdata/app_lint_test/include-needs b/pkg/app/testdata/app_lint_test/include-needs index 892b6ea0..58fa9cab 100644 --- a/pkg/app/testdata/app_lint_test/include-needs +++ b/pkg/app/testdata/app_lint_test/include-needs @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml diff --git a/pkg/app/testdata/app_lint_test/include-needs_should_not_fail_on_disabled_direct_need b/pkg/app/testdata/app_lint_test/include-needs_should_not_fail_on_disabled_direct_need index ad93dd62..54c6135e 100644 --- a/pkg/app/testdata/app_lint_test/include-needs_should_not_fail_on_disabled_direct_need +++ b/pkg/app/testdata/app_lint_test/include-needs_should_not_fail_on_disabled_direct_need @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test2 found in helmfile.yaml diff --git a/pkg/app/testdata/app_lint_test/include-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_lint_test/include-needs_should_not_fail_on_disabled_transitive_need index c51d74d8..f2ad0c8f 100644 --- a/pkg/app/testdata/app_lint_test/include-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_lint_test/include-needs_should_not_fail_on_disabled_transitive_need @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml diff --git a/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need b/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need index ad93dd62..54c6135e 100644 --- a/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need +++ b/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test2 found in helmfile.yaml diff --git a/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need index c51d74d8..f2ad0c8f 100644 --- a/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml diff --git a/pkg/app/testdata/app_lint_test/include-transitive-needs b/pkg/app/testdata/app_lint_test/include-transitive-needs index 892b6ea0..58fa9cab 100644 --- a/pkg/app/testdata/app_lint_test/include-transitive-needs +++ b/pkg/app/testdata/app_lint_test/include-transitive-needs @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml diff --git a/pkg/app/testdata/app_lint_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_lint_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need index c51d74d8..f2ad0c8f 100644 --- a/pkg/app/testdata/app_lint_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_lint_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml diff --git a/pkg/app/testdata/app_lint_test/skip-needs b/pkg/app/testdata/app_lint_test/skip-needs index 67ee2936..ceb99f63 100644 --- a/pkg/app/testdata/app_lint_test/skip-needs +++ b/pkg/app/testdata/app_lint_test/skip-needs @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml diff --git a/pkg/app/testdata/app_list_test/default_environment_includes_all_releases b/pkg/app/testdata/app_list_test/default_environment_includes_all_releases index 5dd4bb4a..75efff96 100644 --- a/pkg/app/testdata/app_list_test/default_environment_includes_all_releases +++ b/pkg/app/testdata/app_list_test/default_environment_includes_all_releases @@ -1,221 +1,16 @@ found 3 helmfile state files in helmfile.d: /path/to/helmfile.d/helmfile_1.yaml, /path/to/helmfile.d/helmfile_2.yaml, /path/to/helmfile.d/helmfile_3.yaml processing file "helmfile_1.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" -first-pass rendering starting for "helmfile_1.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile_1.yaml.part.0": - 0: - 1: environments: - 2: development: {} - 3: shared: {} - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile_1.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_1.yaml.part.0": - 0: - 1: environments: - 2: development: {} - 3: shared: {} - merged environment: &{default map[] map[]} -first-pass rendering starting for "helmfile_1.yaml.part.1": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile_1.yaml.part.1": - 0: releases: - 1: - name: logging - 2: chart: incubator/raw - 3: namespace: kube-system - 4: - 5: - name: kubernetes-external-secrets - 6: chart: incubator/raw - 7: namespace: kube-system - 8: needs: - 9: - kube-system/logging -10: -11: - name: external-secrets -12: chart: incubator/raw -13: namespace: default -14: labels: -15: app: test -16: needs: -17: - kube-system/kubernetes-external-secrets -18: -19: - name: my-release -20: chart: incubator/raw -21: namespace: default -22: labels: -23: app: test -24: needs: -25: - default/external-secrets -26: -27: -28: # Disabled releases are treated as missing -29: - name: disabled -30: chart: incubator/raw -31: namespace: kube-system -32: installed: false -33: -34: - name: test2 -35: chart: incubator/raw -36: needs: -37: - kube-system/disabled -38: -39: - name: test3 -40: chart: incubator/raw -41: needs: -42: - test2 -43: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile_1.yaml.part.1": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_1.yaml.part.1": - 0: releases: - 1: - name: logging - 2: chart: incubator/raw - 3: namespace: kube-system - 4: - 5: - name: kubernetes-external-secrets - 6: chart: incubator/raw - 7: namespace: kube-system - 8: needs: - 9: - kube-system/logging -10: -11: - name: external-secrets -12: chart: incubator/raw -13: namespace: default -14: labels: -15: app: test -16: needs: -17: - kube-system/kubernetes-external-secrets -18: -19: - name: my-release -20: chart: incubator/raw -21: namespace: default -22: labels: -23: app: test -24: needs: -25: - default/external-secrets -26: -27: -28: # Disabled releases are treated as missing -29: - name: disabled -30: chart: incubator/raw -31: namespace: kube-system -32: installed: false -33: -34: - name: test2 -35: chart: incubator/raw -36: needs: -37: - kube-system/disabled -38: -39: - name: test3 -40: chart: incubator/raw -41: needs: -42: - test2 -43: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs changing working directory back to "/path/to" processing file "helmfile_2.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" -first-pass rendering starting for "helmfile_2.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile_2.yaml.part.0": - 0: - 1: environments: - 2: test: {} - 3: shared: {} - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile_2.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_2.yaml.part.0": - 0: - 1: environments: - 2: test: {} - 3: shared: {} - merged environment: &{default map[] map[]} -first-pass rendering starting for "helmfile_2.yaml.part.1": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile_2.yaml.part.1": - 0: repositories: - 1: - name: bitnami - 2: url: https://charts.bitnami.com/bitnami - 3: - 4: releases: - 5: - name: cache - 6: namespace: my-app - 7: chart: bitnami/redis - 8: version: 17.0.7 - 9: labels: -10: app: test -11: -12: - name: database -13: namespace: my-app -14: chart: bitnami/postgres -15: version: 11.6.22 -16: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile_2.yaml.part.1": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_2.yaml.part.1": - 0: repositories: - 1: - name: bitnami - 2: url: https://charts.bitnami.com/bitnami - 3: - 4: releases: - 5: - name: cache - 6: namespace: my-app - 7: chart: bitnami/redis - 8: version: 17.0.7 - 9: labels: -10: app: test -11: -12: - name: database -13: namespace: my-app -14: chart: bitnami/postgres -15: version: 11.6.22 -16: - merged environment: &{default map[] map[]} changing working directory back to "/path/to" processing file "helmfile_3.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" -first-pass rendering starting for "helmfile_3.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile_3.yaml.part.0": - 0: - 1: releases: - 2: - name: global - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile_3.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_3.yaml.part.0": - 0: - 1: releases: - 2: - name: global - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - merged environment: &{default map[] map[]} changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_list_test/fail_on_unknown_environment b/pkg/app/testdata/app_list_test/fail_on_unknown_environment index 040b2ebe..9eccd0c3 100644 --- a/pkg/app/testdata/app_list_test/fail_on_unknown_environment +++ b/pkg/app/testdata/app_list_test/fail_on_unknown_environment @@ -1,74 +1,13 @@ found 3 helmfile state files in helmfile.d: /path/to/helmfile.d/helmfile_1.yaml, /path/to/helmfile.d/helmfile_2.yaml, /path/to/helmfile.d/helmfile_3.yaml processing file "helmfile_1.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" -first-pass rendering starting for "helmfile_1.yaml.part.0": inherited=&{staging map[] map[]}, overrode= -first-pass uses: &{staging map[] map[]} -first-pass rendering output of "helmfile_1.yaml.part.0": - 0: - 1: environments: - 2: development: {} - 3: shared: {} - -first-pass produced: &{staging map[] map[]} -first-pass rendering result of "helmfile_1.yaml.part.0": {staging map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_1.yaml.part.0": - 0: - 1: environments: - 2: development: {} - 3: shared: {} - merged environment: &{staging map[] map[]} changing working directory back to "/path/to" processing file "helmfile_2.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" -first-pass rendering starting for "helmfile_2.yaml.part.0": inherited=&{staging map[] map[]}, overrode= -first-pass uses: &{staging map[] map[]} -first-pass rendering output of "helmfile_2.yaml.part.0": - 0: - 1: environments: - 2: test: {} - 3: shared: {} - -first-pass produced: &{staging map[] map[]} -first-pass rendering result of "helmfile_2.yaml.part.0": {staging map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_2.yaml.part.0": - 0: - 1: environments: - 2: test: {} - 3: shared: {} - merged environment: &{staging map[] map[]} changing working directory back to "/path/to" processing file "helmfile_3.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" -first-pass rendering starting for "helmfile_3.yaml.part.0": inherited=&{staging map[] map[]}, overrode= -first-pass uses: &{staging map[] map[]} -first-pass rendering output of "helmfile_3.yaml.part.0": - 0: - 1: releases: - 2: - name: global - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - -first-pass produced: &{staging map[] map[]} -first-pass rendering result of "helmfile_3.yaml.part.0": {staging map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_3.yaml.part.0": - 0: - 1: releases: - 2: - name: global - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - merged environment: &{staging map[] map[]} changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_list_test/filters_releases_for_environment_used_in_multiple_files b/pkg/app/testdata/app_list_test/filters_releases_for_environment_used_in_multiple_files index 8350e3c8..b161220b 100644 --- a/pkg/app/testdata/app_list_test/filters_releases_for_environment_used_in_multiple_files +++ b/pkg/app/testdata/app_list_test/filters_releases_for_environment_used_in_multiple_files @@ -1,221 +1,16 @@ found 3 helmfile state files in helmfile.d: /path/to/helmfile.d/helmfile_1.yaml, /path/to/helmfile.d/helmfile_2.yaml, /path/to/helmfile.d/helmfile_3.yaml processing file "helmfile_1.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" -first-pass rendering starting for "helmfile_1.yaml.part.0": inherited=&{shared map[] map[]}, overrode= -first-pass uses: &{shared map[] map[]} -first-pass rendering output of "helmfile_1.yaml.part.0": - 0: - 1: environments: - 2: development: {} - 3: shared: {} - -first-pass produced: &{shared map[] map[]} -first-pass rendering result of "helmfile_1.yaml.part.0": {shared map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_1.yaml.part.0": - 0: - 1: environments: - 2: development: {} - 3: shared: {} - merged environment: &{shared map[] map[]} -first-pass rendering starting for "helmfile_1.yaml.part.1": inherited=&{shared map[] map[]}, overrode= -first-pass uses: &{shared map[] map[]} -first-pass rendering output of "helmfile_1.yaml.part.1": - 0: releases: - 1: - name: logging - 2: chart: incubator/raw - 3: namespace: kube-system - 4: - 5: - name: kubernetes-external-secrets - 6: chart: incubator/raw - 7: namespace: kube-system - 8: needs: - 9: - kube-system/logging -10: -11: - name: external-secrets -12: chart: incubator/raw -13: namespace: default -14: labels: -15: app: test -16: needs: -17: - kube-system/kubernetes-external-secrets -18: -19: - name: my-release -20: chart: incubator/raw -21: namespace: default -22: labels: -23: app: test -24: needs: -25: - default/external-secrets -26: -27: -28: # Disabled releases are treated as missing -29: - name: disabled -30: chart: incubator/raw -31: namespace: kube-system -32: installed: false -33: -34: - name: test2 -35: chart: incubator/raw -36: needs: -37: - kube-system/disabled -38: -39: - name: test3 -40: chart: incubator/raw -41: needs: -42: - test2 -43: - -first-pass produced: &{shared map[] map[]} -first-pass rendering result of "helmfile_1.yaml.part.1": {shared map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_1.yaml.part.1": - 0: releases: - 1: - name: logging - 2: chart: incubator/raw - 3: namespace: kube-system - 4: - 5: - name: kubernetes-external-secrets - 6: chart: incubator/raw - 7: namespace: kube-system - 8: needs: - 9: - kube-system/logging -10: -11: - name: external-secrets -12: chart: incubator/raw -13: namespace: default -14: labels: -15: app: test -16: needs: -17: - kube-system/kubernetes-external-secrets -18: -19: - name: my-release -20: chart: incubator/raw -21: namespace: default -22: labels: -23: app: test -24: needs: -25: - default/external-secrets -26: -27: -28: # Disabled releases are treated as missing -29: - name: disabled -30: chart: incubator/raw -31: namespace: kube-system -32: installed: false -33: -34: - name: test2 -35: chart: incubator/raw -36: needs: -37: - kube-system/disabled -38: -39: - name: test3 -40: chart: incubator/raw -41: needs: -42: - test2 -43: - merged environment: &{shared map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs changing working directory back to "/path/to" processing file "helmfile_2.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" -first-pass rendering starting for "helmfile_2.yaml.part.0": inherited=&{shared map[] map[]}, overrode= -first-pass uses: &{shared map[] map[]} -first-pass rendering output of "helmfile_2.yaml.part.0": - 0: - 1: environments: - 2: test: {} - 3: shared: {} - -first-pass produced: &{shared map[] map[]} -first-pass rendering result of "helmfile_2.yaml.part.0": {shared map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_2.yaml.part.0": - 0: - 1: environments: - 2: test: {} - 3: shared: {} - merged environment: &{shared map[] map[]} -first-pass rendering starting for "helmfile_2.yaml.part.1": inherited=&{shared map[] map[]}, overrode= -first-pass uses: &{shared map[] map[]} -first-pass rendering output of "helmfile_2.yaml.part.1": - 0: repositories: - 1: - name: bitnami - 2: url: https://charts.bitnami.com/bitnami - 3: - 4: releases: - 5: - name: cache - 6: namespace: my-app - 7: chart: bitnami/redis - 8: version: 17.0.7 - 9: labels: -10: app: test -11: -12: - name: database -13: namespace: my-app -14: chart: bitnami/postgres -15: version: 11.6.22 -16: - -first-pass produced: &{shared map[] map[]} -first-pass rendering result of "helmfile_2.yaml.part.1": {shared map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_2.yaml.part.1": - 0: repositories: - 1: - name: bitnami - 2: url: https://charts.bitnami.com/bitnami - 3: - 4: releases: - 5: - name: cache - 6: namespace: my-app - 7: chart: bitnami/redis - 8: version: 17.0.7 - 9: labels: -10: app: test -11: -12: - name: database -13: namespace: my-app -14: chart: bitnami/postgres -15: version: 11.6.22 -16: - merged environment: &{shared map[] map[]} changing working directory back to "/path/to" processing file "helmfile_3.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" -first-pass rendering starting for "helmfile_3.yaml.part.0": inherited=&{shared map[] map[]}, overrode= -first-pass uses: &{shared map[] map[]} -first-pass rendering output of "helmfile_3.yaml.part.0": - 0: - 1: releases: - 2: - name: global - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - -first-pass produced: &{shared map[] map[]} -first-pass rendering result of "helmfile_3.yaml.part.0": {shared map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_3.yaml.part.0": - 0: - 1: releases: - 2: - name: global - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - merged environment: &{shared map[] map[]} changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_list_test/filters_releases_for_environment_used_in_one_file_only b/pkg/app/testdata/app_list_test/filters_releases_for_environment_used_in_one_file_only index 927ee649..a214f41f 100644 --- a/pkg/app/testdata/app_list_test/filters_releases_for_environment_used_in_one_file_only +++ b/pkg/app/testdata/app_list_test/filters_releases_for_environment_used_in_one_file_only @@ -1,120 +1,14 @@ found 3 helmfile state files in helmfile.d: /path/to/helmfile.d/helmfile_1.yaml, /path/to/helmfile.d/helmfile_2.yaml, /path/to/helmfile.d/helmfile_3.yaml processing file "helmfile_1.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" -first-pass rendering starting for "helmfile_1.yaml.part.0": inherited=&{test map[] map[]}, overrode= -first-pass uses: &{test map[] map[]} -first-pass rendering output of "helmfile_1.yaml.part.0": - 0: - 1: environments: - 2: development: {} - 3: shared: {} - -first-pass produced: &{test map[] map[]} -first-pass rendering result of "helmfile_1.yaml.part.0": {test map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_1.yaml.part.0": - 0: - 1: environments: - 2: development: {} - 3: shared: {} - merged environment: &{test map[] map[]} changing working directory back to "/path/to" processing file "helmfile_2.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" -first-pass rendering starting for "helmfile_2.yaml.part.0": inherited=&{test map[] map[]}, overrode= -first-pass uses: &{test map[] map[]} -first-pass rendering output of "helmfile_2.yaml.part.0": - 0: - 1: environments: - 2: test: {} - 3: shared: {} - -first-pass produced: &{test map[] map[]} -first-pass rendering result of "helmfile_2.yaml.part.0": {test map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_2.yaml.part.0": - 0: - 1: environments: - 2: test: {} - 3: shared: {} - merged environment: &{test map[] map[]} -first-pass rendering starting for "helmfile_2.yaml.part.1": inherited=&{test map[] map[]}, overrode= -first-pass uses: &{test map[] map[]} -first-pass rendering output of "helmfile_2.yaml.part.1": - 0: repositories: - 1: - name: bitnami - 2: url: https://charts.bitnami.com/bitnami - 3: - 4: releases: - 5: - name: cache - 6: namespace: my-app - 7: chart: bitnami/redis - 8: version: 17.0.7 - 9: labels: -10: app: test -11: -12: - name: database -13: namespace: my-app -14: chart: bitnami/postgres -15: version: 11.6.22 -16: - -first-pass produced: &{test map[] map[]} -first-pass rendering result of "helmfile_2.yaml.part.1": {test map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_2.yaml.part.1": - 0: repositories: - 1: - name: bitnami - 2: url: https://charts.bitnami.com/bitnami - 3: - 4: releases: - 5: - name: cache - 6: namespace: my-app - 7: chart: bitnami/redis - 8: version: 17.0.7 - 9: labels: -10: app: test -11: -12: - name: database -13: namespace: my-app -14: chart: bitnami/postgres -15: version: 11.6.22 -16: - merged environment: &{test map[] map[]} changing working directory back to "/path/to" processing file "helmfile_3.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" -first-pass rendering starting for "helmfile_3.yaml.part.0": inherited=&{test map[] map[]}, overrode= -first-pass uses: &{test map[] map[]} -first-pass rendering output of "helmfile_3.yaml.part.0": - 0: - 1: releases: - 2: - name: global - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - -first-pass produced: &{test map[] map[]} -first-pass rendering result of "helmfile_3.yaml.part.0": {test map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_3.yaml.part.0": - 0: - 1: releases: - 2: - name: global - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - merged environment: &{test map[] map[]} changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_list_test/list_releases_matching_selector_and_environment b/pkg/app/testdata/app_list_test/list_releases_matching_selector_and_environment index 4d332f10..41a5321e 100644 --- a/pkg/app/testdata/app_list_test/list_releases_matching_selector_and_environment +++ b/pkg/app/testdata/app_list_test/list_releases_matching_selector_and_environment @@ -1,175 +1,15 @@ found 3 helmfile state files in helmfile.d: /path/to/helmfile.d/helmfile_1.yaml, /path/to/helmfile.d/helmfile_2.yaml, /path/to/helmfile.d/helmfile_3.yaml processing file "helmfile_1.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" -first-pass rendering starting for "helmfile_1.yaml.part.0": inherited=&{development map[] map[]}, overrode= -first-pass uses: &{development map[] map[]} -first-pass rendering output of "helmfile_1.yaml.part.0": - 0: - 1: environments: - 2: development: {} - 3: shared: {} - -first-pass produced: &{development map[] map[]} -first-pass rendering result of "helmfile_1.yaml.part.0": {development map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_1.yaml.part.0": - 0: - 1: environments: - 2: development: {} - 3: shared: {} - merged environment: &{development map[] map[]} -first-pass rendering starting for "helmfile_1.yaml.part.1": inherited=&{development map[] map[]}, overrode= -first-pass uses: &{development map[] map[]} -first-pass rendering output of "helmfile_1.yaml.part.1": - 0: releases: - 1: - name: logging - 2: chart: incubator/raw - 3: namespace: kube-system - 4: - 5: - name: kubernetes-external-secrets - 6: chart: incubator/raw - 7: namespace: kube-system - 8: needs: - 9: - kube-system/logging -10: -11: - name: external-secrets -12: chart: incubator/raw -13: namespace: default -14: labels: -15: app: test -16: needs: -17: - kube-system/kubernetes-external-secrets -18: -19: - name: my-release -20: chart: incubator/raw -21: namespace: default -22: labels: -23: app: test -24: needs: -25: - default/external-secrets -26: -27: -28: # Disabled releases are treated as missing -29: - name: disabled -30: chart: incubator/raw -31: namespace: kube-system -32: installed: false -33: -34: - name: test2 -35: chart: incubator/raw -36: needs: -37: - kube-system/disabled -38: -39: - name: test3 -40: chart: incubator/raw -41: needs: -42: - test2 -43: - -first-pass produced: &{development map[] map[]} -first-pass rendering result of "helmfile_1.yaml.part.1": {development map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_1.yaml.part.1": - 0: releases: - 1: - name: logging - 2: chart: incubator/raw - 3: namespace: kube-system - 4: - 5: - name: kubernetes-external-secrets - 6: chart: incubator/raw - 7: namespace: kube-system - 8: needs: - 9: - kube-system/logging -10: -11: - name: external-secrets -12: chart: incubator/raw -13: namespace: default -14: labels: -15: app: test -16: needs: -17: - kube-system/kubernetes-external-secrets -18: -19: - name: my-release -20: chart: incubator/raw -21: namespace: default -22: labels: -23: app: test -24: needs: -25: - default/external-secrets -26: -27: -28: # Disabled releases are treated as missing -29: - name: disabled -30: chart: incubator/raw -31: namespace: kube-system -32: installed: false -33: -34: - name: test2 -35: chart: incubator/raw -36: needs: -37: - kube-system/disabled -38: -39: - name: test3 -40: chart: incubator/raw -41: needs: -42: - test2 -43: - merged environment: &{development map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs changing working directory back to "/path/to" processing file "helmfile_2.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" -first-pass rendering starting for "helmfile_2.yaml.part.0": inherited=&{development map[] map[]}, overrode= -first-pass uses: &{development map[] map[]} -first-pass rendering output of "helmfile_2.yaml.part.0": - 0: - 1: environments: - 2: test: {} - 3: shared: {} - -first-pass produced: &{development map[] map[]} -first-pass rendering result of "helmfile_2.yaml.part.0": {development map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_2.yaml.part.0": - 0: - 1: environments: - 2: test: {} - 3: shared: {} - merged environment: &{development map[] map[]} changing working directory back to "/path/to" processing file "helmfile_3.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" -first-pass rendering starting for "helmfile_3.yaml.part.0": inherited=&{development map[] map[]}, overrode= -first-pass uses: &{development map[] map[]} -first-pass rendering output of "helmfile_3.yaml.part.0": - 0: - 1: releases: - 2: - name: global - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - -first-pass produced: &{development map[] map[]} -first-pass rendering result of "helmfile_3.yaml.part.0": {development map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile_3.yaml.part.0": - 0: - 1: releases: - 2: - name: global - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - merged environment: &{development map[] map[]} changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_template_test/bad_selector b/pkg/app/testdata/app_template_test/bad_selector index 9a3ab785..7d03a1f4 100644 --- a/pkg/app/testdata/app_template_test/bad_selector +++ b/pkg/app/testdata/app_template_test/bad_selector @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 0 release(s) matching app=test_non_existent found in helmfile.yaml diff --git a/pkg/app/testdata/app_template_test/fail_on_unselected_need_by_default b/pkg/app/testdata/app_template_test/fail_on_unselected_need_by_default index a0113f65..ab53c3ad 100644 --- a/pkg/app/testdata/app_template_test/fail_on_unselected_need_by_default +++ b/pkg/app/testdata/app_template_test/fail_on_unselected_need_by_default @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml diff --git a/pkg/app/testdata/app_template_test/include-needs b/pkg/app/testdata/app_template_test/include-needs index 892b6ea0..58fa9cab 100644 --- a/pkg/app/testdata/app_template_test/include-needs +++ b/pkg/app/testdata/app_template_test/include-needs @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml diff --git a/pkg/app/testdata/app_template_test/include-needs_should_not_fail_on_disabled_direct_need b/pkg/app/testdata/app_template_test/include-needs_should_not_fail_on_disabled_direct_need index 5b8e896d..ebd01666 100644 --- a/pkg/app/testdata/app_template_test/include-needs_should_not_fail_on_disabled_direct_need +++ b/pkg/app/testdata/app_template_test/include-needs_should_not_fail_on_disabled_direct_need @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test2 found in helmfile.yaml diff --git a/pkg/app/testdata/app_template_test/include-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_template_test/include-needs_should_not_fail_on_disabled_transitive_need index 47172c7e..29ad4ef5 100644 --- a/pkg/app/testdata/app_template_test/include-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_template_test/include-needs_should_not_fail_on_disabled_transitive_need @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml diff --git a/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need b/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need index 5b8e896d..ebd01666 100644 --- a/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need +++ b/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test2 found in helmfile.yaml diff --git a/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need index 47172c7e..29ad4ef5 100644 --- a/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml diff --git a/pkg/app/testdata/app_template_test/include-transitive-needs b/pkg/app/testdata/app_template_test/include-transitive-needs index 892b6ea0..58fa9cab 100644 --- a/pkg/app/testdata/app_template_test/include-transitive-needs +++ b/pkg/app/testdata/app_template_test/include-transitive-needs @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml diff --git a/pkg/app/testdata/app_template_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_template_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need index 47172c7e..29ad4ef5 100644 --- a/pkg/app/testdata/app_template_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_template_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml diff --git a/pkg/app/testdata/app_template_test/no-hooks b/pkg/app/testdata/app_template_test/no-hooks index 67ee2936..ceb99f63 100644 --- a/pkg/app/testdata/app_template_test/no-hooks +++ b/pkg/app/testdata/app_template_test/no-hooks @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml diff --git a/pkg/app/testdata/app_template_test/show-only b/pkg/app/testdata/app_template_test/show-only index 16806eb9..e528ba50 100644 --- a/pkg/app/testdata/app_template_test/show-only +++ b/pkg/app/testdata/app_template_test/show-only @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=logging found in helmfile.yaml diff --git a/pkg/app/testdata/app_template_test/skip-needs b/pkg/app/testdata/app_template_test/skip-needs index 67ee2936..ceb99f63 100644 --- a/pkg/app/testdata/app_template_test/skip-needs +++ b/pkg/app/testdata/app_template_test/skip-needs @@ -1,106 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml diff --git a/pkg/app/testdata/dag_test/dag_lists_dependencies_in_order b/pkg/app/testdata/dag_test/dag_lists_dependencies_in_order index c64a76f9..6b1135ae 100644 --- a/pkg/app/testdata/dag_test/dag_lists_dependencies_in_order +++ b/pkg/app/testdata/dag_test/dag_lists_dependencies_in_order @@ -1,120 +1,6 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: environments: - 2: development: {} - 3: shared: {} - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: environments: - 2: development: {} - 3: shared: {} - merged environment: &{default map[] map[]} -first-pass rendering starting for "helmfile.yaml.part.1": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.1": - 0: releases: - 1: - name: logging - 2: chart: incubator/raw - 3: namespace: kube-system - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: needs: - 8: - kube-system/logging - 9: - name: external-secrets -10: chart: incubator/raw -11: namespace: default -12: labels: -13: app: test -14: needs: -15: - kube-system/kubernetes-external-secrets -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: # Disabled releases are treated as missing -24: - name: disabled -25: chart: incubator/raw -26: namespace: kube-system -27: installed: false -28: - name: test2 -29: chart: incubator/raw -30: needs: -31: - kube-system/disabled -32: - name: test3 -33: chart: incubator/raw -34: needs: -35: - test2 -36: - name: test4 -37: chart: incubator/raw -38: needs: -39: - test2 -40: - test3 -41: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.1": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.1": - 0: releases: - 1: - name: logging - 2: chart: incubator/raw - 3: namespace: kube-system - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: needs: - 8: - kube-system/logging - 9: - name: external-secrets -10: chart: incubator/raw -11: namespace: default -12: labels: -13: app: test -14: needs: -15: - kube-system/kubernetes-external-secrets -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: # Disabled releases are treated as missing -24: - name: disabled -25: chart: incubator/raw -26: namespace: kube-system -27: installed: false -28: - name: test2 -29: chart: incubator/raw -30: needs: -31: - kube-system/disabled -32: - name: test3 -33: chart: incubator/raw -34: needs: -35: - test2 -36: - name: test4 -37: chart: incubator/raw -38: needs: -39: - test2 -40: - test3 -41: - merged environment: &{default map[] map[]} WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs changing working directory back to "/path/to" diff --git a/pkg/app/testdata/testapply/delete_bar_when_bar_needs_foo/log b/pkg/app/testdata/testapply/delete_bar_when_bar_needs_foo/log index 3ee09b86..7999740f 100644 --- a/pkg/app/testdata/testapply/delete_bar_when_bar_needs_foo/log +++ b/pkg/app/testdata/testapply/delete_bar_when_bar_needs_foo/log @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: stable/mychart1 - 4: - name: bar - 5: chart: stable/mychart2 - 6: installed: false - 7: needs: - 8: - foo - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: stable/mychart1 - 4: - name: bar - 5: chart: stable/mychart2 - 6: installed: false - 7: needs: - 8: - foo - 9: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/delete_bar_when_foo_needs_bar/log b/pkg/app/testdata/testapply/delete_bar_when_foo_needs_bar/log index 02d852b3..63e24849 100644 --- a/pkg/app/testdata/testapply/delete_bar_when_foo_needs_bar/log +++ b/pkg/app/testdata/testapply/delete_bar_when_foo_needs_bar/log @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: installed: false - 5: - name: foo - 6: chart: stable/mychart1 - 7: needs: - 8: - bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: installed: false - 5: - name: foo - 6: chart: stable/mychart1 - 7: needs: - 8: - bar - 9: - merged environment: &{default map[] map[]} WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/delete_foo_and_bar_when_bar_needs_foo/log b/pkg/app/testdata/testapply/delete_foo_and_bar_when_bar_needs_foo/log index 51419ddc..11813de1 100644 --- a/pkg/app/testdata/testapply/delete_foo_and_bar_when_bar_needs_foo/log +++ b/pkg/app/testdata/testapply/delete_foo_and_bar_when_bar_needs_foo/log @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: installed: false - 5: needs: - 6: - foo - 7: - name: foo - 8: chart: stable/mychart1 - 9: installed: false -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: installed: false - 5: needs: - 6: - foo - 7: - name: foo - 8: chart: stable/mychart1 - 9: installed: false -10: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/delete_foo_and_bar_when_foo_needs_bar/log b/pkg/app/testdata/testapply/delete_foo_and_bar_when_foo_needs_bar/log index a71e2744..abbb3ddf 100644 --- a/pkg/app/testdata/testapply/delete_foo_and_bar_when_foo_needs_bar/log +++ b/pkg/app/testdata/testapply/delete_foo_and_bar_when_foo_needs_bar/log @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: installed: false - 5: - name: foo - 6: chart: stable/mychart1 - 7: installed: false - 8: needs: - 9: - bar -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: installed: false - 5: - name: foo - 6: chart: stable/mychart1 - 7: installed: false - 8: needs: - 9: - bar -10: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/delete_foo_when_bar_needs_foo/log b/pkg/app/testdata/testapply/delete_foo_when_bar_needs_foo/log index 25bb1eef..1dc037b0 100644 --- a/pkg/app/testdata/testapply/delete_foo_when_bar_needs_foo/log +++ b/pkg/app/testdata/testapply/delete_foo_when_bar_needs_foo/log @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: stable/mychart1 - 4: installed: false - 5: - name: bar - 6: chart: stable/mychart2 - 7: needs: - 8: - foo - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: stable/mychart1 - 4: installed: false - 5: - name: bar - 6: chart: stable/mychart2 - 7: needs: - 8: - foo - 9: - merged environment: &{default map[] map[]} WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/delete_foo_when_foo_needs_bar/log b/pkg/app/testdata/testapply/delete_foo_when_foo_needs_bar/log index 38541ce3..3f58a191 100644 --- a/pkg/app/testdata/testapply/delete_foo_when_foo_needs_bar/log +++ b/pkg/app/testdata/testapply/delete_foo_when_foo_needs_bar/log @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: - name: foo - 5: chart: stable/mychart1 - 6: installed: false - 7: needs: - 8: - bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: - name: foo - 5: chart: stable/mychart1 - 6: installed: false - 7: needs: - 8: - bar - 9: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/duplicate_releases/log b/pkg/app/testdata/testapply/duplicate_releases/log index 5a14f57e..ccdf69e2 100644 --- a/pkg/app/testdata/testapply/duplicate_releases/log +++ b/pkg/app/testdata/testapply/duplicate_releases/log @@ -1,44 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: namespace: ns1 - 4: chart: mychart3 - 5: - name: foo - 6: chart: mychart2 - 7: needs: - 8: - ns1/bar - 9: - name: foo -10: chart: mychart1 -11: needs: -12: - ns1/bar -13: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: namespace: ns1 - 4: chart: mychart3 - 5: - name: foo - 6: chart: mychart2 - 7: needs: - 8: - ns1/bar - 9: - name: foo -10: chart: mychart1 -11: needs: -12: - ns1/bar -13: - merged environment: &{default map[] map[]} err: found 2 duplicate releases with ID "default//foo" changing working directory back to "/path/to" diff --git a/pkg/app/testdata/testapply/helm-status-check-to-release-existence/log b/pkg/app/testdata/testapply/helm-status-check-to-release-existence/log index 223b67ad..3dd5b87b 100644 --- a/pkg/app/testdata/testapply/helm-status-check-to-release-existence/log +++ b/pkg/app/testdata/testapply/helm-status-check-to-release-existence/log @@ -1,32 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: - name: foo_notFound - 5: chart: stable/mychart1 - 6: installed: false - 7: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: - name: foo_notFound - 5: chart: stable/mychart1 - 6: installed: false - 7: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/install-with-upgrade-with-skip-diff-on-install/log b/pkg/app/testdata/testapply/install-with-upgrade-with-skip-diff-on-install/log index e309756f..c5e811d4 100644 --- a/pkg/app/testdata/testapply/install-with-upgrade-with-skip-diff-on-install/log +++ b/pkg/app/testdata/testapply/install-with-upgrade-with-skip-diff-on-install/log @@ -1,44 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: baz - 3: chart: stable/mychart3 - 4: disableValidationOnInstall: true - 5: - name: foo - 6: chart: stable/mychart1 - 7: disableValidationOnInstall: true - 8: needs: - 9: - bar -10: - name: bar -11: chart: stable/mychart2 -12: disableValidation: true -13: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: baz - 3: chart: stable/mychart3 - 4: disableValidationOnInstall: true - 5: - name: foo - 6: chart: stable/mychart1 - 7: disableValidationOnInstall: true - 8: needs: - 9: - bar -10: - name: bar -11: chart: stable/mychart2 -12: disableValidation: true -13: - merged environment: &{default map[] map[]} 3 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/install-with-upgrade-with-validation-control/log b/pkg/app/testdata/testapply/install-with-upgrade-with-validation-control/log index e309756f..c5e811d4 100644 --- a/pkg/app/testdata/testapply/install-with-upgrade-with-validation-control/log +++ b/pkg/app/testdata/testapply/install-with-upgrade-with-validation-control/log @@ -1,44 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: baz - 3: chart: stable/mychart3 - 4: disableValidationOnInstall: true - 5: - name: foo - 6: chart: stable/mychart1 - 7: disableValidationOnInstall: true - 8: needs: - 9: - bar -10: - name: bar -11: chart: stable/mychart2 -12: disableValidation: true -13: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: baz - 3: chart: stable/mychart3 - 4: disableValidationOnInstall: true - 5: - name: foo - 6: chart: stable/mychart1 - 7: disableValidationOnInstall: true - 8: needs: - 9: - bar -10: - name: bar -11: chart: stable/mychart2 -12: disableValidation: true -13: - merged environment: &{default map[] map[]} 3 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/install/log b/pkg/app/testdata/testapply/install/log index 288e71a2..b6766a38 100644 --- a/pkg/app/testdata/testapply/install/log +++ b/pkg/app/testdata/testapply/install/log @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: baz - 3: chart: stable/mychart3 - 4: - name: foo - 5: chart: stable/mychart1 - 6: needs: - 7: - bar - 8: - name: bar - 9: chart: stable/mychart2 -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: baz - 3: chart: stable/mychart3 - 4: - name: foo - 5: chart: stable/mychart1 - 6: needs: - 7: - bar - 8: - name: bar - 9: chart: stable/mychart2 -10: - merged environment: &{default map[] map[]} 3 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/non-existent_release_in_needs/log b/pkg/app/testdata/testapply/non-existent_release_in_needs/log index b13e2b15..714f59fa 100644 --- a/pkg/app/testdata/testapply/non-existent_release_in_needs/log +++ b/pkg/app/testdata/testapply/non-existent_release_in_needs/log @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: baz - 3: namespace: ns1 - 4: chart: mychart3 - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - ns1/bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: baz - 3: namespace: ns1 - 4: chart: mychart3 - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - ns1/bar - 9: - merged environment: &{default map[] map[]} WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/noop/log b/pkg/app/testdata/testapply/noop/log index 89669abf..b9eb3b39 100644 --- a/pkg/app/testdata/testapply/noop/log +++ b/pkg/app/testdata/testapply/noop/log @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: - name: foo - 5: chart: stable/mychart1 - 6: installed: false - 7: needs: - 8: - bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: - name: foo - 5: chart: stable/mychart1 - 6: installed: false - 7: needs: - 8: - bar - 9: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/smoke/log b/pkg/app/testdata/testapply/smoke/log index 3745034a..f94cd7c1 100644 --- a/pkg/app/testdata/testapply/smoke/log +++ b/pkg/app/testdata/testapply/smoke/log @@ -1,126 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: database - 3: chart: charts/mysql - 4: needs: - 5: - logging - 6: - name: frontend-v1 - 7: chart: charts/frontend - 8: installed: false - 9: needs: -10: - servicemesh -11: - logging -12: - backend-v1 -13: - name: frontend-v2 -14: chart: charts/frontend -15: needs: -16: - servicemesh -17: - logging -18: - backend-v2 -19: - name: frontend-v3 -20: chart: charts/frontend -21: needs: -22: - servicemesh -23: - logging -24: - backend-v2 -25: - name: backend-v1 -26: chart: charts/backend -27: installed: false -28: needs: -29: - servicemesh -30: - logging -31: - database -32: - anotherbackend -33: - name: backend-v2 -34: chart: charts/backend -35: needs: -36: - servicemesh -37: - logging -38: - database -39: - anotherbackend -40: - name: anotherbackend -41: chart: charts/anotherbackend -42: needs: -43: - servicemesh -44: - logging -45: - database -46: - name: servicemesh -47: chart: charts/istio -48: needs: -49: - logging -50: - name: logging -51: chart: charts/fluent-bit -52: - name: front-proxy -53: chart: stable/envoy -54: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: database - 3: chart: charts/mysql - 4: needs: - 5: - logging - 6: - name: frontend-v1 - 7: chart: charts/frontend - 8: installed: false - 9: needs: -10: - servicemesh -11: - logging -12: - backend-v1 -13: - name: frontend-v2 -14: chart: charts/frontend -15: needs: -16: - servicemesh -17: - logging -18: - backend-v2 -19: - name: frontend-v3 -20: chart: charts/frontend -21: needs: -22: - servicemesh -23: - logging -24: - backend-v2 -25: - name: backend-v1 -26: chart: charts/backend -27: installed: false -28: needs: -29: - servicemesh -30: - logging -31: - database -32: - anotherbackend -33: - name: backend-v2 -34: chart: charts/backend -35: needs: -36: - servicemesh -37: - logging -38: - database -39: - anotherbackend -40: - name: anotherbackend -41: chart: charts/anotherbackend -42: needs: -43: - servicemesh -44: - logging -45: - database -46: - name: servicemesh -47: chart: charts/istio -48: needs: -49: - logging -50: - name: logging -51: chart: charts/fluent-bit -52: - name: front-proxy -53: chart: stable/envoy -54: - merged environment: &{default map[] map[]} 10 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/unselected_release_in_needs/log b/pkg/app/testdata/testapply/unselected_release_in_needs/log index fd4dca83..9f34aacd 100644 --- a/pkg/app/testdata/testapply/unselected_release_in_needs/log +++ b/pkg/app/testdata/testapply/unselected_release_in_needs/log @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: namespace: ns1 - 4: chart: mychart3 - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - ns1/bar - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: namespace: ns1 - 4: chart: mychart3 - 5: - name: foo - 6: chart: mychart1 - 7: needs: - 8: - ns1/bar - 9: - merged environment: &{default map[] map[]} 1 release(s) matching name=foo found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/upgrade_when_bar_needs_foo,_with_ns_override/log b/pkg/app/testdata/testapply/upgrade_when_bar_needs_foo,_with_ns_override/log index 75c0b4ce..c216b8ee 100644 --- a/pkg/app/testdata/testapply/upgrade_when_bar_needs_foo,_with_ns_override/log +++ b/pkg/app/testdata/testapply/upgrade_when_bar_needs_foo,_with_ns_override/log @@ -1,34 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: stable/mychart1 - 4: - name: bar - 5: chart: stable/mychart2 - 6: needs: - 7: - foo - 8: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: stable/mychart1 - 4: - name: bar - 5: chart: stable/mychart2 - 6: needs: - 7: - foo - 8: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/upgrade_when_bar_needs_foo/log b/pkg/app/testdata/testapply/upgrade_when_bar_needs_foo/log index 0854f6f9..06004eba 100644 --- a/pkg/app/testdata/testapply/upgrade_when_bar_needs_foo/log +++ b/pkg/app/testdata/testapply/upgrade_when_bar_needs_foo/log @@ -1,34 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: stable/mychart1 - 4: - name: bar - 5: chart: stable/mychart2 - 6: needs: - 7: - foo - 8: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: stable/mychart1 - 4: - name: bar - 5: chart: stable/mychart2 - 6: needs: - 7: - foo - 8: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/upgrade_when_foo_needs_bar,_with_ns_override/log b/pkg/app/testdata/testapply/upgrade_when_foo_needs_bar,_with_ns_override/log index 18819452..f590244f 100644 --- a/pkg/app/testdata/testapply/upgrade_when_foo_needs_bar,_with_ns_override/log +++ b/pkg/app/testdata/testapply/upgrade_when_foo_needs_bar,_with_ns_override/log @@ -1,34 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: - name: foo - 5: chart: stable/mychart1 - 6: needs: - 7: - bar - 8: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: - name: foo - 5: chart: stable/mychart1 - 6: needs: - 7: - bar - 8: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/upgrade_when_foo_needs_bar/log b/pkg/app/testdata/testapply/upgrade_when_foo_needs_bar/log index 38252743..53a2991c 100644 --- a/pkg/app/testdata/testapply/upgrade_when_foo_needs_bar/log +++ b/pkg/app/testdata/testapply/upgrade_when_foo_needs_bar/log @@ -1,34 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: - name: foo - 5: chart: stable/mychart1 - 6: needs: - 7: - bar - 8: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: - name: foo - 5: chart: stable/mychart1 - 6: needs: - 7: - bar - 8: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/upgrade_when_ns1/foo_needs_ns2/bar/log b/pkg/app/testdata/testapply/upgrade_when_ns1/foo_needs_ns2/bar/log index 6f129537..13ca7ee3 100644 --- a/pkg/app/testdata/testapply/upgrade_when_ns1/foo_needs_ns2/bar/log +++ b/pkg/app/testdata/testapply/upgrade_when_ns1/foo_needs_ns2/bar/log @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: stable/mychart1 - 4: namespace: ns1 - 5: needs: - 6: - ns2/bar - 7: - name: bar - 8: chart: stable/mychart2 - 9: namespace: ns2 -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: stable/mychart1 - 4: namespace: ns1 - 5: needs: - 6: - ns2/bar - 7: - name: bar - 8: chart: stable/mychart2 - 9: namespace: ns2 -10: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/upgrade_when_ns2/bar_needs_ns1/foo/log b/pkg/app/testdata/testapply/upgrade_when_ns2/bar_needs_ns1/foo/log index 76015ef1..5e96b8fd 100644 --- a/pkg/app/testdata/testapply/upgrade_when_ns2/bar_needs_ns1/foo/log +++ b/pkg/app/testdata/testapply/upgrade_when_ns2/bar_needs_ns1/foo/log @@ -1,38 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: namespace: ns2 - 5: needs: - 6: - ns1/foo - 7: - name: foo - 8: chart: stable/mychart1 - 9: namespace: ns1 -10: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: bar - 3: chart: stable/mychart2 - 4: namespace: ns2 - 5: needs: - 6: - ns1/foo - 7: - name: foo - 8: chart: stable/mychart1 - 9: namespace: ns1 -10: - merged environment: &{default map[] map[]} 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testapply/upgrades_with_bad_selector/log b/pkg/app/testdata/testapply/upgrades_with_bad_selector/log index 37de515c..8e3e99cf 100644 --- a/pkg/app/testdata/testapply/upgrades_with_bad_selector/log +++ b/pkg/app/testdata/testapply/upgrades_with_bad_selector/log @@ -1,39 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -60,6 +28,6 @@ second-pass rendering result of "helmfile.yaml.part.0": 23: merged environment: &{default map[] map[]} -0 release(s) matching app=test_non_existent found in helmfile.yaml +0 release(s) matching app=test_non_existent found in helmfile.yaml.gotmpl changing working directory back to "/path/to" diff --git a/pkg/app/testdata/testapply/upgrades_with_good_selector_with_--skip-needs=false_--include-needs=true/log b/pkg/app/testdata/testapply/upgrades_with_good_selector_with_--skip-needs=false_--include-needs=true/log index b286816b..f29aa140 100644 --- a/pkg/app/testdata/testapply/upgrades_with_good_selector_with_--skip-needs=false_--include-needs=true/log +++ b/pkg/app/testdata/testapply/upgrades_with_good_selector_with_--skip-needs=false_--include-needs=true/log @@ -1,39 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -60,7 +28,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 23: merged environment: &{default map[] map[]} -2 release(s) matching app=test found in helmfile.yaml +2 release(s) matching app=test found in helmfile.yaml.gotmpl err: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies changing working directory back to "/path/to" diff --git a/pkg/app/testdata/testapply/upgrades_with_good_selector_with_--skip-needs=true/log b/pkg/app/testdata/testapply/upgrades_with_good_selector_with_--skip-needs=true/log index d1a55a90..65c32bd4 100644 --- a/pkg/app/testdata/testapply/upgrades_with_good_selector_with_--skip-needs=true/log +++ b/pkg/app/testdata/testapply/upgrades_with_good_selector_with_--skip-needs=true/log @@ -1,39 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -60,7 +28,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 23: merged environment: &{default map[] map[]} -2 release(s) matching app=test found in helmfile.yaml +2 release(s) matching app=test found in helmfile.yaml.gotmpl Affected releases are: external-secrets (incubator/raw) UPDATED diff --git a/pkg/app/testdata/testapply_2/bad_--selector/log b/pkg/app/testdata/testapply_2/bad_--selector/log new file mode 100644 index 00000000..8e3e99cf --- /dev/null +++ b/pkg/app/testdata/testapply_2/bad_--selector/log @@ -0,0 +1,33 @@ +processing file "helmfile.yaml.gotmpl" in directory "." +changing working directory to "/path/to" +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": + 0: + 1: + 2: + 3: releases: + 4: - name: kubernetes-external-secrets + 5: chart: incubator/raw + 6: namespace: kube-system + 7: + 8: - name: external-secrets + 9: chart: incubator/raw +10: namespace: default +11: labels: +12: app: test +13: needs: +14: - kube-system/kubernetes-external-secrets +15: +16: - name: my-release +17: chart: incubator/raw +18: namespace: default +19: labels: +20: app: test +21: needs: +22: - default/external-secrets +23: + +merged environment: &{default map[] map[]} +0 release(s) matching app=test_non_existent found in helmfile.yaml.gotmpl + +changing working directory back to "/path/to" diff --git a/pkg/app/testdata/testapply_2/deduplicate_by_--selector/log b/pkg/app/testdata/testapply_2/deduplicate_by_--selector/log index dfde4bdd..6e400919 100644 --- a/pkg/app/testdata/testapply_2/deduplicate_by_--selector/log +++ b/pkg/app/testdata/testapply_2/deduplicate_by_--selector/log @@ -1,52 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: incubator/raw - 4: namespace: default - 5: labels: - 6: app: test - 7: component: raw - 8: index: '1' - 9: -10: - name: foo -11: chart: incubator/raw -12: namespace: default -13: labels: -14: app: test -15: component: raw -16: index: '2' -17: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: incubator/raw - 4: namespace: default - 5: labels: - 6: app: test - 7: component: raw - 8: index: '1' - 9: -10: - name: foo -11: chart: incubator/raw -12: namespace: default -13: labels: -14: app: test -15: component: raw -16: index: '2' -17: - merged environment: &{default map[] map[]} 1 release(s) matching index=1 found in helmfile.yaml diff --git a/pkg/app/testdata/testapply_2/include-transitive-needs=true/log b/pkg/app/testdata/testapply_2/include-transitive-needs=true/log index 80fe6952..c4fd365e 100644 --- a/pkg/app/testdata/testapply_2/include-transitive-needs=true/log +++ b/pkg/app/testdata/testapply_2/include-transitive-needs=true/log @@ -1,35 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: serviceA - 5: chart: my/chart - 6: needs: - 7: - serviceB - 8: - 9: - name: serviceB -10: chart: my/chart -11: needs: -12: - serviceC -13: -14: - name: serviceC -15: chart: my/chart -16: -17: - name: serviceD -18: chart: my/chart -19: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -52,7 +24,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 19: merged environment: &{default map[] map[]} -3 release(s) matching name=serviceA found in helmfile.yaml +3 release(s) matching name=serviceA found in helmfile.yaml.gotmpl Affected releases are: serviceA (my/chart) UPDATED diff --git a/pkg/app/testdata/testapply_2/select_non_existent_release_with_--allow-no-matching-release/log b/pkg/app/testdata/testapply_2/select_non_existent_release_with_--allow-no-matching-release/log index ed58f794..2c735ba9 100644 --- a/pkg/app/testdata/testapply_2/select_non_existent_release_with_--allow-no-matching-release/log +++ b/pkg/app/testdata/testapply_2/select_non_existent_release_with_--allow-no-matching-release/log @@ -1,44 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: incubator/raw - 4: namespace: default - 5: labels: - 6: app: test - 7: - 8: - name: bar - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: incubator/raw - 4: namespace: default - 5: labels: - 6: app: test - 7: - 8: - name: bar - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: - merged environment: &{default map[] map[]} 0 release(s) matching app=foo found in helmfile.yaml diff --git a/pkg/app/testdata/testapply_2/select_single_release_from_helmfile_with_two_duplicates/log b/pkg/app/testdata/testapply_2/select_single_release_from_helmfile_with_two_duplicates/log index 5aad40b2..07be1f75 100644 --- a/pkg/app/testdata/testapply_2/select_single_release_from_helmfile_with_two_duplicates/log +++ b/pkg/app/testdata/testapply_2/select_single_release_from_helmfile_with_two_duplicates/log @@ -1,56 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: incubator/raw - 4: namespace: default - 5: labels: - 6: app: test - 7: - 8: - name: bar - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: build -13: -14: - name: bar -15: chart: incubator/raw -16: namespace: default -17: labels: -18: app: test -19: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: foo - 3: chart: incubator/raw - 4: namespace: default - 5: labels: - 6: app: test - 7: - 8: - name: bar - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: build -13: -14: - name: bar -15: chart: incubator/raw -16: namespace: default -17: labels: -18: app: test -19: - merged environment: &{default map[] map[]} 1 release(s) matching name=foo found in helmfile.yaml diff --git a/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true/log b/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true/log index 0350fb56..fad7bdc6 100644 --- a/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true/log +++ b/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true/log @@ -1,39 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -60,7 +28,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 23: merged environment: &{default map[] map[]} -2 release(s) matching app=test found in helmfile.yaml +2 release(s) matching app=test found in helmfile.yaml.gotmpl Affected releases are: external-secrets (incubator/raw) UPDATED diff --git a/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_but_no_diff_on_needed_release/log b/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_but_no_diff_on_needed_release/log index 2f1fa1f1..370e8e8e 100644 --- a/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_but_no_diff_on_needed_release/log +++ b/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_but_no_diff_on_needed_release/log @@ -1,39 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -60,7 +28,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 23: merged environment: &{default map[] map[]} -2 release(s) matching app=test found in helmfile.yaml +2 release(s) matching app=test found in helmfile.yaml.gotmpl Affected releases are: external-secrets (incubator/raw) UPDATED diff --git a/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_with_installed_but_disabled_release/log b/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_with_installed_but_disabled_release/log index c6a51f3c..9998300d 100644 --- a/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_with_installed_but_disabled_release/log +++ b/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_with_installed_but_disabled_release/log @@ -1,40 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: installed: false - 8: - 9: - name: external-secrets -10: chart: incubator/raw -11: namespace: default -12: labels: -13: app: test -14: needs: -15: - kube-system/kubernetes-external-secrets -16: -17: - name: my-release -18: chart: incubator/raw -19: namespace: default -20: labels: -21: app: test -22: needs: -23: - default/external-secrets -24: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -63,7 +30,7 @@ second-pass rendering result of "helmfile.yaml.part.0": merged environment: &{default map[] map[]} WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs -2 release(s) matching app=test found in helmfile.yaml +2 release(s) matching app=test found in helmfile.yaml.gotmpl WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs Affected releases are: diff --git a/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_with_not_installed_and_disabled_release/log b/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_with_not_installed_and_disabled_release/log index 13ca54dd..6bf96b12 100644 --- a/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_with_not_installed_and_disabled_release/log +++ b/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_with_not_installed_and_disabled_release/log @@ -1,40 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: installed: false - 8: - 9: - name: external-secrets -10: chart: incubator/raw -11: namespace: default -12: labels: -13: app: test -14: needs: -15: - kube-system/kubernetes-external-secrets -16: -17: - name: my-release -18: chart: incubator/raw -19: namespace: default -20: labels: -21: app: test -22: needs: -23: - default/external-secrets -24: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -63,7 +30,7 @@ second-pass rendering result of "helmfile.yaml.part.0": merged environment: &{default map[] map[]} WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs -2 release(s) matching app=test found in helmfile.yaml +2 release(s) matching app=test found in helmfile.yaml.gotmpl WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs Affected releases are: diff --git a/pkg/app/testdata/testapply_2/skip-needs=true/log b/pkg/app/testdata/testapply_2/skip-needs=true/log index d1a55a90..65c32bd4 100644 --- a/pkg/app/testdata/testapply_2/skip-needs=true/log +++ b/pkg/app/testdata/testapply_2/skip-needs=true/log @@ -1,39 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -60,7 +28,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 23: merged environment: &{default map[] map[]} -2 release(s) matching app=test found in helmfile.yaml +2 release(s) matching app=test found in helmfile.yaml.gotmpl Affected releases are: external-secrets (incubator/raw) UPDATED diff --git a/pkg/app/testdata/testapply_2/skip-needs=true_with_no_diff_on_a_release/log b/pkg/app/testdata/testapply_2/skip-needs=true_with_no_diff_on_a_release/log index 26968c1e..1f4c6d72 100644 --- a/pkg/app/testdata/testapply_2/skip-needs=true_with_no_diff_on_a_release/log +++ b/pkg/app/testdata/testapply_2/skip-needs=true_with_no_diff_on_a_release/log @@ -1,39 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -60,7 +28,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 23: merged environment: &{default map[] map[]} -2 release(s) matching app=test found in helmfile.yaml +2 release(s) matching app=test found in helmfile.yaml.gotmpl Affected releases are: external-secrets (incubator/raw) UPDATED diff --git a/pkg/app/testdata/testapply_3/bad_--selector/log b/pkg/app/testdata/testapply_3/bad_--selector/log new file mode 100644 index 00000000..8e3e99cf --- /dev/null +++ b/pkg/app/testdata/testapply_3/bad_--selector/log @@ -0,0 +1,33 @@ +processing file "helmfile.yaml.gotmpl" in directory "." +changing working directory to "/path/to" +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": + 0: + 1: + 2: + 3: releases: + 4: - name: kubernetes-external-secrets + 5: chart: incubator/raw + 6: namespace: kube-system + 7: + 8: - name: external-secrets + 9: chart: incubator/raw +10: namespace: default +11: labels: +12: app: test +13: needs: +14: - kube-system/kubernetes-external-secrets +15: +16: - name: my-release +17: chart: incubator/raw +18: namespace: default +19: labels: +20: app: test +21: needs: +22: - default/external-secrets +23: + +merged environment: &{default map[] map[]} +0 release(s) matching app=test_non_existent found in helmfile.yaml.gotmpl + +changing working directory back to "/path/to" diff --git a/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true/log b/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true/log index 4193cc54..4245010a 100644 --- a/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true/log +++ b/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true/log @@ -1,39 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -60,7 +28,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 23: merged environment: &{default map[] map[]} -2 release(s) matching app=test found in helmfile.yaml +2 release(s) matching app=test found in helmfile.yaml.gotmpl Affected releases are: external-secrets (incubator/raw) UPDATED diff --git a/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_but_no_diff_on_needed_release/log b/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_but_no_diff_on_needed_release/log index 1b585c5b..653c58c2 100644 --- a/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_but_no_diff_on_needed_release/log +++ b/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_but_no_diff_on_needed_release/log @@ -1,39 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -60,7 +28,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 23: merged environment: &{default map[] map[]} -2 release(s) matching app=test found in helmfile.yaml +2 release(s) matching app=test found in helmfile.yaml.gotmpl Affected releases are: external-secrets (incubator/raw) UPDATED diff --git a/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_with_installed_but_disabled_release/log b/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_with_installed_but_disabled_release/log index 84e5b96e..0996c8a0 100644 --- a/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_with_installed_but_disabled_release/log +++ b/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_with_installed_but_disabled_release/log @@ -1,40 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: installed: false - 8: - 9: - name: external-secrets -10: chart: incubator/raw -11: namespace: default -12: labels: -13: app: test -14: needs: -15: - kube-system/kubernetes-external-secrets -16: -17: - name: my-release -18: chart: incubator/raw -19: namespace: default -20: labels: -21: app: test -22: needs: -23: - default/external-secrets -24: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -63,7 +30,7 @@ second-pass rendering result of "helmfile.yaml.part.0": merged environment: &{default map[] map[]} WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs -2 release(s) matching app=test found in helmfile.yaml +2 release(s) matching app=test found in helmfile.yaml.gotmpl WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs Affected releases are: diff --git a/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_with_not_installed_and_disabled_release/log b/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_with_not_installed_and_disabled_release/log index 3018fdfa..222191de 100644 --- a/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_with_not_installed_and_disabled_release/log +++ b/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_with_not_installed_and_disabled_release/log @@ -1,40 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: installed: false - 8: - 9: - name: external-secrets -10: chart: incubator/raw -11: namespace: default -12: labels: -13: app: test -14: needs: -15: - kube-system/kubernetes-external-secrets -16: -17: - name: my-release -18: chart: incubator/raw -19: namespace: default -20: labels: -21: app: test -22: needs: -23: - default/external-secrets -24: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -63,7 +30,7 @@ second-pass rendering result of "helmfile.yaml.part.0": merged environment: &{default map[] map[]} WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs -2 release(s) matching app=test found in helmfile.yaml +2 release(s) matching app=test found in helmfile.yaml.gotmpl WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs Affected releases are: diff --git a/pkg/app/testdata/testapply_3/skip-needs=true/log b/pkg/app/testdata/testapply_3/skip-needs=true/log index e7200b58..3a82d6bc 100644 --- a/pkg/app/testdata/testapply_3/skip-needs=true/log +++ b/pkg/app/testdata/testapply_3/skip-needs=true/log @@ -1,39 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -60,7 +28,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 23: merged environment: &{default map[] map[]} -2 release(s) matching app=test found in helmfile.yaml +2 release(s) matching app=test found in helmfile.yaml.gotmpl Affected releases are: external-secrets (incubator/raw) UPDATED diff --git a/pkg/app/testdata/testapply_3/skip-needs=true_with_no_diff_on_a_release/log b/pkg/app/testdata/testapply_3/skip-needs=true_with_no_diff_on_a_release/log index 0bb7dd4b..3c4dc215 100644 --- a/pkg/app/testdata/testapply_3/skip-needs=true_with_no_diff_on_a_release/log +++ b/pkg/app/testdata/testapply_3/skip-needs=true_with_no_diff_on_a_release/log @@ -1,39 +1,7 @@ -processing file "helmfile.yaml" in directory "." +processing file "helmfile.yaml.gotmpl" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: - 2: - 3: releases: - 4: - name: kubernetes-external-secrets - 5: chart: incubator/raw - 6: namespace: kube-system - 7: - 8: - name: external-secrets - 9: chart: incubator/raw -10: namespace: default -11: labels: -12: app: test -13: needs: -14: - kube-system/kubernetes-external-secrets -15: -16: - name: my-release -17: chart: incubator/raw -18: namespace: default -19: labels: -20: app: test -21: needs: -22: - default/external-secrets -23: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": +rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode= +rendering result of "helmfile.yaml.gotmpl.part.0": 0: 1: 2: @@ -60,7 +28,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 23: merged environment: &{default map[] map[]} -2 release(s) matching app=test found in helmfile.yaml +2 release(s) matching app=test found in helmfile.yaml.gotmpl Affected releases are: external-secrets (incubator/raw) UPDATED diff --git a/pkg/app/testdata/testdeps/smoke/log b/pkg/app/testdata/testdeps/smoke/log new file mode 100644 index 00000000..52b88928 --- /dev/null +++ b/pkg/app/testdata/testdeps/smoke/log @@ -0,0 +1,7 @@ +processing file "helmfile.yaml" in directory "." +changing working directory to "/path/to" +merged environment: &{default map[] map[]} +There are no repositories defined in your helmfile.yaml. +This means helmfile cannot update your dependencies or create a lock file. +See https://github.com/roboll/helmfile/issues/878 for more information. +changing working directory back to "/path/to" diff --git a/pkg/app/testdata/testdestroy/destroy_installed_but_disabled_release/log b/pkg/app/testdata/testdestroy/destroy_installed_but_disabled_release/log index e7d3352d..a7eea328 100644 --- a/pkg/app/testdata/testdestroy/destroy_installed_but_disabled_release/log +++ b/pkg/app/testdata/testdestroy/destroy_installed_but_disabled_release/log @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: backend-v1 - 3: chart: charts/backend - 4: installed: false - 5: - name: frontend-v1 - 6: chart: charts/frontend - 7: needs: - 8: - backend-v1 - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: backend-v1 - 3: chart: charts/backend - 4: installed: false - 5: - name: frontend-v1 - 6: chart: charts/frontend - 7: needs: - 8: - backend-v1 - 9: - merged environment: &{default map[] map[]} WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testdestroy/destroy_only_one_release_with_selector/log b/pkg/app/testdata/testdestroy/destroy_only_one_release_with_selector/log index 8e164254..c8731536 100644 --- a/pkg/app/testdata/testdestroy/destroy_only_one_release_with_selector/log +++ b/pkg/app/testdata/testdestroy/destroy_only_one_release_with_selector/log @@ -1,126 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: database - 3: chart: charts/mysql - 4: needs: - 5: - logging - 6: - name: frontend-v1 - 7: chart: charts/frontend - 8: installed: false - 9: needs: -10: - servicemesh -11: - logging -12: - backend-v1 -13: - name: frontend-v2 -14: chart: charts/frontend -15: needs: -16: - servicemesh -17: - logging -18: - backend-v2 -19: - name: frontend-v3 -20: chart: charts/frontend -21: needs: -22: - servicemesh -23: - logging -24: - backend-v2 -25: - name: backend-v1 -26: chart: charts/backend -27: installed: false -28: needs: -29: - servicemesh -30: - logging -31: - database -32: - anotherbackend -33: - name: backend-v2 -34: chart: charts/backend -35: needs: -36: - servicemesh -37: - logging -38: - database -39: - anotherbackend -40: - name: anotherbackend -41: chart: charts/anotherbackend -42: needs: -43: - servicemesh -44: - logging -45: - database -46: - name: servicemesh -47: chart: charts/istio -48: needs: -49: - logging -50: - name: logging -51: chart: charts/fluent-bit -52: - name: front-proxy -53: chart: stable/envoy -54: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: database - 3: chart: charts/mysql - 4: needs: - 5: - logging - 6: - name: frontend-v1 - 7: chart: charts/frontend - 8: installed: false - 9: needs: -10: - servicemesh -11: - logging -12: - backend-v1 -13: - name: frontend-v2 -14: chart: charts/frontend -15: needs: -16: - servicemesh -17: - logging -18: - backend-v2 -19: - name: frontend-v3 -20: chart: charts/frontend -21: needs: -22: - servicemesh -23: - logging -24: - backend-v2 -25: - name: backend-v1 -26: chart: charts/backend -27: installed: false -28: needs: -29: - servicemesh -30: - logging -31: - database -32: - anotherbackend -33: - name: backend-v2 -34: chart: charts/backend -35: needs: -36: - servicemesh -37: - logging -38: - database -39: - anotherbackend -40: - name: anotherbackend -41: chart: charts/anotherbackend -42: needs: -43: - servicemesh -44: - logging -45: - database -46: - name: servicemesh -47: chart: charts/istio -48: needs: -49: - logging -50: - name: logging -51: chart: charts/fluent-bit -52: - name: front-proxy -53: chart: stable/envoy -54: - merged environment: &{default map[] map[]} 1 release(s) matching name=logging found in helmfile.yaml diff --git a/pkg/app/testdata/testdestroy/helm3/log b/pkg/app/testdata/testdestroy/helm3/log index e7d3352d..a7eea328 100644 --- a/pkg/app/testdata/testdestroy/helm3/log +++ b/pkg/app/testdata/testdestroy/helm3/log @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: backend-v1 - 3: chart: charts/backend - 4: installed: false - 5: - name: frontend-v1 - 6: chart: charts/frontend - 7: needs: - 8: - backend-v1 - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: backend-v1 - 3: chart: charts/backend - 4: installed: false - 5: - name: frontend-v1 - 6: chart: charts/frontend - 7: needs: - 8: - backend-v1 - 9: - merged environment: &{default map[] map[]} WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testdestroy/smoke/log b/pkg/app/testdata/testdestroy/smoke/log index 0c5d84fe..3a28bfe7 100644 --- a/pkg/app/testdata/testdestroy/smoke/log +++ b/pkg/app/testdata/testdestroy/smoke/log @@ -1,126 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: database - 3: chart: charts/mysql - 4: needs: - 5: - logging - 6: - name: frontend-v1 - 7: chart: charts/frontend - 8: installed: false - 9: needs: -10: - servicemesh -11: - logging -12: - backend-v1 -13: - name: frontend-v2 -14: chart: charts/frontend -15: needs: -16: - servicemesh -17: - logging -18: - backend-v2 -19: - name: frontend-v3 -20: chart: charts/frontend -21: needs: -22: - servicemesh -23: - logging -24: - backend-v2 -25: - name: backend-v1 -26: chart: charts/backend -27: installed: false -28: needs: -29: - servicemesh -30: - logging -31: - database -32: - anotherbackend -33: - name: backend-v2 -34: chart: charts/backend -35: needs: -36: - servicemesh -37: - logging -38: - database -39: - anotherbackend -40: - name: anotherbackend -41: chart: charts/anotherbackend -42: needs: -43: - servicemesh -44: - logging -45: - database -46: - name: servicemesh -47: chart: charts/istio -48: needs: -49: - logging -50: - name: logging -51: chart: charts/fluent-bit -52: - name: front-proxy -53: chart: stable/envoy -54: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: database - 3: chart: charts/mysql - 4: needs: - 5: - logging - 6: - name: frontend-v1 - 7: chart: charts/frontend - 8: installed: false - 9: needs: -10: - servicemesh -11: - logging -12: - backend-v1 -13: - name: frontend-v2 -14: chart: charts/frontend -15: needs: -16: - servicemesh -17: - logging -18: - backend-v2 -19: - name: frontend-v3 -20: chart: charts/frontend -21: needs: -22: - servicemesh -23: - logging -24: - backend-v2 -25: - name: backend-v1 -26: chart: charts/backend -27: installed: false -28: needs: -29: - servicemesh -30: - logging -31: - database -32: - anotherbackend -33: - name: backend-v2 -34: chart: charts/backend -35: needs: -36: - servicemesh -37: - logging -38: - database -39: - anotherbackend -40: - name: anotherbackend -41: chart: charts/anotherbackend -42: needs: -43: - servicemesh -44: - logging -45: - database -46: - name: servicemesh -47: chart: charts/istio -48: needs: -49: - logging -50: - name: logging -51: chart: charts/fluent-bit -52: - name: front-proxy -53: chart: stable/envoy -54: - merged environment: &{default map[] map[]} 10 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testdestroy_2/destroy_installed_but_disabled_release/log b/pkg/app/testdata/testdestroy_2/destroy_installed_but_disabled_release/log index 04b1ccfd..eebb5cdb 100644 --- a/pkg/app/testdata/testdestroy_2/destroy_installed_but_disabled_release/log +++ b/pkg/app/testdata/testdestroy_2/destroy_installed_but_disabled_release/log @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: backend-v1 - 3: chart: charts/backend - 4: installed: false - 5: - name: frontend-v1 - 6: chart: charts/frontend - 7: needs: - 8: - backend-v1 - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: backend-v1 - 3: chart: charts/backend - 4: installed: false - 5: - name: frontend-v1 - 6: chart: charts/frontend - 7: needs: - 8: - backend-v1 - 9: - merged environment: &{default map[] map[]} WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testdestroy_2/destroy_only_one_release_with_selector/log b/pkg/app/testdata/testdestroy_2/destroy_only_one_release_with_selector/log index df88f3de..253339d8 100644 --- a/pkg/app/testdata/testdestroy_2/destroy_only_one_release_with_selector/log +++ b/pkg/app/testdata/testdestroy_2/destroy_only_one_release_with_selector/log @@ -1,126 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: database - 3: chart: charts/mysql - 4: needs: - 5: - logging - 6: - name: frontend-v1 - 7: chart: charts/frontend - 8: installed: false - 9: needs: -10: - servicemesh -11: - logging -12: - backend-v1 -13: - name: frontend-v2 -14: chart: charts/frontend -15: needs: -16: - servicemesh -17: - logging -18: - backend-v2 -19: - name: frontend-v3 -20: chart: charts/frontend -21: needs: -22: - servicemesh -23: - logging -24: - backend-v2 -25: - name: backend-v1 -26: chart: charts/backend -27: installed: false -28: needs: -29: - servicemesh -30: - logging -31: - database -32: - anotherbackend -33: - name: backend-v2 -34: chart: charts/backend -35: needs: -36: - servicemesh -37: - logging -38: - database -39: - anotherbackend -40: - name: anotherbackend -41: chart: charts/anotherbackend -42: needs: -43: - servicemesh -44: - logging -45: - database -46: - name: servicemesh -47: chart: charts/istio -48: needs: -49: - logging -50: - name: logging -51: chart: charts/fluent-bit -52: - name: front-proxy -53: chart: stable/envoy -54: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: database - 3: chart: charts/mysql - 4: needs: - 5: - logging - 6: - name: frontend-v1 - 7: chart: charts/frontend - 8: installed: false - 9: needs: -10: - servicemesh -11: - logging -12: - backend-v1 -13: - name: frontend-v2 -14: chart: charts/frontend -15: needs: -16: - servicemesh -17: - logging -18: - backend-v2 -19: - name: frontend-v3 -20: chart: charts/frontend -21: needs: -22: - servicemesh -23: - logging -24: - backend-v2 -25: - name: backend-v1 -26: chart: charts/backend -27: installed: false -28: needs: -29: - servicemesh -30: - logging -31: - database -32: - anotherbackend -33: - name: backend-v2 -34: chart: charts/backend -35: needs: -36: - servicemesh -37: - logging -38: - database -39: - anotherbackend -40: - name: anotherbackend -41: chart: charts/anotherbackend -42: needs: -43: - servicemesh -44: - logging -45: - database -46: - name: servicemesh -47: chart: charts/istio -48: needs: -49: - logging -50: - name: logging -51: chart: charts/fluent-bit -52: - name: front-proxy -53: chart: stable/envoy -54: - merged environment: &{default map[] map[]} 1 release(s) matching name=logging found in helmfile.yaml diff --git a/pkg/app/testdata/testdestroy_2/helm3/log b/pkg/app/testdata/testdestroy_2/helm3/log index 04b1ccfd..eebb5cdb 100644 --- a/pkg/app/testdata/testdestroy_2/helm3/log +++ b/pkg/app/testdata/testdestroy_2/helm3/log @@ -1,36 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: backend-v1 - 3: chart: charts/backend - 4: installed: false - 5: - name: frontend-v1 - 6: chart: charts/frontend - 7: needs: - 8: - backend-v1 - 9: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: backend-v1 - 3: chart: charts/backend - 4: installed: false - 5: - name: frontend-v1 - 6: chart: charts/frontend - 7: needs: - 8: - backend-v1 - 9: - merged environment: &{default map[] map[]} WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs 2 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testdestroy_2/smoke/log b/pkg/app/testdata/testdestroy_2/smoke/log index 007a08ef..e8987816 100644 --- a/pkg/app/testdata/testdestroy_2/smoke/log +++ b/pkg/app/testdata/testdestroy_2/smoke/log @@ -1,126 +1,5 @@ processing file "helmfile.yaml" in directory "." changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: database - 3: chart: charts/mysql - 4: needs: - 5: - logging - 6: - name: frontend-v1 - 7: chart: charts/frontend - 8: installed: false - 9: needs: -10: - servicemesh -11: - logging -12: - backend-v1 -13: - name: frontend-v2 -14: chart: charts/frontend -15: needs: -16: - servicemesh -17: - logging -18: - backend-v2 -19: - name: frontend-v3 -20: chart: charts/frontend -21: needs: -22: - servicemesh -23: - logging -24: - backend-v2 -25: - name: backend-v1 -26: chart: charts/backend -27: installed: false -28: needs: -29: - servicemesh -30: - logging -31: - database -32: - anotherbackend -33: - name: backend-v2 -34: chart: charts/backend -35: needs: -36: - servicemesh -37: - logging -38: - database -39: - anotherbackend -40: - name: anotherbackend -41: chart: charts/anotherbackend -42: needs: -43: - servicemesh -44: - logging -45: - database -46: - name: servicemesh -47: chart: charts/istio -48: needs: -49: - logging -50: - name: logging -51: chart: charts/fluent-bit -52: - name: front-proxy -53: chart: stable/envoy -54: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: database - 3: chart: charts/mysql - 4: needs: - 5: - logging - 6: - name: frontend-v1 - 7: chart: charts/frontend - 8: installed: false - 9: needs: -10: - servicemesh -11: - logging -12: - backend-v1 -13: - name: frontend-v2 -14: chart: charts/frontend -15: needs: -16: - servicemesh -17: - logging -18: - backend-v2 -19: - name: frontend-v3 -20: chart: charts/frontend -21: needs: -22: - servicemesh -23: - logging -24: - backend-v2 -25: - name: backend-v1 -26: chart: charts/backend -27: installed: false -28: needs: -29: - servicemesh -30: - logging -31: - database -32: - anotherbackend -33: - name: backend-v2 -34: chart: charts/backend -35: needs: -36: - servicemesh -37: - logging -38: - database -39: - anotherbackend -40: - name: anotherbackend -41: chart: charts/anotherbackend -42: needs: -43: - servicemesh -44: - logging -45: - database -46: - name: servicemesh -47: chart: charts/istio -48: needs: -49: - logging -50: - name: logging -51: chart: charts/fluent-bit -52: - name: front-proxy -53: chart: stable/envoy -54: - merged environment: &{default map[] map[]} 10 release(s) found in helmfile.yaml diff --git a/pkg/app/testdata/testreadfromyaml_rendertemplatelog/log b/pkg/app/testdata/testreadfromyaml_rendertemplatelog/log new file mode 100644 index 00000000..db8157f1 --- /dev/null +++ b/pkg/app/testdata/testreadfromyaml_rendertemplatelog/log @@ -0,0 +1,10 @@ +rendering starting for "": inherited=&{default map[] map[]}, overrode= +rendering result of "": + 0: + 1: releases: + 2: - name: foo + 3: chart: mychart1 + 4: - name: bar + 5: + 6: + diff --git a/pkg/app/two_pass_renderer.go b/pkg/app/two_pass_renderer.go index 221af0c2..fddfa307 100644 --- a/pkg/app/two_pass_renderer.go +++ b/pkg/app/two_pass_renderer.go @@ -5,10 +5,7 @@ import ( "fmt" "strings" - "github.com/google/go-cmp/cmp" - "github.com/helmfile/helmfile/pkg/environment" - "github.com/helmfile/helmfile/pkg/runtime" "github.com/helmfile/helmfile/pkg/state" "github.com/helmfile/helmfile/pkg/tmpl" ) @@ -22,52 +19,6 @@ func prependLineNumbers(text string) string { return buf.String() } -func (r *desiredStateLoader) renderPrestate(firstPassEnv, overrode *environment.Environment, baseDir, filename string, content []byte) (*environment.Environment, *state.HelmState) { - initEnv, err := firstPassEnv.Merge(overrode) - if err != nil { - return firstPassEnv, nil - } - tmplData := state.NewEnvironmentTemplateData(*initEnv, r.namespace, map[string]any{}) - firstPassRenderer := tmpl.NewFirstPassRenderer(baseDir, tmplData) - - // parse as much as we can, tolerate errors, this is a preparse - yamlBuf, err := firstPassRenderer.RenderTemplateContentToBuffer(content) - if err != nil { - r.logger.Debugf("first-pass rendering input of \"%s\":\n%s", filename, prependLineNumbers(string(content))) - r.logger.Debugf("template syntax error: %v", err) - if yamlBuf == nil { // we have a template syntax error, let the second parse report - return firstPassEnv, nil - } - } - yamlData := yamlBuf.String() - r.logger.Debugf("first-pass rendering output of \"%s\":\n%s", filename, prependLineNumbers(yamlData)) - - // Work-around for https://github.com/golang/go/issues/24963 - sanitized := strings.ReplaceAll(yamlData, "", "") - - if len(yamlData) != len(sanitized) { - msg := "replaced s to workaround https://github.com/golang/go/issues/24963 to address https://github.com/roboll/helmfile/issues/553:\n%s" - r.logger.Debugf(msg, cmp.Diff(yamlData, sanitized)) - } - - c := r.underlying() - c.Strict = false - // create preliminary state, as we may have an environment. Tolerate errors. - prestate, err := c.ParseAndLoad([]byte(sanitized), baseDir, filename, r.env, true, false, firstPassEnv, overrode) - if err != nil { - if _, ok := err.(*state.StateLoadError); ok { - r.logger.Debugf("could not deduce `environment:` block, configuring only .Environment.Name. error: %v", err) - } - r.logger.Debugf("error in first-pass rendering: result of \"%s\":\n%s", filename, prependLineNumbers(yamlBuf.String())) - } - - if prestate != nil { - firstPassEnv = &prestate.Env - } - - return firstPassEnv, prestate -} - type RenderOpts struct { } @@ -82,11 +33,7 @@ func (r *desiredStateLoader) renderTemplatesToYamlWithEnv(baseDir, filename stri } func (r *desiredStateLoader) twoPassRenderTemplateToYaml(inherited, overrode *environment.Environment, baseDir, filename string, content []byte) (*bytes.Buffer, error) { - // try a first pass render. This will always succeed, but can produce a limited env var phase string - if !runtime.V1Mode { - phase = "first-pass " - } r.logger.Debugf("%srendering starting for \"%s\": inherited=%v, overrode=%v", phase, filename, inherited, overrode) initEnv, err := inherited.Merge(nil) @@ -100,53 +47,14 @@ func (r *desiredStateLoader) twoPassRenderTemplateToYaml(inherited, overrode *en vals map[string]any ) - if runtime.V1Mode { - var err error + finalEnv, err = initEnv.Merge(overrode) + if err != nil { + return nil, err + } - finalEnv, err = initEnv.Merge(overrode) - if err != nil { - return nil, err - } - - vals, err = finalEnv.GetMergedValues() - if err != nil { - return nil, err - } - } else { - r.logger.Debugf("first-pass uses: %v", initEnv) - firstPassEnv, err := initEnv.Merge(nil) - if err != nil { - return nil, err - } - renderedEnv, prestate := r.renderPrestate(firstPassEnv, overrode, baseDir, filename, content) - - r.logger.Debugf("first-pass produced: %v", renderedEnv) - - mergedEnv, err := inherited.Merge(renderedEnv) - if err != nil { - return nil, err - } - - mergedEnv, err = mergedEnv.Merge(overrode) - if err != nil { - return nil, err - } - - r.logger.Debugf("first-pass rendering result of \"%s\": %v", filename, *mergedEnv) - - renderingPhase = "second-pass " - - finalEnv = mergedEnv - - vals, err = finalEnv.GetMergedValues() - if err != nil { - return nil, err - } - - if prestate != nil { - prestate.Env = *mergedEnv - r.logger.Debugf("vals:\n%v\ndefaultVals:%v", vals, prestate.DefaultValues) - } + vals, err = finalEnv.GetMergedValues() + if err != nil { + return nil, err } tmplData := state.NewEnvironmentTemplateData(*finalEnv, r.namespace, vals) diff --git a/pkg/app/two_pass_renderer_test.go b/pkg/app/two_pass_renderer_test.go index fde1630f..5190f9f6 100644 --- a/pkg/app/two_pass_renderer_test.go +++ b/pkg/app/two_pass_renderer_test.go @@ -7,7 +7,6 @@ import ( "github.com/helmfile/helmfile/pkg/helmexec" "github.com/helmfile/helmfile/pkg/remote" - "github.com/helmfile/helmfile/pkg/runtime" "github.com/helmfile/helmfile/pkg/state" "github.com/helmfile/helmfile/pkg/testhelper" "github.com/helmfile/helmfile/pkg/yaml" @@ -68,60 +67,6 @@ releases: } } -func TestReadFromYaml_RenderTemplate(t *testing.T) { - defaultValuesYaml := ` -releaseName: "hello" -conditionalReleaseTag: "yes" -` - - yamlContent := []byte(` -environments: - staging: - values: - - default/values.yaml - production: - -releases: -- name: {{ .Environment.Values.releaseName }} - chart: mychart1 - -{{ if (eq .Environment.Values.conditionalReleaseTag "yes") }} -- name: conditionalRelease -{{ end }} - -`) - - files := map[string]string{ - "/path/to/default/values.yaml": defaultValuesYaml, - } - - r, _, _ := makeLoader(files, "staging") - // test the double rendering - yamlBuf, err := r.renderTemplatesToYaml("", "", yamlContent) - if err != nil { - t.Fatalf("unexpected error: %v", err) - } - - var state state.HelmState - err = yaml.Unmarshal(yamlBuf.Bytes(), &state) - - if err != nil { - t.Errorf("unexpected error: %v", err) - } - - if len(state.Releases) != 2 { - t.Fatal("there should be 2 releases") - } - - if state.Releases[0].Name != "hello" { - t.Errorf("release name should be hello") - } - - if state.Releases[1].Name != "conditionalRelease" { - t.Error("conditional release should have been present") - } -} - func testReadFromYaml_RenderTemplateLog(t *testing.T) { t.Helper() @@ -165,20 +110,7 @@ releases: } func TestReadFromYaml_RenderTemplateLog(t *testing.T) { - v := runtime.V1Mode - t.Cleanup(func() { - runtime.V1Mode = v - }) - - t.Run("v0mode", func(t *testing.T) { - runtime.V1Mode = false - testReadFromYaml_RenderTemplateLog(t) - }) - - t.Run("v1mode", func(t *testing.T) { - runtime.V1Mode = true - testReadFromYaml_RenderTemplateLog(t) - }) + testReadFromYaml_RenderTemplateLog(t) } func TestReadFromYaml_RenderTemplateWithValuesReferenceError(t *testing.T) { @@ -211,51 +143,6 @@ releases: } } -// This test shows that a gotmpl reference will get rendered correctly -// even if the pre-render disables the readFile and exec functions. -// This does not apply to .gotmpl files, which is a nice side-effect. -func TestReadFromYaml_RenderTemplateWithGotmpl(t *testing.T) { - defaultValuesYamlGotmpl := ` -releaseName: {{ readFile "nonIgnoredFile" }} -` - - yamlContent := []byte(` -environments: - staging: - values: - - values.yaml.gotmpl - production: - -{{ if (eq .Environment.Values.releaseName "release-a") }} # line 8 -releases: -- name: a - chart: mychart1 -{{ end }} -`) - - files := map[string]string{ - "/path/to/nonIgnoredFile": `release-a`, - "/path/to/values.yaml.gotmpl": defaultValuesYamlGotmpl, - } - - r, _, _ := makeLoader(files, "staging") - rendered, _ := r.renderTemplatesToYaml("", "", yamlContent) - - var state state.HelmState - err := yaml.Unmarshal(rendered.Bytes(), &state) - if err != nil { - t.Fatalf("unexpected error: %v", err) - } - - if len(state.Releases) != 1 { - t.Fatal("there should be 1 release") - } - - if state.Releases[0].Name != "a" { - t.Fatal("release should have been declared") - } -} - func TestReadFromYaml_RenderTemplateWithNamespace(t *testing.T) { yamlContent := []byte(`releases: - name: {{ .Namespace }}-myrelease diff --git a/pkg/config/apply.go b/pkg/config/apply.go index e77592b5..d6f670a7 100644 --- a/pkg/config/apply.go +++ b/pkg/config/apply.go @@ -18,10 +18,6 @@ type ApplyOptions struct { DetailedExitcode bool // StripTrailingCR is true if trailing carriage returns should be stripped during diffing StripTrailingCR bool - // TODO: Remove this function once Helmfile v0.x - // DEPRECATED: Use skip-cleanup instead - RetainValuesFiles bool - // SkipCleanup is true if the cleanup of temporary values files should be skipped SkipCleanup bool // SkipCRDs is true if the CRDs should be skipped @@ -141,12 +137,6 @@ func (a *ApplyImpl) IncludeTransitiveNeeds() bool { return a.ApplyOptions.IncludeTransitiveNeeds } -// TODO: Remove this function once Helmfile v0.x -// RetainValuesFiles returns the retain values files. -func (a *ApplyImpl) RetainValuesFiles() bool { - return a.ApplyOptions.RetainValuesFiles -} - // ShowSecrets returns the show secrets. func (a *ApplyImpl) ShowSecrets() bool { return a.ApplyOptions.ShowSecrets diff --git a/pkg/config/charts.go b/pkg/config/charts.go deleted file mode 100644 index 859894bc..00000000 --- a/pkg/config/charts.go +++ /dev/null @@ -1,46 +0,0 @@ -// TODO: Remove this function once Helmfile v0.x -package config - -// ChartsOptions is the options for the build command -type ChartsOptions struct { - // Set is the additional values to be merged into the helm command --set flag - Set []string - // Values is the additional value files to be merged into the helm command --values flag - Values []string - // Concurrency is the maximum number of concurrent helm processes to run, 0 is unlimited - Concurrency int -} - -// NewChartsOptions creates a new Apply -func NewChartsOptions() *ChartsOptions { - return &ChartsOptions{} -} - -// ChartsImpl is impl for applyOptions -type ChartsImpl struct { - *GlobalImpl - *ChartsOptions -} - -// NewChartsImpl creates a new ChartsImpl -func NewChartsImpl(g *GlobalImpl, b *ChartsOptions) *ChartsImpl { - return &ChartsImpl{ - GlobalImpl: g, - ChartsOptions: b, - } -} - -// Concurrency returns the concurrency -func (c *ChartsImpl) Concurrency() int { - return c.ChartsOptions.Concurrency -} - -// IncludeTransitiveNeeds returns the includeTransitiveNeeds -func (c *ChartsImpl) IncludeTransitiveNeeds() bool { - return false -} - -// Values returns the values -func (c *ChartsImpl) Values() []string { - return c.ChartsOptions.Values -} diff --git a/pkg/config/delete.go b/pkg/config/delete.go deleted file mode 100644 index f688e94f..00000000 --- a/pkg/config/delete.go +++ /dev/null @@ -1,67 +0,0 @@ -// TODO: Remove this function once Helmfile v0.x -package config - -// DeleteOptions is the options for the build command -type DeleteOptions struct { - // Concurrency is the maximum number of concurrent helm processes to run, 0 is unlimited - Concurrency int - // Purge is the purge flag - Purge bool - // SkipCharts makes Delete skip `withPreparedCharts` - SkipCharts bool - // Cascade '--cascade' to helmv3 delete, available values: background, foreground, or orphan, default: background - Cascade string - // Wait '--wait' if set, will wait until all the resources are deleted before returning. It will wait for as long as --timeout - DeleteWait bool - // Timeout '--timeout', to wait for helm delete operation (default 5m0s) - DeleteTimeout int -} - -// NewDeleteOptions creates a new Apply -func NewDeleteOptions() *DeleteOptions { - return &DeleteOptions{} -} - -// DeleteImpl is impl for applyOptions -type DeleteImpl struct { - *GlobalImpl - *DeleteOptions -} - -// NewDeleteImpl creates a new DeleteImpl -func NewDeleteImpl(g *GlobalImpl, b *DeleteOptions) *DeleteImpl { - return &DeleteImpl{ - GlobalImpl: g, - DeleteOptions: b, - } -} - -// Concurrency returns the concurrency -func (c *DeleteImpl) Concurrency() int { - return c.DeleteOptions.Concurrency -} - -// Purge returns the purge -func (c *DeleteImpl) Purge() bool { - return c.DeleteOptions.Purge -} - -// SkipCharts returns skipCharts flag -func (c *DeleteImpl) SkipCharts() bool { - return c.DeleteOptions.SkipCharts -} - -// Cascade returns cascade flag -func (c *DeleteImpl) Cascade() string { - return c.DeleteOptions.Cascade -} - -// DeleteWait returns the wait flag -func (c *DeleteImpl) DeleteWait() bool { - return c.DeleteOptions.DeleteWait -} - -// DeleteTimeout returns the timeout flag -func (c *DeleteImpl) DeleteTimeout() int { - return c.DeleteOptions.DeleteTimeout -} diff --git a/pkg/envvar/const.go b/pkg/envvar/const.go index 94df7381..0235af17 100644 --- a/pkg/envvar/const.go +++ b/pkg/envvar/const.go @@ -6,16 +6,12 @@ const ( // use helm status to check if a release exists before installing it UseHelmStatusToCheckReleaseExistence = "HELMFILE_USE_HELM_STATUS_TO_CHECK_RELEASE_EXISTENCE" - // TODO: Remove this function once Helmfile v0.x - SkipInsecureTemplateFunctions = "HELMFILE_SKIP_INSECURE_TEMPLATE_FUNCTIONS" - DisableRunnerUniqueID = "HELMFILE_DISABLE_RUNNER_UNIQUE_ID" Experimental = "HELMFILE_EXPERIMENTAL" // environment variable for experimental features, expecting "true" lower case Environment = "HELMFILE_ENVIRONMENT" FilePath = "HELMFILE_FILE_PATH" TempDir = "HELMFILE_TEMPDIR" UpgradeNoticeDisabled = "HELMFILE_UPGRADE_NOTICE_DISABLED" - V1Mode = "HELMFILE_V1MODE" GoccyGoYaml = "HELMFILE_GOCCY_GOYAML" CacheHome = "HELMFILE_CACHE_HOME" Interactive = "HELMFILE_INTERACTIVE" diff --git a/pkg/policy/checker.go b/pkg/policy/checker.go index b493d513..28db5d70 100644 --- a/pkg/policy/checker.go +++ b/pkg/policy/checker.go @@ -9,8 +9,6 @@ import ( "slices" "strings" "unicode" - - "github.com/helmfile/helmfile/pkg/runtime" ) var ( @@ -51,7 +49,7 @@ func forbidEnvironmentsWithReleases(filePath string, content []byte) (bool, erro } for i := 0; i < len(result)-1; i++ { if result[i] != "---" && result[i+1] != "---" { - return runtime.V1Mode, EnvironmentsAndReleasesWithinSameYamlPartErr + return true, EnvironmentsAndReleasesWithinSameYamlPartErr } } return false, nil @@ -123,7 +121,7 @@ func TopConfigKeysVerifier(filePath string, helmfileContent []byte) (bool, error preKey := orderKeys[i-1] currentKey := orderKeys[i] if topkeysPriority[preKey] > topkeysPriority[currentKey] { - return runtime.V1Mode, fmt.Errorf("top-level config key %s must be defined before %s in %s", currentKey, preKey, filePath) + return true, fmt.Errorf("top-level config key %s must be defined before %s in %s", currentKey, preKey, filePath) } } return false, nil diff --git a/pkg/policy/checker_test.go b/pkg/policy/checker_test.go index 7c28555c..0b64081a 100644 --- a/pkg/policy/checker_test.go +++ b/pkg/policy/checker_test.go @@ -4,15 +4,12 @@ import ( "testing" "github.com/stretchr/testify/require" - - "github.com/helmfile/helmfile/pkg/runtime" ) func TestForbidEnvironmentsWithReleases(t *testing.T) { testCases := []struct { name string filePath string - v1mode bool content []byte expectedErr bool isStrict bool @@ -21,7 +18,6 @@ func TestForbidEnvironmentsWithReleases(t *testing.T) { name: "no error when only releases", filePath: "helmfile.yaml", content: []byte("releases:\n"), - v1mode: false, expectedErr: false, isStrict: false, }, @@ -29,7 +25,6 @@ func TestForbidEnvironmentsWithReleases(t *testing.T) { name: "no error when only environments", filePath: "helmfile.yaml", content: []byte("environments:\n"), - v1mode: false, expectedErr: false, isStrict: false, }, @@ -37,7 +32,6 @@ func TestForbidEnvironmentsWithReleases(t *testing.T) { name: "no error when has --- between releases and environments", filePath: "helmfile.yaml", content: []byte("environments:\n---\nreleases:\n"), - v1mode: false, expectedErr: false, isStrict: false, }, @@ -45,7 +39,6 @@ func TestForbidEnvironmentsWithReleases(t *testing.T) { name: "no error when has --- between releases and environments, and --- on top of helmfile.yaml.gotmpl", filePath: "helmfile.yaml", content: []byte("---\nenvironments:\n---\nreleases:\n"), - v1mode: false, expectedErr: false, isStrict: false, }, @@ -53,28 +46,13 @@ func TestForbidEnvironmentsWithReleases(t *testing.T) { name: "error when both releases and environments", filePath: "helmfile.yaml", content: []byte("environments:\nreleases:\n"), - v1mode: false, - expectedErr: true, - isStrict: false, - }, - { - name: "error when both releases and environments for plain yaml on v1", - filePath: "helmfile.yaml", - content: []byte("environments:\nreleases:\n"), - v1mode: true, expectedErr: true, isStrict: true, }, } - v1mode := runtime.V1Mode - t.Cleanup(func() { - runtime.V1Mode = v1mode - }) - for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { - runtime.V1Mode = tc.v1mode isStrict, err := forbidEnvironmentsWithReleases(tc.filePath, tc.content) require.Equal(t, tc.isStrict, isStrict, "expected isStrict=%v, got=%v", tc.isStrict, isStrict) if tc.expectedErr { @@ -153,26 +131,31 @@ func TestTopConfigKeysVerifier(t *testing.T) { name: "error when not correct order 00", helmfileContent: []byte("releases:\nbases:\n"), wantErr: true, + wantStrict: true, }, { name: "error when not correct order 01", helmfileContent: []byte("releases:\nhelmDefaults:\nbases:\n"), wantErr: true, + wantStrict: true, }, { name: "error when not correct order 02", helmfileContent: []byte("helmDefaults:\nreleases:\nbases:\n"), wantErr: true, + wantStrict: true, }, { name: "error when not correct order 03", helmfileContent: []byte("releases:\nva:\nve:\nbases:\n"), wantErr: true, + wantStrict: true, }, { name: "error when not correct order 04", helmfileContent: []byte("bases:\nreleases:\nenvironments:\n"), wantErr: true, + wantStrict: true, }, { name: "no error when only has bases", diff --git a/pkg/runtime/runtime.go b/pkg/runtime/runtime.go index e2e407b5..7c1e1d14 100644 --- a/pkg/runtime/runtime.go +++ b/pkg/runtime/runtime.go @@ -3,24 +3,15 @@ package runtime import ( "fmt" "os" - "strconv" "github.com/helmfile/helmfile/pkg/envvar" ) -// V1Mode is false by default for Helmfile v0.x and -// true by default for Helmfile v1.x var ( - V1Mode bool - // GoccyGoYaml is set to true in order to let Helmfile use // goccy/go-yaml instead of gopkg.in/yaml.v2. // It's false by default in Helmfile v0.x and true by default for Helmfile v1.x. GoccyGoYaml bool - - // We set this via ldflags at build-time so that we can use the - // value specified at the build time as the runtime default. - v1Mode string ) func Info() string { @@ -29,22 +20,10 @@ func Info() string { yamlLib = "goccy/go-yaml" } - return fmt.Sprintf("V1 mode = %v\nYAML library = %v", V1Mode, yamlLib) + return fmt.Sprintf("YAML library = %v", yamlLib) } func init() { - // You can toggle the V1 mode at runtime via an envvar: - // - Helmfile v1.x behaves like v0.x by running it with HELMFILE_V1MODE=false - // - Helmfile v0.x behaves like v1.x by with HELMFILE_V1MODE=true - switch os.Getenv(envvar.V1Mode) { - case "true": - V1Mode = true - case "false": - V1Mode = false - default: - V1Mode, _ = strconv.ParseBool(v1Mode) - } - // You can switch the YAML library at runtime via an envvar: switch os.Getenv(envvar.GoccyGoYaml) { case "true": @@ -52,6 +31,6 @@ func init() { case "false": GoccyGoYaml = false default: - GoccyGoYaml = V1Mode + GoccyGoYaml = true } } diff --git a/pkg/state/create.go b/pkg/state/create.go index ab2fa6b2..9ca5d2e1 100644 --- a/pkg/state/create.go +++ b/pkg/state/create.go @@ -117,20 +117,6 @@ func (c *StateCreator) Parse(content []byte, baseDir, file string) (*HelmState, } } - // TODO: Remove this function once Helmfile v0.x - if len(state.DeprecatedReleases) > 0 { - if len(state.Releases) > 0 { - return nil, fmt.Errorf("failed to parse %s: you can't specify both `charts` and `releases` sections", file) - } - state.Releases = state.DeprecatedReleases - state.DeprecatedReleases = []ReleaseSpec{} - } - - // TODO: Remove this function once Helmfile v0.x - if state.DeprecatedContext != "" && state.HelmDefaults.KubeContext == "" { - state.HelmDefaults.KubeContext = state.DeprecatedContext - } - if c.overrideHelmBinary != "" && c.overrideHelmBinary != DefaultHelmBinary { state.DefaultHelmBinary = c.overrideHelmBinary } else if state.DefaultHelmBinary == "" { diff --git a/pkg/state/create_test.go b/pkg/state/create_test.go index 46b1e072..4cc282be 100644 --- a/pkg/state/create_test.go +++ b/pkg/state/create_test.go @@ -280,26 +280,6 @@ func TestReadFromYaml_StrictUnmarshalling(t *testing.T) { } } -// TODO: Remove this function once Helmfile v0.x -func TestReadFromYaml_DeprecatedReleaseReferences(t *testing.T) { - yamlFile := "example/path/to/yaml/file" - yamlContent := []byte(`charts: -- name: myrelease - chart: mychart -`) - state, err := createFromYaml(yamlContent, yamlFile, DefaultEnv, logger) - if err != nil { - t.Errorf("unxpected error: %v", err) - } - - if state.Releases[0].Name != "myrelease" { - t.Errorf("unexpected release name: expected=myrelease actual=%s", state.Releases[0].Name) - } - if state.Releases[0].Chart != "mychart" { - t.Errorf("unexpected chart name: expected=mychart actual=%s", state.Releases[0].Chart) - } -} - func TestReadFromYaml_ConflictingReleasesConfig(t *testing.T) { yamlFile := "example/path/to/yaml/file" yamlContent := []byte(`charts: diff --git a/pkg/state/state.go b/pkg/state/state.go index 223cee8c..fc6ce5a2 100644 --- a/pkg/state/state.go +++ b/pkg/state/state.go @@ -60,10 +60,6 @@ type ReleaseSetSpec struct { HelmDefaults HelmSpec `yaml:"helmDefaults,omitempty"` Helmfiles []SubHelmfileSpec `yaml:"helmfiles,omitempty"` - // TODO: Remove this function once Helmfile v0.x - DeprecatedContext string `yaml:"context,omitempty"` - DeprecatedReleases []ReleaseSpec `yaml:"charts,omitempty"` - OverrideKubeContext string `yaml:"kubeContext,omitempty"` OverrideNamespace string `yaml:"namespace,omitempty"` OverrideChart string `yaml:"chart,omitempty"` diff --git a/pkg/state/state_test.go b/pkg/state/state_test.go index 9072ea56..59210312 100644 --- a/pkg/state/state_test.go +++ b/pkg/state/state_test.go @@ -58,13 +58,9 @@ func TestHelmState_applyDefaultsTo(t *testing.T) { type fields struct { BaseChartPath string Context string - - // TODO: Remove this function once Helmfile v0.x - DeprecatedReleases []ReleaseSpec - - Namespace string - Repositories []RepositorySpec - Releases []ReleaseSpec + Namespace string + Repositories []RepositorySpec + Releases []ReleaseSpec } type args struct { spec ReleaseSpec @@ -89,12 +85,8 @@ func TestHelmState_applyDefaultsTo(t *testing.T) { fieldsWithNamespace := fields{ BaseChartPath: ".", Context: "test_context", - - // TODO: Remove this function once Helmfile v0.x - DeprecatedReleases: nil, - - Namespace: specWithNamespaceFromFields.Namespace, - Repositories: nil, + Namespace: specWithNamespaceFromFields.Namespace, + Repositories: nil, Releases: []ReleaseSpec{ specWithNamespace, }, @@ -148,10 +140,6 @@ func TestHelmState_applyDefaultsTo(t *testing.T) { state := &HelmState{ basePath: tt.fields.BaseChartPath, ReleaseSetSpec: ReleaseSetSpec{ - // TODO: Remove this function once Helmfile v0.x - DeprecatedContext: tt.fields.Context, - DeprecatedReleases: tt.fields.DeprecatedReleases, - OverrideNamespace: tt.fields.Namespace, Repositories: tt.fields.Repositories, Releases: tt.fields.Releases, @@ -740,9 +728,6 @@ func TestHelmState_flagsForUpgrade(t *testing.T) { state := &HelmState{ basePath: "./", ReleaseSetSpec: ReleaseSetSpec{ - // TODO: Remove this function once Helmfile v0.x - DeprecatedContext: "default", - Releases: []ReleaseSpec{*tt.release}, HelmDefaults: tt.defaults, }, @@ -904,9 +889,8 @@ func TestHelmState_flagsForTemplate(t *testing.T) { state := &HelmState{ basePath: "./", ReleaseSetSpec: ReleaseSetSpec{ - DeprecatedContext: "default", - Releases: []ReleaseSpec{*tt.release}, - HelmDefaults: tt.defaults, + Releases: []ReleaseSpec{*tt.release}, + HelmDefaults: tt.defaults, }, valsRuntime: valsRuntime, } diff --git a/pkg/tmpl/context_funcs.go b/pkg/tmpl/context_funcs.go index 3cc2119d..e16fd9ef 100644 --- a/pkg/tmpl/context_funcs.go +++ b/pkg/tmpl/context_funcs.go @@ -19,7 +19,6 @@ import ( "github.com/helmfile/helmfile/pkg/envvar" "github.com/helmfile/helmfile/pkg/helmexec" "github.com/helmfile/helmfile/pkg/maputil" - "github.com/helmfile/helmfile/pkg/runtime" "github.com/helmfile/helmfile/pkg/yaml" ) @@ -37,23 +36,10 @@ func (e DisableInsecureFeaturesError) Error() string { var ( disableInsecureFeatures bool - - // TODO: Remove this function once Helmfile v0.x - skipInsecureTemplateFunctions bool ) func init() { disableInsecureFeatures, _ = strconv.ParseBool(os.Getenv(envvar.DisableInsecureFeatures)) - - // TODO: Remove this function once Helmfile v0.x - skipInsecureTemplateFunctions, _ = strconv.ParseBool(os.Getenv(envvar.SkipInsecureTemplateFunctions)) - skipInsecureTemplateFunctions = func() bool { - if runtime.V1Mode { - return false - } - b, _ := strconv.ParseBool(os.Getenv(envvar.SkipInsecureTemplateFunctions)) - return b - }() } func (c *Context) createFuncMap() template.FuncMap { @@ -76,7 +62,7 @@ func (c *Context) createFuncMap() template.FuncMap { "fetchSecretValue": fetchSecretValue, "expandSecretRefs": fetchSecretValues, } - if c.preRender || skipInsecureTemplateFunctions { + if c.preRender { // disable potential side-effect template calls funcMap["exec"] = func(string, []any, ...string) (string, error) { return "", nil diff --git a/pkg/tmpl/context_funcs_test.go b/pkg/tmpl/context_funcs_test.go index e9e67e04..d1141d8e 100644 --- a/pkg/tmpl/context_funcs_test.go +++ b/pkg/tmpl/context_funcs_test.go @@ -46,30 +46,6 @@ func TestCreateFuncMap_DisabledInsecureFeatures(t *testing.T) { disableInsecureFeatures = currentVal } -// TODO: Remove this function once Helmfile v0.x -func TestCreateFuncMap_SkipInsecureTemplateFunctions(t *testing.T) { - if runtime.V1Mode { - t.Logf("SkipInsecureTemplateFunctions is not supported in V1 mode") - return - } - currentVal := skipInsecureTemplateFunctions - - { - skipInsecureTemplateFunctions = true - ctx := &Context{basePath: "."} - funcMaps := ctx.createFuncMap() - args := make([]any, 0) - actual1, err1 := funcMaps["exec"].(func(command string, args []any, inputs ...string) (string, error))("ls", args) - require.Equal(t, "", actual1) - require.ErrorIs(t, err1, nil) - actual2, err2 := funcMaps["readFile"].(func(filename string) (string, error))("context_funcs_test.go") - require.Equal(t, "", actual2) - require.ErrorIs(t, err2, nil) - } - - skipInsecureTemplateFunctions = currentVal -} - func newFSExpecting(expectedFilename string, expected string) *filesystem.FileSystem { return filesystem.FromFileSystem(filesystem.FileSystem{ ReadFile: func(filename string) ([]byte, error) { diff --git a/test/e2e/template/helmfile/snapshot_test.go b/test/e2e/template/helmfile/snapshot_test.go index 672598f1..68f62be5 100644 --- a/test/e2e/template/helmfile/snapshot_test.go +++ b/test/e2e/template/helmfile/snapshot_test.go @@ -223,7 +223,7 @@ func testHelmfileTemplateWithBuildCommand(t *testing.T, goccyGoYaml bool) { helmConfigHome := filepath.Join(tmpDir, "helm_config") t.Logf("Using HELM_CACHE_HOME=%s, HELMFILE_CACHE_HOME=%s, HELM_CONFIG_HOME=%s", helmCacheHome, helmfileCacheHome, helmConfigHome) - inputFile := filepath.Join(testdataDir, name, "input.yaml") + inputFile := filepath.Join(testdataDir, name, "input.yaml.gotmpl") outputFile := filepath.Join(testdataDir, name, "output.yaml") ctx, cancel := context.WithTimeout(context.Background(), 60*time.Second) diff --git a/test/e2e/template/helmfile/testdata/snapshot/chart_need/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/chart_need/input.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/chart_need/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/chart_need/input.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/chart_need_enable_live_output/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/chart_need_enable_live_output/input.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/chart_need_enable_live_output/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/chart_need_enable_live_output/input.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/helmfiles/no-envs.yaml b/test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/helmfiles/no-envs.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/helmfiles/no-envs.yaml rename to test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/helmfiles/no-envs.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/helmfiles/no-values.yaml b/test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/helmfiles/no-values.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/helmfiles/no-values.yaml rename to test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/helmfiles/no-values.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/helmfiles/prod.yaml b/test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/helmfiles/prod.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/helmfiles/prod.yaml rename to test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/helmfiles/prod.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/helmfiles/test.yaml b/test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/helmfiles/test.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/helmfiles/test.yaml rename to test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/helmfiles/test.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/input.yaml.gotmpl similarity index 58% rename from test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/input.yaml.gotmpl index 6b312364..05b9688c 100644 --- a/test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/input.yaml +++ b/test/e2e/template/helmfile/testdata/snapshot/environment_missing_in_subhelmfile/input.yaml.gotmpl @@ -4,13 +4,13 @@ environments: - test.yaml.gotmpl --- helmfiles: -- path: helmfiles/test.yaml +- path: helmfiles/test.yaml.gotmpl values: - envName: {{ .Values.envName }} -- path: helmfiles/prod.yaml +- path: helmfiles/prod.yaml.gotmpl values: - envName: {{ .Values.envName }} -- path: helmfiles/no-envs.yaml +- path: helmfiles/no-envs.yaml.gotmpl values: - envName: {{ .Values.envName }} -- path: helmfiles/no-values.yaml \ No newline at end of file +- path: helmfiles/no-values.yaml.gotmpl \ No newline at end of file diff --git a/test/e2e/template/helmfile/testdata/snapshot/environments_releases_within_same_yaml_part/config.yaml b/test/e2e/template/helmfile/testdata/snapshot/environments_releases_within_same_yaml_part/config.yaml deleted file mode 100644 index 71fee0cb..00000000 --- a/test/e2e/template/helmfile/testdata/snapshot/environments_releases_within_same_yaml_part/config.yaml +++ /dev/null @@ -1,5 +0,0 @@ -chartifyTempDir: envs_releases_within_same_yaml_part -helmfileArgs: -- --environment -- prod -- template diff --git a/test/e2e/template/helmfile/testdata/snapshot/environments_releases_without_same_yaml_part/config.yaml b/test/e2e/template/helmfile/testdata/snapshot/environments_releases_without_same_yaml_part/config.yaml new file mode 100644 index 00000000..690947ac --- /dev/null +++ b/test/e2e/template/helmfile/testdata/snapshot/environments_releases_without_same_yaml_part/config.yaml @@ -0,0 +1,5 @@ +chartifyTempDir: envs_releases_without_same_yaml_part +helmfileArgs: +- --environment +- prod +- template diff --git a/test/e2e/template/helmfile/testdata/snapshot/environments_releases_within_same_yaml_part/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/environments_releases_without_same_yaml_part/input.yaml.gotmpl similarity index 97% rename from test/e2e/template/helmfile/testdata/snapshot/environments_releases_within_same_yaml_part/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/environments_releases_without_same_yaml_part/input.yaml.gotmpl index 276a4d93..4fc99ecb 100644 --- a/test/e2e/template/helmfile/testdata/snapshot/environments_releases_within_same_yaml_part/input.yaml +++ b/test/e2e/template/helmfile/testdata/snapshot/environments_releases_without_same_yaml_part/input.yaml.gotmpl @@ -1,7 +1,7 @@ environments: prod: staging: - +--- releases: - name: raw chart: ../../charts/raw-0.0.1 diff --git a/test/e2e/template/helmfile/testdata/snapshot/environments_releases_within_same_yaml_part/output.yaml b/test/e2e/template/helmfile/testdata/snapshot/environments_releases_without_same_yaml_part/output.yaml similarity index 56% rename from test/e2e/template/helmfile/testdata/snapshot/environments_releases_within_same_yaml_part/output.yaml rename to test/e2e/template/helmfile/testdata/snapshot/environments_releases_without_same_yaml_part/output.yaml index 2e9471ac..7f723eaa 100644 --- a/test/e2e/template/helmfile/testdata/snapshot/environments_releases_within_same_yaml_part/output.yaml +++ b/test/e2e/template/helmfile/testdata/snapshot/environments_releases_without_same_yaml_part/output.yaml @@ -1,4 +1,3 @@ -WARNING: environments and releases cannot be defined within the same YAML part. Use --- to extract the environments into a dedicated part Building dependency release=raw, chart=../../charts/raw-0.0.1 Templating release=raw, chart=../../charts/raw-0.0.1 --- diff --git a/test/e2e/template/helmfile/testdata/snapshot/environments_values_gotmpl_with_environment_name/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/environments_values_gotmpl_with_environment_name/input.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/environments_values_gotmpl_with_environment_name/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/environments_values_gotmpl_with_environment_name/input.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/hcl_mix/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/hcl_mix/input.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/hcl_mix/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/hcl_mix/input.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/issue_1229_template_strategic_merge_with_lockfile/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/issue_1229_template_strategic_merge_with_lockfile/input.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/issue_1229_template_strategic_merge_with_lockfile/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/issue_1229_template_strategic_merge_with_lockfile/input.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/issue_2098_release_template_needs/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/issue_2098_release_template_needs/input.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/issue_2098_release_template_needs/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/issue_2098_release_template_needs/input.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/issue_2098_release_template_needs/output.yaml b/test/e2e/template/helmfile/testdata/snapshot/issue_2098_release_template_needs/output.yaml index 9e3dec93..fb2d2b51 100644 --- a/test/e2e/template/helmfile/testdata/snapshot/issue_2098_release_template_needs/output.yaml +++ b/test/e2e/template/helmfile/testdata/snapshot/issue_2098_release_template_needs/output.yaml @@ -1,7 +1,7 @@ --- -# Source: __workingdir__/testdata/snapshot/issue_2098_release_template_needs/input.yaml +# Source: __workingdir__/testdata/snapshot/issue_2098_release_template_needs/input.yaml.gotmpl -filepath: input.yaml +filepath: input.yaml.gotmpl helmBinary: helm kustomizeBinary: kustomize environments: diff --git a/test/e2e/template/helmfile/testdata/snapshot/issue_473_oci_chart_url_fetch/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/issue_473_oci_chart_url_fetch/input.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/issue_473_oci_chart_url_fetch/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/issue_473_oci_chart_url_fetch/input.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/issue_493_template_yaml_anchors_merge/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/issue_493_template_yaml_anchors_merge/input.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/issue_493_template_yaml_anchors_merge/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/issue_493_template_yaml_anchors_merge/input.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/issue_498_template_go_getter_with_selector/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/issue_498_template_go_getter_with_selector/input.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/issue_498_template_go_getter_with_selector/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/issue_498_template_go_getter_with_selector/input.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/oci_chart_pull/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/oci_chart_pull/input.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/oci_chart_pull/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/oci_chart_pull/input.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/oci_need/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/oci_need/input.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/oci_need/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/oci_need/input.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/postrenderer/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/postrenderer/input.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/postrenderer/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/postrenderer/input.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/pr_560/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/pr_560/input.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/pr_560/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/pr_560/input.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/release_template_inheritance/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/release_template_inheritance/input.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/release_template_inheritance/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/release_template_inheritance/input.yaml.gotmpl diff --git a/test/e2e/template/helmfile/testdata/snapshot/templated_lockfile/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/templated_lockfile/input.yaml.gotmpl similarity index 100% rename from test/e2e/template/helmfile/testdata/snapshot/templated_lockfile/input.yaml rename to test/e2e/template/helmfile/testdata/snapshot/templated_lockfile/input.yaml.gotmpl diff --git a/test/integration/test-cases/chart-needs.sh b/test/integration/test-cases/chart-needs.sh index 76cc3814..2ce8e63d 100644 --- a/test/integration/test-cases/chart-needs.sh +++ b/test/integration/test-cases/chart-needs.sh @@ -1,14 +1,7 @@ chart_need_case_input_dir="${cases_dir}/chart-needs/input" chart_need_case_output_dir="${cases_dir}/chart-needs/output" -config_file="helmfile.yaml" -if [[ ${HELMFILE_V1MODE} = true ]]; then - pushd "${chart_need_case_input_dir}" - mv "${config_file}" "${config_file}.gotmpl" - config_file="${config_file}.gotmpl" - popd -fi - +config_file="helmfile.yaml.gotmpl" chart_needs_tmp=$(mktemp -d) chart_needs_template_reverse=${chart_needs_tmp}/chart.needs.template.log chart_needs_lint_reverse=${chart_needs_tmp}/chart.needs.lint.log diff --git a/test/integration/test-cases/chart-needs/input/helmfile.yaml b/test/integration/test-cases/chart-needs/input/helmfile.yaml.gotmpl similarity index 100% rename from test/integration/test-cases/chart-needs/input/helmfile.yaml rename to test/integration/test-cases/chart-needs/input/helmfile.yaml.gotmpl diff --git a/test/integration/test-cases/chartify-jsonPatches-and-strategicMergePatches.sh b/test/integration/test-cases/chartify-jsonPatches-and-strategicMergePatches.sh index 2fd4e5d3..ea5d4a22 100644 --- a/test/integration/test-cases/chartify-jsonPatches-and-strategicMergePatches.sh +++ b/test/integration/test-cases/chartify-jsonPatches-and-strategicMergePatches.sh @@ -1,14 +1,7 @@ chartify_jsonPatches_and_strategicMergePatches_case_input_dir="${cases_dir}/chartify-jsonPatches-and-strategicMergePatches/input" chartify_jsonPatches_and_strategicMergePatches_case_output_dir="${cases_dir}/chartify-jsonPatches-and-strategicMergePatches/output" -config_file="helmfile.yaml" -if [[ ${HELMFILE_V1MODE} = true ]]; then - pushd "${chartify_jsonPatches_and_strategicMergePatches_case_input_dir}" - mv "${config_file}" "${config_file}.gotmpl" - config_file="${config_file}.gotmpl" - popd -fi - +config_file="helmfile.yaml.gotmpl" chartify_jsonPatches_and_strategicMergePatches_tmp=$(mktemp -d) chartify_jsonPatches_and_strategicMergePatches_template_reverse=${chartify_jsonPatches_and_strategicMergePatches_tmp}/chartify_jsonPatches_and_strategicMergePatches.template.log diff --git a/test/integration/test-cases/chartify-jsonPatches-and-strategicMergePatches/input/helmfile.yaml b/test/integration/test-cases/chartify-jsonPatches-and-strategicMergePatches/input/helmfile.yaml.gotmpl similarity index 100% rename from test/integration/test-cases/chartify-jsonPatches-and-strategicMergePatches/input/helmfile.yaml rename to test/integration/test-cases/chartify-jsonPatches-and-strategicMergePatches/input/helmfile.yaml.gotmpl diff --git a/test/integration/test-cases/chartify.sh b/test/integration/test-cases/chartify.sh index 963fbbd6..8c6e2d3a 100644 --- a/test/integration/test-cases/chartify.sh +++ b/test/integration/test-cases/chartify.sh @@ -1,14 +1,7 @@ chartify_case_input_dir="${cases_dir}/chartify/input" chartify_case_output_dir="${cases_dir}/chartify/output" -config_file="helmfile.yaml" -if [[ ${HELMFILE_V1MODE} = true ]]; then - pushd "${chartify_case_input_dir}" - mv "${config_file}" "${config_file}.gotmpl" - config_file="${config_file}.gotmpl" - popd -fi - +config_file="helmfile.yaml.gotmpl" chartify_tmp=$(mktemp -d) chartify_template_reverse=${chartify_tmp}/chartify.template.log diff --git a/test/integration/test-cases/chartify/input/helmfile.yaml b/test/integration/test-cases/chartify/input/helmfile.yaml.gotmpl similarity index 100% rename from test/integration/test-cases/chartify/input/helmfile.yaml rename to test/integration/test-cases/chartify/input/helmfile.yaml.gotmpl diff --git a/test/integration/test-cases/cli-overwrite-environment-values.sh b/test/integration/test-cases/cli-overwrite-environment-values.sh index 48d9f2de..8e51e159 100644 --- a/test/integration/test-cases/cli-overwrite-environment-values.sh +++ b/test/integration/test-cases/cli-overwrite-environment-values.sh @@ -6,24 +6,12 @@ cli_overwrite_environment_values_reverse=${cli_overwrite_environment_values_tmp} case_title="cli overwrite environment values" -if [[ ${HELMFILE_V1MODE} = true ]]; then - test_start "$case_title for v1" - info "Comparing ${case_title} for v1 output ${cli_overwrite_environment_values_reverse} with ${cli_overwrite_environment_values_output_dir}/overwritten.yaml" - for i in $(seq 10); do - info "Comparing build/cli-overwrite-environment-values #$i" - ${helmfile} -f ${cli_overwrite_environment_values_input_dir}/input_v1.yaml.gotmpl template --state-values-set ns=test3 --state-values-set-string imageTag=1.23.3,zone="zone1,zone2" > ${cli_overwrite_environment_values_reverse} || fail "\"helmfile template\" shouldn't fail" - diff -u ${cli_overwrite_environment_values_output_dir}/output_v1.yaml ${cli_overwrite_environment_values_reverse} || fail "\"helmfile template\" should be consistent" - echo code=$? - done - test_pass "cli overwrite environment values for v1" -else - test_start "${case_title}" - info "Comparing ${case_title} output ${cli_overwrite_environment_values_reverse} with ${cli_overwrite_environment_values_output_dir}/overwritten.yaml" - for i in $(seq 10); do - info "Comparing build/cli-overwrite-environment-values #$i" - ${helmfile} -f ${cli_overwrite_environment_values_input_dir}/input_v1.yaml.gotmpl template --state-values-set ns=test3 --state-values-set-string imageTag=1.23.3,zone="zone1,zone2" > ${cli_overwrite_environment_values_reverse} || fail "\"helmfile template\" shouldn't fail" - diff -u ${cli_overwrite_environment_values_output_dir}/output_v1.yaml ${cli_overwrite_environment_values_reverse} || fail "\"helmfile template\" should be consistent" - echo code=$? - done - test_pass "${case_title}" -fi +test_start "$case_title" +info "Comparing ${case_title} for output ${cli_overwrite_environment_values_reverse} with ${cli_overwrite_environment_values_output_dir}/overwritten.yaml" +for i in $(seq 10); do + info "Comparing build/cli-overwrite-environment-values #$i" + ${helmfile} -f ${cli_overwrite_environment_values_input_dir}/input.yaml.gotmpl template --state-values-set ns=test3 --state-values-set-string imageTag=1.23.3,zone="zone1,zone2" > ${cli_overwrite_environment_values_reverse} || fail "\"helmfile template\" shouldn't fail" + diff -u ${cli_overwrite_environment_values_output_dir}/output.yaml ${cli_overwrite_environment_values_reverse} || fail "\"helmfile template\" should be consistent" + echo code=$? +done +test_pass "cli overwrite environment values for v1" \ No newline at end of file diff --git a/test/integration/test-cases/cli-overwrite-environment-values/input/input.yaml b/test/integration/test-cases/cli-overwrite-environment-values/input/input.yaml deleted file mode 100644 index 28706d92..00000000 --- a/test/integration/test-cases/cli-overwrite-environment-values/input/input.yaml +++ /dev/null @@ -1,17 +0,0 @@ -environments: - default: - values: - - base.yaml - - override.yaml - -repositories: - - name: bitnami - url: https://charts.bitnami.com/bitnami - -releases: - - name: test - chart: bitnami/nginx - namespace: {{ .Values.ns }} - version: 13.2.27 - values: - - values.yaml.gotmpl diff --git a/test/integration/test-cases/cli-overwrite-environment-values/input/input_v1.yaml.gotmpl b/test/integration/test-cases/cli-overwrite-environment-values/input/input.yaml.gotmpl similarity index 100% rename from test/integration/test-cases/cli-overwrite-environment-values/input/input_v1.yaml.gotmpl rename to test/integration/test-cases/cli-overwrite-environment-values/input/input.yaml.gotmpl diff --git a/test/integration/test-cases/cli-overwrite-environment-values/output/output.yaml b/test/integration/test-cases/cli-overwrite-environment-values/output/output.yaml index ae8f779c..ba0f5cd7 100644 --- a/test/integration/test-cases/cli-overwrite-environment-values/output/output.yaml +++ b/test/integration/test-cases/cli-overwrite-environment-values/output/output.yaml @@ -1,9 +1,3 @@ -Warning: environments and releases cannot be defined within the same YAML part. Use --- to extract the environments into a dedicated part -Warning: environments and releases cannot be defined within the same YAML part. Use --- to extract the environments into a dedicated part -Adding repo bitnami https://charts.bitnami.com/bitnami -"bitnami" has been added to your repositories - -Templating release=test, chart=bitnami/nginx --- # Source: nginx/templates/svc.yaml apiVersion: v1 @@ -57,6 +51,7 @@ spec: app.kubernetes.io/instance: test app.kubernetes.io/managed-by: Helm annotations: + zone: "zone1,zone2" spec: automountServiceAccountToken: false @@ -81,7 +76,7 @@ spec: initContainers: containers: - name: nginx - image: docker.io/bitnami/nginx:test3 + image: docker.io/bitnami/nginx:1.23.3 imagePullPolicy: "IfNotPresent" env: - name: BITNAMI_DEBUG diff --git a/test/integration/test-cases/cli-overwrite-environment-values/output/output_v1.yaml b/test/integration/test-cases/cli-overwrite-environment-values/output/output_v1.yaml deleted file mode 100644 index ba0f5cd7..00000000 --- a/test/integration/test-cases/cli-overwrite-environment-values/output/output_v1.yaml +++ /dev/null @@ -1,111 +0,0 @@ ---- -# Source: nginx/templates/svc.yaml -apiVersion: v1 -kind: Service -metadata: - name: test-nginx - namespace: "test3" - labels: - app.kubernetes.io/name: nginx - helm.sh/chart: nginx-13.2.27 - app.kubernetes.io/instance: test - app.kubernetes.io/managed-by: Helm - annotations: -spec: - type: LoadBalancer - sessionAffinity: None - externalTrafficPolicy: "Cluster" - ports: - - name: http - port: 80 - targetPort: http - selector: - app.kubernetes.io/name: nginx - app.kubernetes.io/instance: test ---- -# Source: nginx/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: test-nginx - namespace: "test3" - labels: - app.kubernetes.io/name: nginx - helm.sh/chart: nginx-13.2.27 - app.kubernetes.io/instance: test - app.kubernetes.io/managed-by: Helm -spec: - replicas: 1 - strategy: - rollingUpdate: {} - type: RollingUpdate - selector: - matchLabels: - app.kubernetes.io/name: nginx - app.kubernetes.io/instance: test - template: - metadata: - labels: - app.kubernetes.io/name: nginx - helm.sh/chart: nginx-13.2.27 - app.kubernetes.io/instance: test - app.kubernetes.io/managed-by: Helm - annotations: - zone: "zone1,zone2" - spec: - - automountServiceAccountToken: false - shareProcessNamespace: false - serviceAccountName: default - affinity: - podAffinity: - - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - podAffinityTerm: - labelSelector: - matchLabels: - app.kubernetes.io/name: nginx - app.kubernetes.io/instance: test - topologyKey: kubernetes.io/hostname - weight: 1 - nodeAffinity: - - hostNetwork: false - hostIPC: false - initContainers: - containers: - - name: nginx - image: docker.io/bitnami/nginx:1.23.3 - imagePullPolicy: "IfNotPresent" - env: - - name: BITNAMI_DEBUG - value: "false" - - name: NGINX_HTTP_PORT_NUMBER - value: "8080" - envFrom: - ports: - - name: http - containerPort: 8080 - livenessProbe: - failureThreshold: 6 - initialDelaySeconds: 30 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - tcpSocket: - port: http - readinessProbe: - failureThreshold: 3 - initialDelaySeconds: 5 - periodSeconds: 5 - successThreshold: 1 - timeoutSeconds: 3 - tcpSocket: - port: http - resources: - limits: {} - requests: {} - volumeMounts: - volumes: - diff --git a/test/integration/test-cases/happypath.sh b/test/integration/test-cases/happypath.sh index a9778a1d..2968a554 100644 --- a/test/integration/test-cases/happypath.sh +++ b/test/integration/test-cases/happypath.sh @@ -2,14 +2,7 @@ test_start "happypath - simple rollout of httpbin chart" happypath_case_input_dir="${cases_dir}/happypath/input" happypath_case_output_dir="${cases_dir}/happypath/output" -config_file="happypath.yaml" - -if [[ ${HELMFILE_V1MODE} = true ]]; then - pushd "${happypath_case_input_dir}" - mv "${config_file}" "${config_file}.gotmpl" - config_file="${config_file}.gotmpl" - popd -fi +config_file="happypath.yaml.gotmpl" info "Diffing ${happypath_case_input_dir}/${config_file}" bash -c "${helmfile} -f ${happypath_case_input_dir}/${config_file} diff --detailed-exitcode; code="'$?'"; [ "'${code}'" -eq 2 ]" || fail "unexpected exit code returned by helmfile diff" diff --git a/test/integration/test-cases/happypath/input/happypath.yaml b/test/integration/test-cases/happypath/input/happypath.yaml.gotmpl similarity index 100% rename from test/integration/test-cases/happypath/input/happypath.yaml rename to test/integration/test-cases/happypath/input/happypath.yaml.gotmpl diff --git a/test/integration/test-cases/postrender.sh b/test/integration/test-cases/postrender.sh index 5a1a2aee..dfeab508 100644 --- a/test/integration/test-cases/postrender.sh +++ b/test/integration/test-cases/postrender.sh @@ -1,14 +1,7 @@ postrender_case_input_dir="${cases_dir}/postrender/input" postrender_case_output_dir="${cases_dir}/postrender/output" -config_file="helmfile.yaml" -if [[ ${HELMFILE_V1MODE} = true ]]; then - pushd "${postrender_case_input_dir}" - mv "${config_file}" "${config_file}.gotmpl" - config_file="${config_file}.gotmpl" - popd -fi - +config_file="helmfile.yaml.gotmpl" postrender_diff_out_file=${postrender_case_output_dir}/diff-result if [[ $EXTRA_HELMFILE_FLAGS == *--enable-live-output* ]]; then postrender_diff_out_file=${postrender_case_output_dir}/diff-result-live diff --git a/test/integration/test-cases/postrender/input/helmfile.yaml b/test/integration/test-cases/postrender/input/helmfile.yaml.gotmpl similarity index 100% rename from test/integration/test-cases/postrender/input/helmfile.yaml rename to test/integration/test-cases/postrender/input/helmfile.yaml.gotmpl diff --git a/test/integration/test-cases/regression.sh b/test/integration/test-cases/regression.sh index 8a68d491..bc2ea412 100644 --- a/test/integration/test-cases/regression.sh +++ b/test/integration/test-cases/regression.sh @@ -4,44 +4,20 @@ test_start "regression tests" regression_case_input_dir="${cases_dir}/regression/input" info "https://github.com/roboll/helmfile/issues/1857" -config_file="issue.1857.yaml" -if [[ ${HELMFILE_V1MODE} = true ]]; then - pushd "${regression_case_input_dir}" - mv "${config_file}" "${config_file}.gotmpl" - config_file="${config_file}.gotmpl" - popd -fi +config_file="issue.1857.yaml.gotmpl" (${helmfile} -f ${regression_case_input_dir}/${config_file} --state-values-set grafanaEnabled=true template | grep grafana 1>/dev/null) || fail "\"helmfile template\" shouldn't include grafana" ! (${helmfile} -f ${regression_case_input_dir}/${config_file} --state-values-set grafanaEnabled=false template | grep grafana) || fail "\"helmfile template\" shouldn't include grafana" info "https://github.com/roboll/helmfile/issues/1867" -config_file="issue.1867.yaml" -if [[ ${HELMFILE_V1MODE} = true ]]; then - pushd "${regression_case_input_dir}" - mv "${config_file}" "${config_file}.gotmpl" - config_file="${config_file}.gotmpl" - popd -fi +config_file="issue.1867.yaml.gotmpl" (${helmfile} -f ${regression_case_input_dir}/${config_file} template 1>/dev/null) || fail "\"helmfile template\" shouldn't fail" info "https://github.com/roboll/helmfile/issues/2118" -config_file="issue.2118.yaml" -if [[ ${HELMFILE_V1MODE} = true ]]; then - pushd "${regression_case_input_dir}" - mv "${config_file}" "${config_file}.gotmpl" - config_file="${config_file}.gotmpl" - popd -fi +config_file="issue.2118.yaml.gotmpl" (${helmfile} -f ${regression_case_input_dir}/${config_file} template 1>/dev/null) || fail "\"helmfile template\" shouldn't fail" info "https://github.com/helmfile/helmfile/issues/1682" -config_file="issue.1682.yaml" -if [[ ${HELMFILE_V1MODE} = true ]]; then - pushd "${regression_case_input_dir}" - mv "${config_file}" "${config_file}.gotmpl" - config_file="${config_file}.gotmpl" - popd -fi +config_file="issue.1682.yaml.gotmpl" (${helmfile} -f ${regression_case_input_dir}/${config_file} deps 1>/dev/null) || fail "\"helmfile deps\" shouldn't fail" test_pass "regression tests" \ No newline at end of file diff --git a/test/integration/test-cases/regression/input/issue.1682.yaml b/test/integration/test-cases/regression/input/issue.1682.yaml.gotmpl similarity index 100% rename from test/integration/test-cases/regression/input/issue.1682.yaml rename to test/integration/test-cases/regression/input/issue.1682.yaml.gotmpl diff --git a/test/integration/test-cases/regression/input/issue.1857.yaml b/test/integration/test-cases/regression/input/issue.1857.yaml.gotmpl similarity index 100% rename from test/integration/test-cases/regression/input/issue.1857.yaml rename to test/integration/test-cases/regression/input/issue.1857.yaml.gotmpl diff --git a/test/integration/test-cases/regression/input/issue.1867.yaml b/test/integration/test-cases/regression/input/issue.1867.yaml.gotmpl similarity index 100% rename from test/integration/test-cases/regression/input/issue.1867.yaml rename to test/integration/test-cases/regression/input/issue.1867.yaml.gotmpl diff --git a/test/integration/test-cases/regression/input/issue.2118.yaml b/test/integration/test-cases/regression/input/issue.2118.yaml.gotmpl similarity index 100% rename from test/integration/test-cases/regression/input/issue.2118.yaml rename to test/integration/test-cases/regression/input/issue.2118.yaml.gotmpl diff --git a/test/integration/test-cases/secretssops.sh b/test/integration/test-cases/secretssops.sh index b4c53f79..b5085275 100644 --- a/test/integration/test-cases/secretssops.sh +++ b/test/integration/test-cases/secretssops.sh @@ -4,13 +4,7 @@ sops="sops --hc-vault-transit $VAULT_ADDR/v1/sops/keys/key" secretssops_case_input_dir="${cases_dir}/secretssops/input" secretssops_case_output_dir="${cases_dir}/secretssops/output" -config_file="secretssops.yaml" -if [[ ${HELMFILE_V1MODE} = true ]]; then - pushd "${secretssops_case_input_dir}" - mv "${config_file}" "${config_file}.gotmpl" - config_file="${config_file}.gotmpl" - popd -fi +config_file="secretssops.yaml.gotmpl" mkdir -p ${secretssops_case_input_dir}/tmp diff --git a/test/integration/test-cases/secretssops/input/secretssops.yaml b/test/integration/test-cases/secretssops/input/secretssops.yaml.gotmpl similarity index 100% rename from test/integration/test-cases/secretssops/input/secretssops.yaml rename to test/integration/test-cases/secretssops/input/secretssops.yaml.gotmpl diff --git a/test/integration/test-cases/v1-subhelmfile-multi-bases-with-array-values.sh b/test/integration/test-cases/v1-subhelmfile-multi-bases-with-array-values.sh index a234fb19..113f45fa 100644 --- a/test/integration/test-cases/v1-subhelmfile-multi-bases-with-array-values.sh +++ b/test/integration/test-cases/v1-subhelmfile-multi-bases-with-array-values.sh @@ -1,19 +1,20 @@ -if [[ ${HELMFILE_V1MODE} = true ]]; then - v1_subhelmfile_multi_bases_with_array_values_input_dir="${cases_dir}/v1-subhelmfile-multi-bases-with-array-values/input" - v1_subhelmfile_multi_bases_with_array_values_output_dir="${cases_dir}/v1-subhelmfile-multi-bases-with-array-values/output" +v1_subhelmfile_multi_bases_with_array_values_input_dir="${cases_dir}/v1-subhelmfile-multi-bases-with-array-values/input" +v1_subhelmfile_multi_bases_with_array_values_output_dir="${cases_dir}/v1-subhelmfile-multi-bases-with-array-values/output" - yaml_overwrite_tmp=$(mktemp -d) - yaml_overwrite_reverse=${yaml_overwrite_tmp}/helmfile_template_result +yaml_overwrite_tmp=$(mktemp -d) +yaml_overwrite_reverse=${yaml_overwrite_tmp}/helmfile_template_result - test_start "v1 subhelmfile multi bases with array values" - info "Comparing v1 subhelmfile multi bases with array values output ${yaml_overwrite_reverse} with ${v1_subhelmfile_multi_bases_with_array_values_output_dir}/result" - for i in $(seq 10); do - info "Comparing build/v1-subhelmfile-multi-bases-with-array-values #$i" - ${helmfile} -f ${v1_subhelmfile_multi_bases_with_array_values_input_dir}/helmfile.yaml.gotmpl template -e dev &> ${yaml_overwrite_reverse} || fail "\"helmfile template\" shouldn't fail" - diff -u ${v1_subhelmfile_multi_bases_with_array_values_output_dir}/result ${yaml_overwrite_reverse} || fail "\"helmfile template\" should be consistent" - echo code=$? - done - test_pass "v1 subhelmfile multi bases with array values" -else - test_pass "[skipped] v1 subhelmfile multi bases with array values" -fi \ No newline at end of file +v1_subhelmfile_multi_bases_with_array_values_output_file=${v1_subhelmfile_multi_bases_with_array_values_output_dir}/result +if [[ $EXTRA_HELMFILE_FLAGS == *--enable-live-output* ]]; then + v1_subhelmfile_multi_bases_with_array_values_output_file=${v1_subhelmfile_multi_bases_with_array_values_output_dir}/result-live +fi + +test_start "v1 subhelmfile multi bases with array values" +info "Comparing v1 subhelmfile multi bases with array values output ${yaml_overwrite_reverse} with ${v1_subhelmfile_multi_bases_with_array_values_output_file}" +for i in $(seq 10); do + info "Comparing build/v1-subhelmfile-multi-bases-with-array-values #$i" + ${helmfile} -f ${v1_subhelmfile_multi_bases_with_array_values_input_dir}/helmfile.yaml.gotmpl template -e dev &> ${yaml_overwrite_reverse} || fail "\"helmfile template\" shouldn't fail" + diff -u ${v1_subhelmfile_multi_bases_with_array_values_output_file} ${yaml_overwrite_reverse} || fail "\"helmfile template\" should be consistent" + echo code=$? +done +test_pass "v1 subhelmfile multi bases with array values" \ No newline at end of file diff --git a/test/integration/test-cases/v1-subhelmfile-multi-bases-with-array-values/output/result-live b/test/integration/test-cases/v1-subhelmfile-multi-bases-with-array-values/output/result-live new file mode 100644 index 00000000..ba42d6c6 --- /dev/null +++ b/test/integration/test-cases/v1-subhelmfile-multi-bases-with-array-values/output/result-live @@ -0,0 +1,25 @@ +Live output is enabled +Adding repo incubator https://charts.helm.sh/incubator/ +"incubator" has been added to your repositories + +Templating release=helmfile-test, chart=incubator/raw +--- +# Source: raw/templates/resources.yaml +apiVersion: v1 +kind: Pod +metadata: + labels: + app: raw + chart: raw-0.1.0 + heritage: Helm + release: helmfile-test + name: test +spec: + containers: + - command: + - /bin/sh + - -c + - env + image: registry.k8s.io/busybox + name: test-container + diff --git a/test/integration/test-cases/yaml-overwrite.sh b/test/integration/test-cases/yaml-overwrite.sh index a4a45825..617d8f97 100644 --- a/test/integration/test-cases/yaml-overwrite.sh +++ b/test/integration/test-cases/yaml-overwrite.sh @@ -1,19 +1,15 @@ -if [[ ${HELMFILE_V1MODE} = true ]]; then - yaml_overwrite_case_input_dir="${cases_dir}/yaml-overwrite/input" - yaml_overwrite_case_output_dir="${cases_dir}/yaml-overwrite/output" +yaml_overwrite_case_input_dir="${cases_dir}/yaml-overwrite/input" +yaml_overwrite_case_output_dir="${cases_dir}/yaml-overwrite/output" - yaml_overwrite_tmp=$(mktemp -d) - yaml_overwrite_reverse=${yaml_overwrite_tmp}/yaml.override.build.yaml +yaml_overwrite_tmp=$(mktemp -d) +yaml_overwrite_reverse=${yaml_overwrite_tmp}/yaml.override.build.yaml - test_start "yaml overwrite feature" - info "Comparing yaml overwrite feature output ${yaml_overwrite_reverse} with ${yaml_overwrite_case_output_dir}/overwritten.yaml" - for i in $(seq 10); do - info "Comparing build/yaml-overwrite #$i" - ${helmfile} -f ${yaml_overwrite_case_input_dir}/issue.657.yaml.gotmpl template --skip-deps > ${yaml_overwrite_reverse} || fail "\"helmfile template\" shouldn't fail" - ./dyff between -bs ${yaml_overwrite_case_output_dir}/overwritten.yaml ${yaml_overwrite_reverse} || fail "\"helmfile template\" should be consistent" - echo code=$? - done - test_pass "yaml overwrite feature" -else - test_pass "[skipped] yaml overwrite feature" -fi \ No newline at end of file +test_start "yaml overwrite feature" +info "Comparing yaml overwrite feature output ${yaml_overwrite_reverse} with ${yaml_overwrite_case_output_dir}/overwritten.yaml" +for i in $(seq 10); do + info "Comparing build/yaml-overwrite #$i" + ${helmfile} -f ${yaml_overwrite_case_input_dir}/issue.657.yaml.gotmpl template --skip-deps > ${yaml_overwrite_reverse} || fail "\"helmfile template\" shouldn't fail" + ./dyff between -bs ${yaml_overwrite_case_output_dir}/overwritten.yaml ${yaml_overwrite_reverse} || fail "\"helmfile template\" should be consistent" + echo code=$? +done +test_pass "yaml overwrite feature" \ No newline at end of file