Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package werf for openSUSE:Factory checked in at 2025-05-01 15:23:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/werf (Old) and /work/SRC/openSUSE:Factory/.werf.new.30101 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "werf" Thu May 1 15:23:04 2025 rev:47 rq:1273750 version:2.35.7 Changes: -------- --- /work/SRC/openSUSE:Factory/werf/werf.changes 2025-04-29 16:42:20.435130004 +0200 +++ /work/SRC/openSUSE:Factory/.werf.new.30101/werf.changes 2025-05-01 15:23:22.334897744 +0200 @@ -1,0 +2,19 @@ +Wed Apr 30 21:19:26 UTC 2025 - Johannes Kastl <opensuse_buildserv...@ojkastl.de> + +- Update to version 2.35.7: + * Bug Fixes + - deploy: label/annotation separator options have no effect + (c9e2eff) + - export: align label separator default (comma) with other + commands (c04db26) + +------------------------------------------------------------------- +Wed Apr 30 21:11:49 UTC 2025 - Johannes Kastl <opensuse_buildserv...@ojkastl.de> + +- Update to version 2.35.6: + * Bug Fixes + - bundle: incorrect parsing of image reference with colon in + tag (ba851eb) + - deploy: improve log color detection (c113429) + +------------------------------------------------------------------- Old: ---- werf-2.35.5.obscpio New: ---- werf-2.35.7.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ werf.spec ++++++ --- /var/tmp/diff_new_pack.7DrHbL/_old 2025-05-01 15:23:23.034927078 +0200 +++ /var/tmp/diff_new_pack.7DrHbL/_new 2025-05-01 15:23:23.038927245 +0200 @@ -17,7 +17,7 @@ Name: werf -Version: 2.35.5 +Version: 2.35.7 Release: 0 Summary: CLI for the Werf CI/CD system License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.7DrHbL/_old 2025-05-01 15:23:23.110930262 +0200 +++ /var/tmp/diff_new_pack.7DrHbL/_new 2025-05-01 15:23:23.118930598 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/werf/werf</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v2.35.5</param> + <param name="revision">v2.35.7</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.7DrHbL/_old 2025-05-01 15:23:23.146931771 +0200 +++ /var/tmp/diff_new_pack.7DrHbL/_new 2025-05-01 15:23:23.150931938 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/werf/werf</param> - <param name="changesrevision">b33c397d6bf194cdde382f3c98adebe62ef67e36</param></service></servicedata> + <param name="changesrevision">346c06575907254603ada1598ea117cbfb1514d9</param></service></servicedata> (No newline at EOF) ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/werf/vendor.tar.gz /work/SRC/openSUSE:Factory/.werf.new.30101/vendor.tar.gz differ: char 13, line 1 ++++++ werf-2.35.5.obscpio -> werf-2.35.7.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/CHANGELOG.md new/werf-2.35.7/CHANGELOG.md --- old/werf-2.35.5/CHANGELOG.md 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/CHANGELOG.md 2025-04-30 16:31:11.000000000 +0200 @@ -1,5 +1,21 @@ # Changelog +### [2.35.7](https://www.github.com/werf/werf/compare/v2.35.6...v2.35.7) (2025-04-30) + + +### Bug Fixes + +* **deploy:** label/annotation separator options have no effect ([c9e2eff](https://www.github.com/werf/werf/commit/c9e2eff208f19950a2557e540240eb0a94e8bd93)) +* **export:** align label separator default (comma) with other commands ([c04db26](https://www.github.com/werf/werf/commit/c04db264e96f37d9588dc6f26f3b86c2927f445a)) + +### [2.35.6](https://www.github.com/werf/werf/compare/v2.35.5...v2.35.6) (2025-04-30) + + +### Bug Fixes + +* **bundle:** incorrect parsing of image reference with colon in tag ([ba851eb](https://www.github.com/werf/werf/commit/ba851ebe26cfb3572f627515a0eebddcf931b9fe)) +* **deploy:** improve log color detection ([c113429](https://www.github.com/werf/werf/commit/c113429c5cc7e9f5282ca5983be675fb067e3c61)) + ### [2.35.5](https://www.github.com/werf/werf/compare/v2.35.4...v2.35.5) (2025-04-25) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/bundle/apply/apply.go new/werf-2.35.7/cmd/werf/bundle/apply/apply.go --- old/werf-2.35.5/cmd/werf/bundle/apply/apply.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/bundle/apply/apply.go 2025-04-30 16:31:11.000000000 +0200 @@ -210,7 +210,7 @@ chart.CurrentChartType = chart.ChartTypeBundle - ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultReleaseInstallLogLevel, *commonCmdData.LogColorMode) + ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultReleaseInstallLogLevel, *commonCmdData.LogColorMode, false) if err := action.ReleaseInstall(ctx, releaseName, releaseNamespace, action.ReleaseInstallOptions{ AutoRollback: cmdData.AutoRollback, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/bundle/render/render.go new/werf-2.35.7/cmd/werf/bundle/render/render.go --- old/werf-2.35.5/cmd/werf/bundle/render/render.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/bundle/render/render.go 2025-04-30 16:31:11.000000000 +0200 @@ -214,7 +214,9 @@ chart.CurrentChartType = chart.ChartTypeBundle - ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultChartRenderLogLevel, *commonCmdData.LogColorMode) + // TODO(v3): get rid of forcing color mode via ci-env and use color mode detection logic from + // Nelm instead. Until then, color will be always off here. + ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultChartRenderLogLevel, action.LogColorModeOff, true) if err := action.ChartRender(ctx, action.ChartRenderOptions{ ChartDirPath: bundlePath, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/common/common.go new/werf-2.35.7/cmd/werf/common/common.go --- old/werf-2.35.5/cmd/werf/common/common.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/common/common.go 2025-04-30 16:31:11.000000000 +0200 @@ -414,40 +414,38 @@ func SetupAddAnnotations(cmdData *CmdData, cmd *cobra.Command) { cmdData.AddAnnotations = new([]string) - cmd.Flags().StringArrayVarP(cmdData.AddAnnotations, "add-annotation", "", []string{}, `Add annotation to deploying resources (can specify multiple). -Format: annoName=annoValue[<separator>annoName=annoValue ...]. The default separator is a newline ("\n"), but it can be customized using the --add-annotation-separator flag. -Also, can be specified with $WERF_ADD_ANNOTATION_* (e.g. $WERF_ADD_ANNOTATION_1=annoName1=annoValue1, $WERF_ADD_ANNOTATION_2=annoName2=annoValue2)`) + cmd.Flags().StringArrayVarP(cmdData.AddAnnotations, "add-annotation", "", []string{}, fmt.Sprintf(`Add annotation to deploying resources (can specify multiple). +Format: annoName=annoValue[<separator>annoName=annoValue ...]. The default separator is %q, but it can be customized using the --add-annotation-separator flag. +Also, can be specified with $WERF_ADD_ANNOTATION_* (e.g. $WERF_ADD_ANNOTATION_1=annoName1=annoValue1, $WERF_ADD_ANNOTATION_2=annoName2=annoValue2)`, DefaultPairSeparator)) } -const DefaultAnnoAndLabelPairSeparator = "\n" - func SetupAddAnnotationSeparator(cmdData *CmdData, cmd *cobra.Command) { cmdData.AddAnnotationSeparator = new(string) - defaultValue := DefaultAnnoAndLabelPairSeparator + defaultValue := DefaultPairSeparator if os.Getenv("WERF_ADD_ANNOTATION_SEPARATOR") != "" { defaultValue = os.Getenv("WERF_ADD_ANNOTATION_SEPARATOR") } - cmd.Flags().StringVarP(cmdData.AddAnnotationSeparator, "add-annotation-separator", "", defaultValue, `Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or "\n")`) + cmd.Flags().StringVarP(cmdData.AddAnnotationSeparator, "add-annotation-separator", "", defaultValue, fmt.Sprintf(`Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or %q)`, DefaultPairSeparator)) } func SetupAddLabels(cmdData *CmdData, cmd *cobra.Command) { cmdData.AddLabels = new([]string) - cmd.Flags().StringArrayVarP(cmdData.AddLabels, "add-label", "", []string{}, `Add label to deploying resources (can specify multiple). -Format: labelName=labelValue[<separator>labelName=labelValue ...]. The default separator is a newline ("\n"), but it can be customized using the --add-label-separator flag. -Also, can be specified with $WERF_ADD_LABEL_* (e.g. $WERF_ADD_LABEL_1=labelName1=labelValue1, $WERF_ADD_LABEL_2=labelName2=labelValue2)`) + cmd.Flags().StringArrayVarP(cmdData.AddLabels, "add-label", "", []string{}, fmt.Sprintf(`Add label to deploying resources (can specify multiple). +Format: labelName=labelValue[<separator>labelName=labelValue ...]. The default separator is %q, but it can be customized using the --add-label-separator flag. +Also, can be specified with $WERF_ADD_LABEL_* (e.g. $WERF_ADD_LABEL_1=labelName1=labelValue1, $WERF_ADD_LABEL_2=labelName2=labelValue2)`, DefaultPairSeparator)) } func SetupAddLabelSeparator(cmdData *CmdData, cmd *cobra.Command) { cmdData.AddLabelSeparator = new(string) - defaultValue := DefaultAnnoAndLabelPairSeparator + defaultValue := DefaultPairSeparator if os.Getenv("WERF_ADD_LABEL_SEPARATOR") != "" { defaultValue = os.Getenv("WERF_ADD_LABEL_SEPARATOR") } - cmd.Flags().StringVarP(cmdData.AddLabelSeparator, "add-label-separator", "", defaultValue, `Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or "\n")`) + cmd.Flags().StringVarP(cmdData.AddLabelSeparator, "add-label-separator", "", defaultValue, fmt.Sprintf(`Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or %q)`, DefaultPairSeparator)) } func SetupKubeContext(cmdData *CmdData, cmd *cobra.Command) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/common/deploy_params.go new/werf-2.35.7/cmd/werf/common/deploy_params.go --- old/werf-2.35.5/cmd/werf/common/deploy_params.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/common/deploy_params.go 2025-04-30 16:31:11.000000000 +0200 @@ -13,7 +13,7 @@ ) func GetUserExtraAnnotations(cmdData *CmdData) (map[string]string, error) { - result, err := InputArrayToKeyValueMap(GetAddAnnotations(cmdData), ",", DefaultKeyValueSeparator) + result, err := InputArrayToKeyValueMap(GetAddAnnotations(cmdData), *cmdData.AddAnnotationSeparator, DefaultKeyValueSeparator) if err != nil { return nil, fmt.Errorf("unsupported --add-annotation value: %w", err) } @@ -22,7 +22,7 @@ } func GetUserExtraLabels(cmdData *CmdData) (map[string]string, error) { - result, err := InputArrayToKeyValueMap(GetAddLabels(cmdData), ",", DefaultKeyValueSeparator) + result, err := InputArrayToKeyValueMap(GetAddLabels(cmdData), *cmdData.AddLabelSeparator, DefaultKeyValueSeparator) if err != nil { return nil, fmt.Errorf("unsupported --add-label value: %w", err) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/converge/converge.go new/werf-2.35.7/cmd/werf/converge/converge.go --- old/werf-2.35.5/cmd/werf/converge/converge.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/converge/converge.go 2025-04-30 16:31:11.000000000 +0200 @@ -433,7 +433,7 @@ loader.ChartFileReader = giterminismManager.FileReader() - ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultReleaseInstallLogLevel, *commonCmdData.LogColorMode) + ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultReleaseInstallLogLevel, *commonCmdData.LogColorMode, false) if err := action.ReleaseInstall(ctx, releaseName, releaseNamespace, action.ReleaseInstallOptions{ AutoRollback: cmdData.AutoRollback, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/dismiss/dismiss.go new/werf-2.35.7/cmd/werf/dismiss/dismiss.go --- old/werf-2.35.5/cmd/werf/dismiss/dismiss.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/dismiss/dismiss.go 2025-04-30 16:31:11.000000000 +0200 @@ -170,7 +170,7 @@ return fmt.Errorf("get release name and namespace: %w", err) } - ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultReleaseUninstallLogLevel, *commonCmdData.LogColorMode) + ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultReleaseUninstallLogLevel, *commonCmdData.LogColorMode, false) if err := action.ReleaseUninstall(ctx, releaseName, releaseNamespace, action.ReleaseUninstallOptions{ NoDeleteHooks: !cmdData.WithHooks, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/export/export.go new/werf-2.35.7/cmd/werf/export/export.go --- old/werf-2.35.5/cmd/werf/export/export.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/export/export.go 2025-04-30 16:31:11.000000000 +0200 @@ -128,16 +128,16 @@ cmd.Flags().StringArrayVarP(&tagTemplateList, "tag", "", []string{}, `Set a tag template (can specify multiple). It is necessary to use image name shortcut %image% or %image_slug% if multiple images are exported (e.g. REPO:TAG-%image% or REPO-%image%:TAG)`) - cmd.Flags().StringArrayVarP(&addLabelArray, "add-label", "", []string{}, `Add label to exported images (can specify multiple). -Format: labelName=labelValue[<separator>labelName=labelValue ...]. The default separator is a newline ("\n"), but it can be customized using the --add-label-separator flag. -Also, can be specified with $WERF_EXPORT_ADD_LABEL_* (e.g. $WERF_EXPORT_ADD_LABEL_1=labelName1=labelValue1, $WERF_EXPORT_ADD_LABEL_2=labelName2=labelValue2)`) + cmd.Flags().StringArrayVarP(&addLabelArray, "add-label", "", []string{}, fmt.Sprintf(`Add label to exported images (can specify multiple). +Format: labelName=labelValue[<separator>labelName=labelValue ...]. The default separator is a newline %q, but it can be customized using the --add-label-separator flag. +Also, can be specified with $WERF_EXPORT_ADD_LABEL_* (e.g. $WERF_EXPORT_ADD_LABEL_1=labelName1=labelValue1, $WERF_EXPORT_ADD_LABEL_2=labelName2=labelValue2)`, common.DefaultPairSeparator)) - defaultValue := common.DefaultAnnoAndLabelPairSeparator + defaultValue := common.DefaultPairSeparator if os.Getenv("WERF_EXPORT_ADD_LABEL_SEPARATOR") != "" { defaultValue = os.Getenv("WERF_EXPORT_ADD_LABEL_SEPARATOR") } - cmd.Flags().StringVarP(&addLabelSeparator, "add-label-separator", "", defaultValue, `Separator for --add-label values (default $WERF_EXPORT_ADD_LABEL_SEPARATOR or "\n")`) + cmd.Flags().StringVarP(&addLabelSeparator, "add-label-separator", "", defaultValue, fmt.Sprintf(`Separator for --add-label values (default $WERF_EXPORT_ADD_LABEL_SEPARATOR or %q)`, common.DefaultPairSeparator)) commonCmdData.SetupSkipImageSpecStage(cmd) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/helm/secret/file/decrypt/decrypt.go new/werf-2.35.7/cmd/werf/helm/secret/file/decrypt/decrypt.go --- old/werf-2.35.5/cmd/werf/helm/secret/file/decrypt/decrypt.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/helm/secret/file/decrypt/decrypt.go 2025-04-30 16:31:11.000000000 +0200 @@ -94,7 +94,7 @@ workingDir := common.GetWorkingDir(&commonCmdData) - ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultSecretFileDecryptLogLevel, *commonCmdData.LogColorMode) + ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultSecretFileDecryptLogLevel, *commonCmdData.LogColorMode, true) if err := action.SecretFileDecrypt(ctx, filePath, action.SecretFileDecryptOptions{ OutputFilePath: CmdData.OutputFilePath, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/helm/secret/file/edit/edit.go new/werf-2.35.7/cmd/werf/helm/secret/file/edit/edit.go --- old/werf-2.35.5/cmd/werf/helm/secret/file/edit/edit.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/helm/secret/file/edit/edit.go 2025-04-30 16:31:11.000000000 +0200 @@ -72,7 +72,7 @@ workingDir := common.GetWorkingDir(&commonCmdData) - ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultSecretFileEditLogLevel, *commonCmdData.LogColorMode) + ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultSecretFileEditLogLevel, *commonCmdData.LogColorMode, false) if err := action.SecretFileEdit(ctx, filePath, action.SecretFileEditOptions{ SecretWorkDir: workingDir, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/helm/secret/file/encrypt/encrypt.go new/werf-2.35.7/cmd/werf/helm/secret/file/encrypt/encrypt.go --- old/werf-2.35.5/cmd/werf/helm/secret/file/encrypt/encrypt.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/helm/secret/file/encrypt/encrypt.go 2025-04-30 16:31:11.000000000 +0200 @@ -90,7 +90,7 @@ workingDir := common.GetWorkingDir(&commonCmdData) - ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultSecretFileEncryptLogLevel, *commonCmdData.LogColorMode) + ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultSecretFileEncryptLogLevel, *commonCmdData.LogColorMode, true) if err := action.SecretFileEncrypt(ctx, filePath, action.SecretFileEncryptOptions{ OutputFilePath: cmdData.OutputFilePath, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/helm/secret/generate_secret_key/generate_secret_key.go new/werf-2.35.7/cmd/werf/helm/secret/generate_secret_key/generate_secret_key.go --- old/werf-2.35.5/cmd/werf/helm/secret/generate_secret_key/generate_secret_key.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/helm/secret/generate_secret_key/generate_secret_key.go 2025-04-30 16:31:11.000000000 +0200 @@ -34,7 +34,7 @@ return err } - ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultSecretKeyCreateLogLevel, *commonCmdData.LogColorMode) + ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultSecretKeyCreateLogLevel, *commonCmdData.LogColorMode, true) if _, err := action.SecretKeyCreate(ctx, action.SecretKeyCreateOptions{}); err != nil { return fmt.Errorf("create secret key: %w", err) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/helm/secret/rotate_secret_key/rotate_secret_key.go new/werf-2.35.7/cmd/werf/helm/secret/rotate_secret_key/rotate_secret_key.go --- old/werf-2.35.5/cmd/werf/helm/secret/rotate_secret_key/rotate_secret_key.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/helm/secret/rotate_secret_key/rotate_secret_key.go 2025-04-30 16:31:11.000000000 +0200 @@ -89,7 +89,7 @@ chartPath := filepath.Join(giterminismManager.ProjectDir(), relChartPath) - ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultSecretKeyRotateLogLevel, *commonCmdData.LogColorMode) + ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultSecretKeyRotateLogLevel, *commonCmdData.LogColorMode, false) if err := action.SecretKeyRotate(ctx, action.SecretKeyRotateOptions{ ChartDirPath: chartPath, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/helm/secret/values/decrypt/decrypt.go new/werf-2.35.7/cmd/werf/helm/secret/values/decrypt/decrypt.go --- old/werf-2.35.5/cmd/werf/helm/secret/values/decrypt/decrypt.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/helm/secret/values/decrypt/decrypt.go 2025-04-30 16:31:11.000000000 +0200 @@ -99,7 +99,7 @@ workingDir := common.GetWorkingDir(&commonCmdData) - ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultSecretValuesFileDecryptLogLevel, *commonCmdData.LogColorMode) + ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultSecretValuesFileDecryptLogLevel, *commonCmdData.LogColorMode, true) if err := action.SecretValuesFileDecrypt(ctx, filePath, action.SecretValuesFileDecryptOptions{ OutputFilePath: cmdData.OutputFilePath, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/helm/secret/values/edit/edit.go new/werf-2.35.7/cmd/werf/helm/secret/values/edit/edit.go --- old/werf-2.35.5/cmd/werf/helm/secret/values/edit/edit.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/helm/secret/values/edit/edit.go 2025-04-30 16:31:11.000000000 +0200 @@ -72,7 +72,7 @@ workingDir := common.GetWorkingDir(&commonCmdData) - ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultSecretValuesFileEditLogLevel, *commonCmdData.LogColorMode) + ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultSecretValuesFileEditLogLevel, *commonCmdData.LogColorMode, false) if err := action.SecretValuesFileEdit(ctx, filepPath, action.SecretValuesFileEditOptions{ TempDirPath: werf.GetTmpDir(), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/helm/secret/values/encrypt/encrypt.go new/werf-2.35.7/cmd/werf/helm/secret/values/encrypt/encrypt.go --- old/werf-2.35.5/cmd/werf/helm/secret/values/encrypt/encrypt.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/helm/secret/values/encrypt/encrypt.go 2025-04-30 16:31:11.000000000 +0200 @@ -90,7 +90,7 @@ workingDir := common.GetWorkingDir(&commonCmdData) - ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultSecretValuesFileEncryptLogLevel, *commonCmdData.LogColorMode) + ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultSecretValuesFileEncryptLogLevel, *commonCmdData.LogColorMode, true) if err := action.SecretValuesFileEncrypt(ctx, filePath, action.SecretValuesFileEncryptOptions{ OutputFilePath: cmdData.OutputFilePath, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/plan/plan.go new/werf-2.35.7/cmd/werf/plan/plan.go --- old/werf-2.35.5/cmd/werf/plan/plan.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/plan/plan.go 2025-04-30 16:31:11.000000000 +0200 @@ -434,7 +434,7 @@ loader.ChartFileReader = giterminismManager.FileReader() - ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultReleasePlanInstallLogLevel, *commonCmdData.LogColorMode) + ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultReleasePlanInstallLogLevel, *commonCmdData.LogColorMode, false) if err := action.ReleasePlanInstall(ctx, releaseName, releaseNamespace, action.ReleasePlanInstallOptions{ ChartAppVersion: common.GetHelmChartConfigAppVersion(werfConfig), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/cmd/werf/render/render.go new/werf-2.35.7/cmd/werf/render/render.go --- old/werf-2.35.5/cmd/werf/render/render.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/cmd/werf/render/render.go 2025-04-30 16:31:11.000000000 +0200 @@ -393,7 +393,9 @@ loader.ChartFileReader = giterminismManager.FileReader() - ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultChartRenderLogLevel, *commonCmdData.LogColorMode) + // TODO(v3): get rid of forcing color mode via ci-env and use color mode detection logic from + // Nelm instead. Until then, color will be always off here. + ctx = action.SetupLogging(ctx, common.GetNelmLogLevel(&commonCmdData), action.DefaultChartRenderLogLevel, action.LogColorModeOff, true) if err := action.ChartRender(ctx, action.ChartRenderOptions{ ChartAppVersion: common.GetHelmChartConfigAppVersion(werfConfig), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/docs/_includes/reference/cli/werf_bundle_apply.md new/werf-2.35.7/docs/_includes/reference/cli/werf_bundle_apply.md --- old/werf-2.35.5/docs/_includes/reference/cli/werf_bundle_apply.md 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/docs/_includes/reference/cli/werf_bundle_apply.md 2025-04-30 16:31:11.000000000 +0200 @@ -18,21 +18,20 @@ --add-annotation=[] Add annotation to deploying resources (can specify multiple). Format: annoName=annoValue[<separator>annoName=annoValue ...]. The default separator is - a newline ("\n"), but it can be customized using the --add-annotation-separator flag. + ",", but it can be customized using the --add-annotation-separator flag. Also, can be specified with $WERF_ADD_ANNOTATION_* (e.g. $WERF_ADD_ANNOTATION_1=annoName1=annoValue1, $WERF_ADD_ANNOTATION_2=annoName2=annoValue2) - --add-annotation-separator="\n" - Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or "\n") + --add-annotation-separator="," + Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or ",") --add-label=[] Add label to deploying resources (can specify multiple). Format: labelName=labelValue[<separator>labelName=labelValue ...]. The default - separator is a newline ("\n"), but it can be customized using the --add-label-separator - flag. + separator is ",", but it can be customized using the --add-label-separator flag. Also, can be specified with $WERF_ADD_LABEL_* (e.g. $WERF_ADD_LABEL_1=labelName1=labelValue1, $WERF_ADD_LABEL_2=labelName2=labelValue2) - --add-label-separator="\n" - Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or "\n") + --add-label-separator="," + Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or ",") --atomic=false Enable auto rollback of the failed release to the previous deployed release version when current deploy process have failed ($WERF_ATOMIC by default) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/docs/_includes/reference/cli/werf_bundle_publish.md new/werf-2.35.7/docs/_includes/reference/cli/werf_bundle_publish.md --- old/werf-2.35.5/docs/_includes/reference/cli/werf_bundle_publish.md 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/docs/_includes/reference/cli/werf_bundle_publish.md 2025-04-30 16:31:11.000000000 +0200 @@ -19,12 +19,12 @@ --add-annotation=[] Add annotation to deploying resources (can specify multiple). Format: annoName=annoValue[<separator>annoName=annoValue ...]. The default separator is - a newline ("\n"), but it can be customized using the --add-annotation-separator flag. + ",", but it can be customized using the --add-annotation-separator flag. Also, can be specified with $WERF_ADD_ANNOTATION_* (e.g. $WERF_ADD_ANNOTATION_1=annoName1=annoValue1, $WERF_ADD_ANNOTATION_2=annoName2=annoValue2) - --add-annotation-separator="\n" - Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or "\n") + --add-annotation-separator="," + Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or ",") --add-custom-tag=[] Set tag alias for the content-based tag. The alias may contain the following shortcuts: @@ -37,12 +37,11 @@ --add-label=[] Add label to deploying resources (can specify multiple). Format: labelName=labelValue[<separator>labelName=labelValue ...]. The default - separator is a newline ("\n"), but it can be customized using the --add-label-separator - flag. + separator is ",", but it can be customized using the --add-label-separator flag. Also, can be specified with $WERF_ADD_LABEL_* (e.g. $WERF_ADD_LABEL_1=labelName1=labelValue1, $WERF_ADD_LABEL_2=labelName2=labelValue2) - --add-label-separator="\n" - Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or "\n") + --add-label-separator="," + Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or ",") --allowed-backend-storage-volume-usage=70 Set allowed percentage of backend (Docker or Buildah) storage volume usage which will cause cleanup of least recently used local backend images (default 70% or diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/docs/_includes/reference/cli/werf_bundle_render.md new/werf-2.35.7/docs/_includes/reference/cli/werf_bundle_render.md --- old/werf-2.35.5/docs/_includes/reference/cli/werf_bundle_render.md 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/docs/_includes/reference/cli/werf_bundle_render.md 2025-04-30 16:31:11.000000000 +0200 @@ -29,21 +29,20 @@ --add-annotation=[] Add annotation to deploying resources (can specify multiple). Format: annoName=annoValue[<separator>annoName=annoValue ...]. The default separator is - a newline ("\n"), but it can be customized using the --add-annotation-separator flag. + ",", but it can be customized using the --add-annotation-separator flag. Also, can be specified with $WERF_ADD_ANNOTATION_* (e.g. $WERF_ADD_ANNOTATION_1=annoName1=annoValue1, $WERF_ADD_ANNOTATION_2=annoName2=annoValue2) - --add-annotation-separator="\n" - Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or "\n") + --add-annotation-separator="," + Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or ",") --add-label=[] Add label to deploying resources (can specify multiple). Format: labelName=labelValue[<separator>labelName=labelValue ...]. The default - separator is a newline ("\n"), but it can be customized using the --add-label-separator - flag. + separator is ",", but it can be customized using the --add-label-separator flag. Also, can be specified with $WERF_ADD_LABEL_* (e.g. $WERF_ADD_LABEL_1=labelName1=labelValue1, $WERF_ADD_LABEL_2=labelName2=labelValue2) - --add-label-separator="\n" - Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or "\n") + --add-label-separator="," + Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or ",") -b, --bundle-dir="" Get extracted bundle from directory instead of registry (default $WERF_BUNDLE_DIR) --container-registry-mirror=[] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/docs/_includes/reference/cli/werf_converge.md new/werf-2.35.7/docs/_includes/reference/cli/werf_converge.md --- old/werf-2.35.5/docs/_includes/reference/cli/werf_converge.md 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/docs/_includes/reference/cli/werf_converge.md 2025-04-30 16:31:11.000000000 +0200 @@ -42,12 +42,12 @@ --add-annotation=[] Add annotation to deploying resources (can specify multiple). Format: annoName=annoValue[<separator>annoName=annoValue ...]. The default separator is - a newline ("\n"), but it can be customized using the --add-annotation-separator flag. + ",", but it can be customized using the --add-annotation-separator flag. Also, can be specified with $WERF_ADD_ANNOTATION_* (e.g. $WERF_ADD_ANNOTATION_1=annoName1=annoValue1, $WERF_ADD_ANNOTATION_2=annoName2=annoValue2) - --add-annotation-separator="\n" - Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or "\n") + --add-annotation-separator="," + Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or ",") --add-custom-tag=[] Set tag alias for the content-based tag. The alias may contain the following shortcuts: @@ -60,12 +60,11 @@ --add-label=[] Add label to deploying resources (can specify multiple). Format: labelName=labelValue[<separator>labelName=labelValue ...]. The default - separator is a newline ("\n"), but it can be customized using the --add-label-separator - flag. + separator is ",", but it can be customized using the --add-label-separator flag. Also, can be specified with $WERF_ADD_LABEL_* (e.g. $WERF_ADD_LABEL_1=labelName1=labelValue1, $WERF_ADD_LABEL_2=labelName2=labelValue2) - --add-label-separator="\n" - Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or "\n") + --add-label-separator="," + Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or ",") --allowed-backend-storage-volume-usage=70 Set allowed percentage of backend (Docker or Buildah) storage volume usage which will cause cleanup of least recently used local backend images (default 70% or diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/docs/_includes/reference/cli/werf_export.md new/werf-2.35.7/docs/_includes/reference/cli/werf_export.md --- old/werf-2.35.5/docs/_includes/reference/cli/werf_export.md 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/docs/_includes/reference/cli/werf_export.md 2025-04-30 16:31:11.000000000 +0200 @@ -38,13 +38,13 @@ --add-label=[] Add label to exported images (can specify multiple). Format: labelName=labelValue[<separator>labelName=labelValue ...]. The default - separator is a newline ("\n"), but it can be customized using the --add-label-separator + separator is a newline ",", but it can be customized using the --add-label-separator flag. Also, can be specified with $WERF_EXPORT_ADD_LABEL_* (e.g. $WERF_EXPORT_ADD_LABEL_1=labelName1=labelValue1, $WERF_EXPORT_ADD_LABEL_2=labelName2=labelValue2) - --add-label-separator="\n" - Separator for --add-label values (default $WERF_EXPORT_ADD_LABEL_SEPARATOR or "\n") + --add-label-separator="," + Separator for --add-label values (default $WERF_EXPORT_ADD_LABEL_SEPARATOR or ",") --cache-repo=[] Specify one or multiple cache repos with images that will be used as a cache. Cache will be populated when pushing newly built images into the primary repo and when diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/docs/_includes/reference/cli/werf_helm_install.md new/werf-2.35.7/docs/_includes/reference/cli/werf_helm_install.md --- old/werf-2.35.5/docs/_includes/reference/cli/werf_helm_install.md 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/docs/_includes/reference/cli/werf_helm_install.md 2025-04-30 16:31:11.000000000 +0200 @@ -61,21 +61,20 @@ --add-annotation=[] Add annotation to deploying resources (can specify multiple). Format: annoName=annoValue[<separator>annoName=annoValue ...]. The default separator is - a newline ("\n"), but it can be customized using the --add-annotation-separator flag. + ",", but it can be customized using the --add-annotation-separator flag. Also, can be specified with $WERF_ADD_ANNOTATION_* (e.g. $WERF_ADD_ANNOTATION_1=annoName1=annoValue1, $WERF_ADD_ANNOTATION_2=annoName2=annoValue2) - --add-annotation-separator="\n" - Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or "\n") + --add-annotation-separator="," + Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or ",") --add-label=[] Add label to deploying resources (can specify multiple). Format: labelName=labelValue[<separator>labelName=labelValue ...]. The default - separator is a newline ("\n"), but it can be customized using the --add-label-separator - flag. + separator is ",", but it can be customized using the --add-label-separator flag. Also, can be specified with $WERF_ADD_LABEL_* (e.g. $WERF_ADD_LABEL_1=labelName1=labelValue1, $WERF_ADD_LABEL_2=labelName2=labelValue2) - --add-label-separator="\n" - Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or "\n") + --add-label-separator="," + Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or ",") --atomic=false if set, the installation process deletes the installation on failure. The --wait flag will be set automatically if --atomic is used diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/docs/_includes/reference/cli/werf_helm_lint.md new/werf-2.35.7/docs/_includes/reference/cli/werf_helm_lint.md --- old/werf-2.35.5/docs/_includes/reference/cli/werf_helm_lint.md 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/docs/_includes/reference/cli/werf_helm_lint.md 2025-04-30 16:31:11.000000000 +0200 @@ -19,21 +19,20 @@ --add-annotation=[] Add annotation to deploying resources (can specify multiple). Format: annoName=annoValue[<separator>annoName=annoValue ...]. The default separator is - a newline ("\n"), but it can be customized using the --add-annotation-separator flag. + ",", but it can be customized using the --add-annotation-separator flag. Also, can be specified with $WERF_ADD_ANNOTATION_* (e.g. $WERF_ADD_ANNOTATION_1=annoName1=annoValue1, $WERF_ADD_ANNOTATION_2=annoName2=annoValue2) - --add-annotation-separator="\n" - Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or "\n") + --add-annotation-separator="," + Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or ",") --add-label=[] Add label to deploying resources (can specify multiple). Format: labelName=labelValue[<separator>labelName=labelValue ...]. The default - separator is a newline ("\n"), but it can be customized using the --add-label-separator - flag. + separator is ",", but it can be customized using the --add-label-separator flag. Also, can be specified with $WERF_ADD_LABEL_* (e.g. $WERF_ADD_LABEL_1=labelName1=labelValue1, $WERF_ADD_LABEL_2=labelName2=labelValue2) - --add-label-separator="\n" - Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or "\n") + --add-label-separator="," + Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or ",") --env="" Use specified environment (default $WERF_ENV) --ignore-secret-key=false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/docs/_includes/reference/cli/werf_helm_template.md new/werf-2.35.7/docs/_includes/reference/cli/werf_helm_template.md --- old/werf-2.35.5/docs/_includes/reference/cli/werf_helm_template.md 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/docs/_includes/reference/cli/werf_helm_template.md 2025-04-30 16:31:11.000000000 +0200 @@ -23,21 +23,20 @@ --add-annotation=[] Add annotation to deploying resources (can specify multiple). Format: annoName=annoValue[<separator>annoName=annoValue ...]. The default separator is - a newline ("\n"), but it can be customized using the --add-annotation-separator flag. + ",", but it can be customized using the --add-annotation-separator flag. Also, can be specified with $WERF_ADD_ANNOTATION_* (e.g. $WERF_ADD_ANNOTATION_1=annoName1=annoValue1, $WERF_ADD_ANNOTATION_2=annoName2=annoValue2) - --add-annotation-separator="\n" - Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or "\n") + --add-annotation-separator="," + Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or ",") --add-label=[] Add label to deploying resources (can specify multiple). Format: labelName=labelValue[<separator>labelName=labelValue ...]. The default - separator is a newline ("\n"), but it can be customized using the --add-label-separator - flag. + separator is ",", but it can be customized using the --add-label-separator flag. Also, can be specified with $WERF_ADD_LABEL_* (e.g. $WERF_ADD_LABEL_1=labelName1=labelValue1, $WERF_ADD_LABEL_2=labelName2=labelValue2) - --add-label-separator="\n" - Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or "\n") + --add-label-separator="," + Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or ",") -a, --api-versions=[] Kubernetes api versions used for Capabilities.APIVersions --atomic=false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/docs/_includes/reference/cli/werf_helm_upgrade.md new/werf-2.35.7/docs/_includes/reference/cli/werf_helm_upgrade.md --- old/werf-2.35.5/docs/_includes/reference/cli/werf_helm_upgrade.md 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/docs/_includes/reference/cli/werf_helm_upgrade.md 2025-04-30 16:31:11.000000000 +0200 @@ -31,21 +31,20 @@ --add-annotation=[] Add annotation to deploying resources (can specify multiple). Format: annoName=annoValue[<separator>annoName=annoValue ...]. The default separator is - a newline ("\n"), but it can be customized using the --add-annotation-separator flag. + ",", but it can be customized using the --add-annotation-separator flag. Also, can be specified with $WERF_ADD_ANNOTATION_* (e.g. $WERF_ADD_ANNOTATION_1=annoName1=annoValue1, $WERF_ADD_ANNOTATION_2=annoName2=annoValue2) - --add-annotation-separator="\n" - Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or "\n") + --add-annotation-separator="," + Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or ",") --add-label=[] Add label to deploying resources (can specify multiple). Format: labelName=labelValue[<separator>labelName=labelValue ...]. The default - separator is a newline ("\n"), but it can be customized using the --add-label-separator - flag. + separator is ",", but it can be customized using the --add-label-separator flag. Also, can be specified with $WERF_ADD_LABEL_* (e.g. $WERF_ADD_LABEL_1=labelName1=labelValue1, $WERF_ADD_LABEL_2=labelName2=labelValue2) - --add-label-separator="\n" - Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or "\n") + --add-label-separator="," + Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or ",") --atomic=false if set, upgrade process rolls back changes made in case of failed upgrade. The --wait flag will be set automatically if --atomic is used diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/docs/_includes/reference/cli/werf_kube_run.md new/werf-2.35.7/docs/_includes/reference/cli/werf_kube_run.md --- old/werf-2.35.5/docs/_includes/reference/cli/werf_kube_run.md 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/docs/_includes/reference/cli/werf_kube_run.md 2025-04-30 16:31:11.000000000 +0200 @@ -31,21 +31,20 @@ --add-annotation=[] Add annotation to deploying resources (can specify multiple). Format: annoName=annoValue[<separator>annoName=annoValue ...]. The default separator is - a newline ("\n"), but it can be customized using the --add-annotation-separator flag. + ",", but it can be customized using the --add-annotation-separator flag. Also, can be specified with $WERF_ADD_ANNOTATION_* (e.g. $WERF_ADD_ANNOTATION_1=annoName1=annoValue1, $WERF_ADD_ANNOTATION_2=annoName2=annoValue2) - --add-annotation-separator="\n" - Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or "\n") + --add-annotation-separator="," + Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or ",") --add-label=[] Add label to deploying resources (can specify multiple). Format: labelName=labelValue[<separator>labelName=labelValue ...]. The default - separator is a newline ("\n"), but it can be customized using the --add-label-separator - flag. + separator is ",", but it can be customized using the --add-label-separator flag. Also, can be specified with $WERF_ADD_LABEL_* (e.g. $WERF_ADD_LABEL_1=labelName1=labelValue1, $WERF_ADD_LABEL_2=labelName2=labelValue2) - --add-label-separator="\n" - Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or "\n") + --add-label-separator="," + Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or ",") --auto-pull-secret=true Automatically create docker config secret in the namespace and plug it via pod`s imagePullSecrets for private registry access (default $WERF_AUTO_PULL_SECRET or true if diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/docs/_includes/reference/cli/werf_plan.md new/werf-2.35.7/docs/_includes/reference/cli/werf_plan.md --- old/werf-2.35.5/docs/_includes/reference/cli/werf_plan.md 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/docs/_includes/reference/cli/werf_plan.md 2025-04-30 16:31:11.000000000 +0200 @@ -40,12 +40,12 @@ --add-annotation=[] Add annotation to deploying resources (can specify multiple). Format: annoName=annoValue[<separator>annoName=annoValue ...]. The default separator is - a newline ("\n"), but it can be customized using the --add-annotation-separator flag. + ",", but it can be customized using the --add-annotation-separator flag. Also, can be specified with $WERF_ADD_ANNOTATION_* (e.g. $WERF_ADD_ANNOTATION_1=annoName1=annoValue1, $WERF_ADD_ANNOTATION_2=annoName2=annoValue2) - --add-annotation-separator="\n" - Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or "\n") + --add-annotation-separator="," + Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or ",") --add-custom-tag=[] Set tag alias for the content-based tag. The alias may contain the following shortcuts: @@ -58,12 +58,11 @@ --add-label=[] Add label to deploying resources (can specify multiple). Format: labelName=labelValue[<separator>labelName=labelValue ...]. The default - separator is a newline ("\n"), but it can be customized using the --add-label-separator - flag. + separator is ",", but it can be customized using the --add-label-separator flag. Also, can be specified with $WERF_ADD_LABEL_* (e.g. $WERF_ADD_LABEL_1=labelName1=labelValue1, $WERF_ADD_LABEL_2=labelName2=labelValue2) - --add-label-separator="\n" - Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or "\n") + --add-label-separator="," + Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or ",") --allowed-backend-storage-volume-usage=70 Set allowed percentage of backend (Docker or Buildah) storage volume usage which will cause cleanup of least recently used local backend images (default 70% or diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/docs/_includes/reference/cli/werf_render.md new/werf-2.35.7/docs/_includes/reference/cli/werf_render.md --- old/werf-2.35.5/docs/_includes/reference/cli/werf_render.md 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/docs/_includes/reference/cli/werf_render.md 2025-04-30 16:31:11.000000000 +0200 @@ -29,21 +29,20 @@ --add-annotation=[] Add annotation to deploying resources (can specify multiple). Format: annoName=annoValue[<separator>annoName=annoValue ...]. The default separator is - a newline ("\n"), but it can be customized using the --add-annotation-separator flag. + ",", but it can be customized using the --add-annotation-separator flag. Also, can be specified with $WERF_ADD_ANNOTATION_* (e.g. $WERF_ADD_ANNOTATION_1=annoName1=annoValue1, $WERF_ADD_ANNOTATION_2=annoName2=annoValue2) - --add-annotation-separator="\n" - Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or "\n") + --add-annotation-separator="," + Separator for --add-annotation values (default $WERF_ADD_ANNOTATION_SEPARATOR or ",") --add-label=[] Add label to deploying resources (can specify multiple). Format: labelName=labelValue[<separator>labelName=labelValue ...]. The default - separator is a newline ("\n"), but it can be customized using the --add-label-separator - flag. + separator is ",", but it can be customized using the --add-label-separator flag. Also, can be specified with $WERF_ADD_LABEL_* (e.g. $WERF_ADD_LABEL_1=labelName1=labelValue1, $WERF_ADD_LABEL_2=labelName2=labelValue2) - --add-label-separator="\n" - Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or "\n") + --add-label-separator="," + Separator for --add-label values (default $WERF_ADD_LABEL_SEPARATOR or ",") --build-report-path="" Change build report path and format (by default $WERF_BUILD_REPORT_PATH or ".werf-build-report.json" if not set). Extension must be either .json for JSON format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/go.mod new/werf-2.35.7/go.mod --- old/werf-2.35.5/go.mod 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/go.mod 2025-04-30 16:31:11.000000000 +0200 @@ -66,7 +66,7 @@ github.com/werf/kubedog-for-werf-helm v0.0.0-20241217155728-9d45c48b82b6 github.com/werf/lockgate v0.1.1 github.com/werf/logboek v0.6.1 - github.com/werf/nelm v1.2.1-0.20250425130741-e52374c3071f + github.com/werf/nelm v1.2.3-0.20250430122641-a03bd9de934a github.com/werf/nelm-for-werf-helm v0.0.0-20241217155925-b0e6734d1dbf go.opentelemetry.io/otel v1.24.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/go.sum new/werf-2.35.7/go.sum --- old/werf-2.35.5/go.sum 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/go.sum 2025-04-30 16:31:11.000000000 +0200 @@ -1406,8 +1406,8 @@ github.com/werf/lockgate v0.1.1/go.mod h1:0yIFSLq9ausy6ejNxF5uUBf/Ib6daMAfXuCaTMZJzIE= github.com/werf/logboek v0.6.1 h1:oEe6FkmlKg0z0n80oZjLplj6sXcBeLleCkjfOOZEL2g= github.com/werf/logboek v0.6.1/go.mod h1:Gez5J4bxekyr6MxTmIJyId1F61rpO+0/V4vjCIEIZmk= -github.com/werf/nelm v1.2.1-0.20250425130741-e52374c3071f h1:k/5vzox+M8ZC/sAeWmzLucEYvGVyMu2FIPMwNSKMlfc= -github.com/werf/nelm v1.2.1-0.20250425130741-e52374c3071f/go.mod h1:9SR2Rfi0uE06z5bbnFRqfZTePNGnbyw9RLOVyYuV+cg= +github.com/werf/nelm v1.2.3-0.20250430122641-a03bd9de934a h1:iufvbMmsTGYtV4F0DV5WLVE7gi7xCRp5qFPBvqwSXJQ= +github.com/werf/nelm v1.2.3-0.20250430122641-a03bd9de934a/go.mod h1:9SR2Rfi0uE06z5bbnFRqfZTePNGnbyw9RLOVyYuV+cg= github.com/werf/nelm-for-werf-helm v0.0.0-20241217155925-b0e6734d1dbf h1:K51qz209c1yJgKzPw8AeS72T21F/ACp0VI3RJvT4THA= github.com/werf/nelm-for-werf-helm v0.0.0-20241217155925-b0e6734d1dbf/go.mod h1:7RJXSGPKKPEvfPqrTwNA8jT7y52O0ebwhSbSn29ESMA= github.com/xanzy/go-gitlab v0.31.0/go.mod h1:sPLojNBn68fMUWSxIJtdVVIP8uSBYqesTfDUseX11Ug= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/pkg/build/stage/dependencies.go new/werf-2.35.7/pkg/build/stage/dependencies.go --- old/werf-2.35.5/pkg/build/stage/dependencies.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/pkg/build/stage/dependencies.go 2025-04-30 16:31:11.000000000 +0200 @@ -67,22 +67,39 @@ dependencies []*config.Dependency } -func (s *DependenciesStage) GetDependencies(ctx context.Context, c Conveyor, cb container_backend.ContainerBackend, prevImage, prevBuiltImage *StageImage, buildContextArchive container_backend.BuildContextArchiver) (string, error) { +func (s *DependenciesStage) GetDependencies(ctx context.Context, c Conveyor, cb container_backend.ContainerBackend, _, _ *StageImage, _ container_backend.BuildContextArchiver) (string, error) { var args []string - for ind, elm := range s.imports { - var sourceChecksum string - var err error - if err := logboek.Context(ctx).Info().LogProcess("Getting import %d source checksum ...", ind).DoError(func() error { - sourceChecksum, err = s.getImportSourceChecksum(ctx, c, cb, elm) - return err + if len(s.imports) != 0 { + if err := logboek.Context(ctx).Default().LogProcess("Calculating import checksums").DoError(func() error { + for ind, elm := range s.imports { + sourceChecksum, err := s.getImportSourceChecksum(ctx, c, cb, elm) + if err != nil { + return fmt.Errorf("unable to get import %d source checksum: %w", ind, err) + } + + var importTitle string + { + importTitle = fmt.Sprintf("image=%s add=%s to=%s", elm.ImageName, elm.Add, elm.To) + if len(elm.IncludePaths) != 0 { + importTitle += fmt.Sprintf(" includePaths=%v", elm.IncludePaths) + } + if len(elm.ExcludePaths) != 0 { + importTitle += fmt.Sprintf(" excludePaths=%v", elm.ExcludePaths) + } + importTitle = fmt.Sprintf("import[%s]", importTitle) + } + + logboek.Context(ctx).Default().LogF("%s: %s\n", sourceChecksum, importTitle) + + args = append(args, sourceChecksum) + args = append(args, elm.To) + args = append(args, elm.Group, elm.Owner) + } + return nil }); err != nil { - return "", fmt.Errorf("unable to get import %d source checksum: %w", ind, err) + return "", err } - - args = append(args, sourceChecksum) - args = append(args, elm.To) - args = append(args, elm.Group, elm.Owner) } for _, dep := range s.dependencies { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/pkg/deploy/bundles/copy_test.go new/werf-2.35.7/pkg/deploy/bundles/copy_test.go --- old/werf-2.35.5/pkg/deploy/bundles/copy_test.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/pkg/deploy/bundles/copy_test.go 2025-04-30 16:31:11.000000000 +0200 @@ -32,11 +32,11 @@ Values: map[string]interface{}{ "werf": map[string]interface{}{ "image": map[string]interface{}{ - "image-1": "REPO:tag-1", - "image-2": "REPO:tag-2", - "image-3": "REPO:tag-3", + "image-1": "repo:tag-1", + "image-2": "repo:tag-2", + "image-3": "repo:tag-3", }, - "repo": "REPO", + "repo": "repo", }, }, Raw: []*chart.File{ @@ -45,10 +45,10 @@ Data: []byte(` werf: image: - image-1: REPO:tag-1 - image-2: REPO:tag-2 - image-3: REPO:tag-3 - repo: REPO + image-1: repo:tag-1 + image-2: repo:tag-2 + image-3: repo:tag-3 + repo: repo `), }, }, @@ -91,11 +91,11 @@ Values: map[string]interface{}{ "werf": map[string]interface{}{ "image": map[string]interface{}{ - "image-1": "REPO:tag-1", - "image-2": "REPO:tag-2", - "image-3": "REPO:tag-3", + "image-1": "repo:tag-1", + "image-2": "repo:tag-2", + "image-3": "repo:tag-3", }, - "repo": "REPO", + "repo": "repo", }, }, Raw: []*chart.File{ @@ -104,10 +104,10 @@ Data: []byte(` werf: image: - image-1: REPO:tag-1 - image-2: REPO:tag-2 - image-3: REPO:tag-3 - repo: REPO + image-1: repo:tag-1 + image-2: repo:tag-2 + image-3: repo:tag-3 + repo: repo `), }, }, @@ -165,11 +165,11 @@ Values: map[string]interface{}{ "werf": map[string]interface{}{ "image": map[string]interface{}{ - "image-1": "REPO:tag-1", - "image-2": "REPO:tag-2", - "image-3": "REPO:tag-3", + "image-1": "repo:tag-1", + "image-2": "repo:tag-2", + "image-3": "repo:tag-3", }, - "repo": "REPO", + "repo": "repo", }, }, Raw: []*chart.File{ @@ -178,10 +178,10 @@ Data: []byte(` werf: image: - image-1: REPO:tag-1 - image-2: REPO:tag-2 - image-3: REPO:tag-3 - repo: REPO + image-1: repo:tag-1 + image-2: repo:tag-2 + image-3: repo:tag-3 + repo: repo `), }, }, @@ -239,11 +239,11 @@ Values: map[string]interface{}{ "werf": map[string]interface{}{ "image": map[string]interface{}{ - "image-1": "REPO:tag-1", - "image-2": "REPO:tag-2", - "image-3": "REPO:tag-3", + "image-1": "repo:tag-1", + "image-2": "repo:tag-2", + "image-3": "repo:tag-3", }, - "repo": "REPO", + "repo": "repo", }, }, Raw: []*chart.File{ @@ -252,10 +252,10 @@ Data: []byte(` werf: image: - image-1: REPO:tag-1 - image-2: REPO:tag-2 - image-3: REPO:tag-3 - repo: REPO + image-1: repo:tag-1 + image-2: repo:tag-2 + image-3: repo:tag-3 + repo: repo `), }, }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/pkg/deploy/bundles/registry/reference.go new/werf-2.35.7/pkg/deploy/bundles/registry/reference.go --- old/werf-2.35.5/pkg/deploy/bundles/registry/reference.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/pkg/deploy/bundles/registry/reference.go 2025-04-30 16:31:11.000000000 +0200 @@ -17,23 +17,9 @@ package registry // import "helm.sh/helm/v3/internal/experimental/registry" import ( - "errors" "fmt" - "net/url" - "regexp" - "strconv" - "strings" -) -var ( - validPortRegEx = regexp.MustCompile(`^([1-9]\d{0,3}|0|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$`) // adapted from https://stackoverflow.com/a/12968117 - // TODO: Currently we don't support digests, so we are only splitting on the - // colon. However, when we add support for digests, we'll need to use the - // regexp anyway to split on both colons and @, so leaving it like this for - // now - referenceDelimiter = regexp.MustCompile(`[:]`) - errEmptyRepo = errors.New("parsed repo was empty") - errTooManyColons = errors.New("ref may only contain a single colon character (:) unless specifying a port number") + "github.com/google/go-containerregistry/pkg/name" ) type ( @@ -46,34 +32,15 @@ // ParseReference converts a string to a Reference func ParseReference(s string) (*Reference, error) { - if s == "" { - return nil, errEmptyRepo - } - // Split the components of the string on the colon or @, if it is more than 3, - // immediately return an error. Other validation will be performed later in - // the function - splitComponents := fixSplitComponents(referenceDelimiter.Split(s, -1)) - if len(splitComponents) > 3 { - return nil, errTooManyColons - } - - var ref *Reference - switch len(splitComponents) { - case 1: - ref = &Reference{Repo: splitComponents[0]} - case 2: - ref = &Reference{Repo: splitComponents[0], Tag: splitComponents[1]} - case 3: - ref = &Reference{Repo: strings.Join(splitComponents[:2], ":"), Tag: splitComponents[2]} - } - - // ensure the reference is valid - err := ref.validate() + r, err := name.ParseReference(s, name.WeakValidation) if err != nil { return nil, err } - return ref, nil + return &Reference{ + Tag: r.Identifier(), + Repo: r.Context().Name(), + }, nil } // FullName the full name of a reference (repo:tag) @@ -83,63 +50,3 @@ } return fmt.Sprintf("%s:%s", ref.Repo, ref.Tag) } - -// validate makes sure the ref meets our criteria -func (ref *Reference) validate() error { - err := ref.validateRepo() - if err != nil { - return err - } - return ref.validateNumColons() -} - -// validateRepo checks that the Repo field is non-empty -func (ref *Reference) validateRepo() error { - if ref.Repo == "" { - return errEmptyRepo - } - // Makes sure the repo results in a parsable URL (similar to what is done - // with containerd reference parsing) - _, err := url.Parse("//" + ref.Repo) - return err -} - -// validateNumColons ensures the ref only contains a single colon character (:) -// (or potentially two, there might be a port number specified i.e. :5000) -func (ref *Reference) validateNumColons() error { - if strings.Contains(ref.Tag, ":") { - return errTooManyColons - } - parts := strings.Split(ref.Repo, ":") - lastIndex := len(parts) - 1 - if 1 < lastIndex { - return errTooManyColons - } - if 0 < lastIndex { - port := strings.Split(parts[lastIndex], "/")[0] - if !isValidPort(port) { - return errTooManyColons - } - } - return nil -} - -// isValidPort returns whether or not a string looks like a valid port -func isValidPort(s string) bool { - return validPortRegEx.MatchString(s) -} - -// fixSplitComponents this will modify reference parts based on presence of port -// Example: {localhost, 5000/x/y/z, 0.1.0} => {localhost:5000/x/y/z, 0.1.0} -func fixSplitComponents(c []string) []string { - if len(c) <= 1 { - return c - } - possiblePortParts := strings.Split(c[1], "/") - if _, err := strconv.Atoi(possiblePortParts[0]); err == nil { - components := []string{strings.Join(c[:2], ":")} - components = append(components, c[2:]...) - return components - } - return c -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/pkg/deploy/bundles/remote_bundle.go new/werf-2.35.7/pkg/deploy/bundles/remote_bundle.go --- old/werf-2.35.5/pkg/deploy/bundles/remote_bundle.go 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/pkg/deploy/bundles/remote_bundle.go 2025-04-30 16:31:11.000000000 +0200 @@ -96,7 +96,7 @@ if imageRef, ok := v.(string); ok { ref, err := bundles_registry.ParseReference(imageRef) if err != nil { - return fmt.Errorf("unable to parse bundle image %s: %w", imageRef, err) + return err } ref.Repo = bundle.RegistryAddress.Repo @@ -168,7 +168,7 @@ if image, ok := v.(string); ok { ref, err := bundles_registry.ParseReference(image) if err != nil { - return fmt.Errorf("unable to parse bundle image %s: %w", image, err) + return err } ref.Repo = bundle.RegistryAddress.Repo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/werf-2.35.5/trdl_channels.yaml new/werf-2.35.7/trdl_channels.yaml --- old/werf-2.35.5/trdl_channels.yaml 2025-04-28 10:49:52.000000000 +0200 +++ new/werf-2.35.7/trdl_channels.yaml 2025-04-30 16:31:11.000000000 +0200 @@ -38,7 +38,7 @@ - name: "2" channels: - name: alpha - version: 2.35.4 + version: 2.35.6 - name: beta version: 2.35.1 - name: ea ++++++ werf.obsinfo ++++++ --- /var/tmp/diff_new_pack.7DrHbL/_old 2025-05-01 15:23:24.362982727 +0200 +++ /var/tmp/diff_new_pack.7DrHbL/_new 2025-05-01 15:23:24.366982895 +0200 @@ -1,5 +1,5 @@ name: werf -version: 2.35.5 -mtime: 1745830192 -commit: b33c397d6bf194cdde382f3c98adebe62ef67e36 +version: 2.35.7 +mtime: 1746023471 +commit: 346c06575907254603ada1598ea117cbfb1514d9