Hello community, here is the log from the commit of package helmfile for openSUSE:Factory checked in at 2020-10-28 09:58:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/helmfile (Old) and /work/SRC/openSUSE:Factory/.helmfile.new.3463 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "helmfile" Wed Oct 28 09:58:52 2020 rev:10 rq:844397 version:0.132.1 Changes: -------- --- /work/SRC/openSUSE:Factory/helmfile/helmfile.changes 2020-10-23 12:23:09.636716627 +0200 +++ /work/SRC/openSUSE:Factory/.helmfile.new.3463/helmfile.changes 2020-10-28 09:59:05.375174447 +0100 @@ -1,0 +2,11 @@ +Tue Oct 27 17:35:00 UTC 2020 - Manfred Hollstein <manfre...@gmx.net> + +- v0.132.1: Disable dependency update while running helm-x/chartify + in more cases… + * 0663831 (HEAD, tag: v0.132.1, origin/master, origin/HEAD, master) + Disable dependency update while running helm-x/chartify in more + cases (#1548) + * afb2653 fix: printing error to stdout together with templated + resources (#1550) + +------------------------------------------------------------------- Old: ---- helmfile-0.132.0.tar.gz New: ---- helmfile-0.132.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ helmfile.spec ++++++ --- /var/tmp/diff_new_pack.VxwsYa/_old 2020-10-28 09:59:06.979175569 +0100 +++ /var/tmp/diff_new_pack.VxwsYa/_new 2020-10-28 09:59:06.983175572 +0100 @@ -16,9 +16,9 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # -%define git_commit 9ec4a85821c06601dd3fe35c4effbed59089b48e +%define git_commit 0663831dd5588f9c243c25b3b5b2faf7f636ece8 Name: helmfile -Version: 0.132.0 +Version: 0.132.1 Release: 0 Summary: Deploy Kubernetes Helm Charts License: MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.VxwsYa/_old 2020-10-28 09:59:07.015175595 +0100 +++ /var/tmp/diff_new_pack.VxwsYa/_new 2020-10-28 09:59:07.019175598 +0100 @@ -5,7 +5,7 @@ <param name="exclude">.git</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> - <param name="revision">v0.132.0</param> + <param name="revision">v0.132.1</param> <param name="changesgenerate">enable</param> </service> <service name="recompress" mode="disabled"> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.VxwsYa/_old 2020-10-28 09:59:07.047175617 +0100 +++ /var/tmp/diff_new_pack.VxwsYa/_new 2020-10-28 09:59:07.047175617 +0100 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/roboll/helmfile.git</param> - <param name="changesrevision">9ec4a85821c06601dd3fe35c4effbed59089b48e</param></service></servicedata> + <param name="changesrevision">0663831dd5588f9c243c25b3b5b2faf7f636ece8</param></service></servicedata> ++++++ helmfile-0.132.0.tar.gz -> helmfile-0.132.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helmfile-0.132.0/README.md new/helmfile-0.132.1/README.md --- old/helmfile-0.132.0/README.md 2020-10-19 01:48:39.000000000 +0200 +++ new/helmfile-0.132.1/README.md 2020-10-25 03:25:59.000000000 +0100 @@ -104,6 +104,9 @@ createNamespace: true # if used with charts museum allows to pull unstable charts for deployment, for example: if 1.2.3 and 1.2.4-dev versions exist and set to true, 1.2.4-dev will be pulled (default false) devel: true + # When set to `true`, skips running `helm dep up` and `helm dep build` on this release's chart. + # Useful when the chart is broken, like seen in https://github.com/roboll/helmfile/issues/1547 + skipDeps: false # these labels will be applied to all releases in a Helmfile. Useful in templating if you have a helmfile per environment or customer and don't want to copy the same label to each release commonLabels: @@ -193,6 +196,9 @@ kubeContext: kube-context # limit the maximum number of revisions saved per release. Use 0 for no limit (default 10) historyMax: 10 + # When set to `true`, skips running `helm dep up` and `helm dep build` on this release's chart. + # Useful when the chart is broken, like seen in https://github.com/roboll/helmfile/issues/1547 + skipDeps: false # Local chart example - name: grafana # name of this release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helmfile-0.132.0/go.mod new/helmfile-0.132.1/go.mod --- old/helmfile-0.132.0/go.mod 2020-10-19 01:48:39.000000000 +0200 +++ new/helmfile-0.132.1/go.mod 2020-10-25 03:25:59.000000000 +0100 @@ -22,7 +22,7 @@ github.com/spf13/cobra v0.0.3 github.com/tatsushid/go-prettytable v0.0.0-20141013043238-ed2d14c29939 github.com/urfave/cli v1.20.0 - github.com/variantdev/chartify v0.4.4 + github.com/variantdev/chartify v0.4.8 github.com/variantdev/dag v0.0.0-20191028002400-bb0b3c785363 github.com/variantdev/vals v0.10.3 go.uber.org/multierr v1.1.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helmfile-0.132.0/go.sum new/helmfile-0.132.1/go.sum --- old/helmfile-0.132.0/go.sum 2020-10-19 01:48:39.000000000 +0200 +++ new/helmfile-0.132.1/go.sum 2020-10-25 03:25:59.000000000 +0100 @@ -855,6 +855,14 @@ github.com/variantdev/chartify v0.4.3/go.mod h1:Fr4oPNJ4b19knlovn0wBoU2+MZxQdBacmBs30wwgAFk= github.com/variantdev/chartify v0.4.4 h1:ludsoqljh2HVNpZhMjtvzo5P0ntEcFqMufu6B4SfByY= github.com/variantdev/chartify v0.4.4/go.mod h1:Fr4oPNJ4b19knlovn0wBoU2+MZxQdBacmBs30wwgAFk= +github.com/variantdev/chartify v0.4.5 h1:Nt2lFV1yNnu2uvs0iAf/uyRrNtlrL74Ie/KVwBe2WqA= +github.com/variantdev/chartify v0.4.5/go.mod h1:Fr4oPNJ4b19knlovn0wBoU2+MZxQdBacmBs30wwgAFk= +github.com/variantdev/chartify v0.4.6 h1:YILsir/llPNwbITPIdQ7bCc5lYJgmK3l15jcS62v88E= +github.com/variantdev/chartify v0.4.6/go.mod h1:Fr4oPNJ4b19knlovn0wBoU2+MZxQdBacmBs30wwgAFk= +github.com/variantdev/chartify v0.4.7 h1:qBAmbMFdQ1mMLP9ZikqVLMyakkeqPKNcv/YT2laP6P4= +github.com/variantdev/chartify v0.4.7/go.mod h1:Fr4oPNJ4b19knlovn0wBoU2+MZxQdBacmBs30wwgAFk= +github.com/variantdev/chartify v0.4.8 h1:bQAlp9N1qiyG29bn39r51g1bBuDJrYdT9zxT303PhbM= +github.com/variantdev/chartify v0.4.8/go.mod h1:Fr4oPNJ4b19knlovn0wBoU2+MZxQdBacmBs30wwgAFk= github.com/variantdev/dag v0.0.0-20191028002400-bb0b3c785363 h1:KrfQBEUn+wEOQ/6UIfoqRDvn+Q/wZridQ7t0G1vQqKE= github.com/variantdev/dag v0.0.0-20191028002400-bb0b3c785363/go.mod h1:pH1TQsNSLj2uxMo9NNl9zdGy01Wtn+/2MT96BrKmVyE= github.com/variantdev/vals v0.4.0 h1:O1O7/sWhlvozcY2DjZBzlE1notxwVo6UBT1+w7HsO/k= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helmfile-0.132.0/pkg/state/state.go new/helmfile-0.132.1/pkg/state/state.go --- old/helmfile-0.132.0/pkg/state/state.go 2020-10-19 01:48:39.000000000 +0200 +++ new/helmfile-0.132.1/pkg/state/state.go 2020-10-25 03:25:59.000000000 +0100 @@ -139,6 +139,10 @@ HistoryMax *int `yaml:"historyMax,omitempty"` // CreateNamespace, when set to true (default), --create-namespace is passed to helm3 on install/upgrade (ignored for helm2) CreateNamespace *bool `yaml:"createNamespace,omitempty"` + // SkipDeps disables running `helm dependency up` and `helm dependency build` on this release's chart. + // This is relevant only when your release uses a local chart or a directory containing K8s manifests or a Kustomization + // as a Helm chart. + SkipDeps bool `yaml:"skipDeps"` TLS bool `yaml:"tls"` TLSCACert string `yaml:"tlsCACert,omitempty"` @@ -270,6 +274,11 @@ // In standard use-cases, `Namespace` should be sufficient. // Use this only when you know what you want to do! ForceNamespace string `yaml:"forceNamespace"` + + // SkipDeps disables running `helm dependency up` and `helm dependency build` on this release's chart. + // This is relevant only when your release uses a local chart or a directory containing K8s manifests or a Kustomization + // as a Helm chart. + SkipDeps *bool `yaml:"skipDeps"` } type Release struct { @@ -894,6 +903,8 @@ chartName := release.Chart + isLocal := pathExists(normalizeChart(st.basePath, chartName)) + chartPath, err := st.goGetterChart(chartName, release.Directory, release.ForceGoGetter) if err != nil { results <- &chartPrepareResult{err: fmt.Errorf("release %q: %w", release.Name, err)} @@ -911,20 +922,34 @@ var buildDeps bool + skipDepsGlobal := opts.SkipRepos + skipDepsRelease := release.SkipDeps != nil && *release.SkipDeps + skipDepsDefault := release.SkipDeps == nil && st.HelmDefaults.SkipDeps + skipDeps := !isLocal || skipDepsGlobal || skipDepsRelease || skipDepsDefault + if chartification != nil { c := chartify.New( chartify.HelmBin(st.DefaultHelmBinary), chartify.UseHelm3(helm3), ) - out, err := c.Chartify(release.Name, chartPath, chartify.WithChartifyOpts(chartification.Opts)) + chartifyOpts := chartification.Opts + + if skipDeps { + chartifyOpts.SkipDeps = true + } + + out, err := c.Chartify(release.Name, chartPath, chartify.WithChartifyOpts(chartifyOpts)) if err != nil { results <- &chartPrepareResult{err: err} return } else { - // TODO Chartify chartPath = out } + + // Skip `helm dep build` and `helm dep up` altogether when the chart is from remote or the dep is + // explicitly skipped. + buildDeps = !skipDeps } else if pathExists(normalizeChart(st.basePath, chartPath)) { // At this point, we are sure that chartPath is a local directory containing either: // - A remote chart fetched by go-getter or @@ -951,7 +976,7 @@ // a broken remote chart won't completely block their job. chartPath = normalizeChart(st.basePath, chartPath) - buildDeps = !opts.SkipRepos + buildDeps = !skipDeps } else if !opts.ForceDownload { // At this point, we are sure that either: // 1. It is a local chart and we can use it in later process (helm upgrade/template/lint/etc) @@ -2206,7 +2231,7 @@ if st.MissingFileHandler == "Error" { return nil, err } - fmt.Println(err) + st.logger.Warnf("no matches for path: %s", hf.Path) continue } for _, match := range matches { ++++++ vendor.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/variantdev/chartify/chartify.go new/vendor/github.com/variantdev/chartify/chartify.go --- old/vendor/github.com/variantdev/chartify/chartify.go 2020-10-22 10:52:47.000000000 +0200 +++ new/vendor/github.com/variantdev/chartify/chartify.go 2020-10-27 18:37:41.000000000 +0100 @@ -57,6 +57,11 @@ // For kustomization, `Namespace` should just work and this won't be needed. // For helm chart, as long as the chart has "correct" resource templates with `namespace: {{ .Namespace }}`s this isn't needed. OverrideNamespace string + + // SkipDeps skips running `helm dep up` on the chart. + // Useful for cases when the chart has a broken dependencies definition like seen in + // https://github.com/roboll/helmfile/issues/1547 + SkipDeps bool } type ChartifyOption interface { @@ -97,6 +102,8 @@ } } + isLocal, _ := r.Exists(dirOrChart) + isKustomization, err := r.Exists(filepath.Join(dirOrChart, "kustomization.yaml")) if err != nil { return "", err @@ -299,33 +306,38 @@ } var generatedManifestFiles []string - { - // Flatten the chart by fetching dependent chart archives and merging their K8s manifests into the temporary local chart - // So that we can uniformly patch them with JSON patch, Strategic-Merge patch, or with injectors - _, err := r.run(r.helmBin(), "dependency", "up", tempDir) - if err != nil { - return "", err - } - - templateOptions := ReplaceWithRenderedOpts{ - Debug: u.Debug, - Namespace: u.Namespace, - SetValues: u.SetValues, - ValuesFiles: u.ValuesFiles, - ChartVersion: u.ChartVersion, - WorkaroundOutputDirIssue: u.WorkaroundOutputDirIssue, + if isLocal { + if u.SkipDeps { + r.Logf("Skipping `helm dependency up` on release %s's chart due to that you've set SkipDeps=true.\n"+ + "This may result in outdated chart dependencies.", release) + } else { + // Flatten the chart by fetching dependent chart archives and merging their K8s manifests into the temporary local chart + // So that we can uniformly patch them with JSON patch, Strategic-Merge patch, or with injectors + _, err := r.run(r.helmBin(), "dependency", "up", tempDir) + if err != nil { + return "", err + } } + } - generated, err := r.ReplaceWithRendered(release, chartName, tempDir, templateOptions) - if err != nil { - return "", err - } + templateOptions := ReplaceWithRenderedOpts{ + Debug: u.Debug, + Namespace: u.Namespace, + SetValues: u.SetValues, + ValuesFiles: u.ValuesFiles, + ChartVersion: u.ChartVersion, - generatedManifestFiles = generated - //} + WorkaroundOutputDirIssue: u.WorkaroundOutputDirIssue, } + generated, err := r.ReplaceWithRendered(release, chartName, tempDir, templateOptions) + if err != nil { + return "", err + } + + generatedManifestFiles = generated + // We've already rendered resources from the chart and its subcharts to the helmx.1.rendered directory // No need to double-render them by leaving requirements.yaml/lock and downloaded sub-charts _ = os.Remove(filepath.Join(tempDir, "requirements.yaml")) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt --- old/vendor/modules.txt 2020-10-22 10:52:48.000000000 +0200 +++ new/vendor/modules.txt 2020-10-27 18:37:43.000000000 +0100 @@ -277,7 +277,7 @@ # github.com/urfave/cli v1.20.0 ## explicit github.com/urfave/cli -# github.com/variantdev/chartify v0.4.4 +# github.com/variantdev/chartify v0.4.8 ## explicit github.com/variantdev/chartify # github.com/variantdev/dag v0.0.0-20191028002400-bb0b3c785363