Helm updated: 2.13.1->2.14.3

3-way-merge annotations mode enabled

Werf writes 3-way-merge repair patch to annotations:

debug.werf.io/repair-patch
debug.werf.io/repair-patch-errors

Repair patch is a 3-way-merge kubectl-apply-like patch between current live resource state and desired chart state. User should apply this patch manually when live resource state is out of sync with the chart configuration resource state.

A warning message will be written to the screen during deploy process when repair patch is not empty.

Docs is available at pages:

  • https://github.com/flant/werf/blob/master/docs/pages/reference/deploy_process/experimental_three_way_merge.md
  • https://werf.io/documentation/reference/deploy_process/experimental_three_way_merge.html

Installation

Linux amd64

Darwin amd64

Windows amd64

[doc] fix YAML in sidebar and the Three-way merge article

Installation

Linux amd64

Darwin amd64

Windows amd64

Fix panic in ‘werf config render’ command.

[config] Disable auto GC for config commands.

Installation

Linux amd64

Darwin amd64

Windows amd64

3-way-merge: annotations mode

Werf writes 3-way-merge repair patch to annotations:

debug.werf.io/repair-patch
debug.werf.io/repair-patch-errors

Repair patch is a 3-way-merge kubectl-apply-like patch between current live resource state and desired chart state. User should apply this patch manually when live resource state is out of sync with the chart configuration resource state.

A warning message will be written to the screen during deploy process when repair patch is not empty.

Doc available at page: https://github.com/flant/werf/blob/master/docs/pages/reference/deploy_process/experimental_three_way_merge.md

Other fixes

[config] Disable auto GC for config commands.

Fix panic in ‘werf config render’ command.

Installation

Linux amd64

Darwin amd64

Windows amd64

Reject deploy post-apply hooks

Unnecessary hooks, added for experiment, finally decided to remove.

Fixes

[deploy] Ignore ‘POST operation could not be complete’ sts error.

[ci-env] Fix Gitlab 12.1.4+ output: turn off color mode

[docs] ci-env and tag slug

[docs] Gemfile.lock vulnerability update fix

[stapel image] Fix CMD and ENTRYPOINT logic

  • force reset CMD if a user specifies ENTRYPOINT (to ignore inherited CMD value from base image)
  • reset CMD only with “[]” for all docker versions
  • skip auto-resetting CMD if ENTRYPOINT is inherited or specified

[dockerignore] Fix pattern with starting double asterisks does not work properly

  • The pattern does not check root files

New commands

[config] werf config list command [config] werf config render command

Installation

Linux amd64

Darwin amd64

Windows amd64

Fixes

[deploy] Ignore ‘POST operation could not be complete’ sts error.

[ci-env] Fix Gitlab 12.1.4+ output: turn off color mode

[docs] ci-env and tag slug

[stapel image] Fix CMD and ENTRYPOINT logic

  • force reset CMD if a user specifies ENTRYPOINT (to ignore inherited CMD value from base image)
  • reset CMD only with “[]” for all docker versions
  • skip auto-resetting CMD if ENTRYPOINT is inherited or specified

New commands

[config] werf config list command [config] werf config render command

Installation

Linux amd64

Darwin amd64

Windows amd64

More docs for beta

  • Added one new publication (ru);
  • Publications year hotfix.

Installation

Linux amd64

Darwin amd64

Windows amd64

Small fixes and improvements

[dockerignore] Fix pattern with starting double asterisks does not work properly

  • The pattern does not check root files

[docs] Gemfile.lock vulnerability update fix

Installation

Linux amd64

Darwin amd64

Windows amd64

[deploy] Fix “runtime error: invalid memory address or nil pointer dereference”

Error occurs during deployment without werf images.

Installation

Linux amd64

Darwin amd64

Windows amd64

Helm upgrade

Helm+tiller has been upgraded to 2.14.3.

Experimental 3-way-merge support for deploy

Set WERF_3_WAY_MERGE_MODE_ENABLED=1 to enable 3 way merge during deploy.

Implement post-apply-on-install, post-apply-on-upgrade hooks

New hooks run after resources manifests have been applied, before waiting for resources readiness.

Configurable Status-Progress table period

--status-progress-period and --hooks-status-progress-period options.

Docs

Added one new publication (ru): https://habr.com/ru/company/flant/blog/460351/.

Publications year hotfix.

Other fixes and improvements

[tags] Specify –tag-custom values using environments WERF_TAG_CUSTOM*.

[stapel builder] Improve git cache stage logic.

Installation

Linux amd64

Darwin amd64

Windows amd64

New features

  • [dockerfile image] –add-host support: pass parameter using addHost werf.yaml directive (see docs for more info: https://werf.io/documentation/configuration/dockerfile_image.html).

Fixes and small changes

  • [deploy] Fix “runtime error: invalid memory address or nil pointer dereference”
    • Error occurs during deployment without werf images.
  • [docs] Development and Debug/Stage Introspection: introspect-stage usage

Installation

Linux amd64

Darwin amd64

Windows amd64

Multirep and Monorep publish modes

Added support for using a single docker repo to store multiple images from werf.yaml config.

Images named as:

  • IMAGES_REPO[/IMAGE_NAME]:TAG using default muiltirep mode;
  • IMAGES_REPO:[IMAGE_NAME-]TAG using monorep mode;

To select mode use cli option --images-repo-mode=multirep|monorep or env var WERF_IMAGES_REPO_MODE=monorep|multirep (https://werf.io/documentation/reference/plugging_into_cicd/overview.html#pass-cli-params-as-environment-variables).

Docs fixes

  • Add forgotten ‘Lint And Render Chart’ article to the sidebar.
  • Edits: remove excess TODO.

Installation

Linux amd64

Darwin amd64

Windows amd64

‘Lint And Render Chart’ documentation article

https://werf.io/documentation/reference/development_and_debug/lint_and_render_chart.html

Installation

Linux amd64

Darwin amd64

Windows amd64

New articles and pages for werf.io

  • Releases page.
  • Lint/render deploy debug article in ‘Development And Debug’ chapter.
  • Plugging into CI/CD systems overview, gitlab and new guide for unsupported CI/CD systems articles.

Small docs edits and improvements

  • Improve publish process reference: info on image naming.
  • More detailed explanation of git patches and stage deps.
  • Note on artifact stapel usage.
  • –tag-git-* options design rationale added.
  • Rename ‘Local Development’ to ‘Development And Debug’; add lint/render article.
  • Reference/Stage Introspection: summary.
  • development_and_debug breadcrumb.
  • Fixes:
    • Fix helm dirrerences article links and structure.
    • Fix errors in README.

Build and deploy improvements and fixes

  • Reject ONBUILD docker instruction.
  • Fix inheriting base image empty CMD and ENTRYPOINT with docker 17.10.0-ce
  • Reject GCR check for GitLab.
  • Ignore existing env variables in werf ci-env.
  • Fix deploy warning messages.
  • Regular CMD and ENTRYPOINT value format

Installation

Linux amd64

Darwin amd64

Windows amd64

New articles and pages for werf.io

  • Releases page.
  • Lint/render deploy debug article in ‘Development And Debug’ chapter.
  • Plugging into CI/CD systems overview, gitlab and new guide for unsupported CI/CD systems articles.

Small docs edits and improvements

  • Improve publish process reference: info on image naming.
  • More detailed explanation of git patches and stage deps.
  • Note on artifact stapel usage.
  • –tag-git-* options design rationale added.
  • Rename ‘Local Development’ to ‘Development And Debug’; add lint/render article.
  • Reference/Stage Introspection: summary.
  • development_and_debug breadcrumb.
  • Fixes:
    • Fix helm dirrerences article links and structure.
    • Fix errors in README.

Stage introspection during non failed build

Introspect a specific stage. The option can be used multiple times to introspect several stages.

There are the following formats to use:

  • specify IMAGE_NAME/STAGE_NAME to introspect stage STAGE_NAME of either image or artifact IMAGE_NAME
  • specify STAGE_NAME or */STAGE_NAME for the introspection of all existing stages with name STAGE_NAME

IMAGE_NAME is the name of an image or artifact described in werf.yaml, the nameless image specified with ~. STAGE_NAME should be one of the following: from, beforeInstall, importsBeforeInstall, gitArchive, install, importsAfterInstall, beforeSetup, importsBeforeSetup, setup, importsAfterSetup, gitCache, gitLatestPatch, dockerInstructions, dockerfile

Fix: ignore user errors during introspection.

Build and deploy improvements and fixes

  • Reject ONBUILD docker instruction.
  • Fix inheriting base image empty CMD and ENTRYPOINT with docker 17.10.0-ce
  • Reject GCR check for GitLab.
  • Ignore existing env variables in werf ci-env.
  • Fix deploy warning messages.
  • Regular CMD and ENTRYPOINT value format

Installation

Linux amd64

Darwin amd64

Windows amd64

[introspection] –introspect-stage [IMAGE_NAME/]STAGE_NAME option

Introspect a specific stage. The option can be used multiple times to introspect several stages.

There are the following formats to use:

  • specify IMAGE_NAME/STAGE_NAME to introspect stage STAGE_NAME of either image or artifact IMAGE_NAME
  • specify STAGE_NAME or */STAGE_NAME for the introspection of all existing stages with name STAGE_NAME

IMAGE_NAME is the name of an image or artifact described in werf.yaml, the nameless image specified with ~. STAGE_NAME should be one of the following: from, beforeInstall, importsBeforeInstall, gitArchive, install, importsAfterInstall, beforeSetup, importsBeforeSetup, setup, importsAfterSetup, gitCache, gitLatestPatch, dockerInstructions, dockerfile

[introspection] Ignore user errors during introspection

Installation

Linux amd64

Darwin amd64

Windows amd64

Docs

  • Added roadmap for https://werf.io & some minor interface fixes.
  • Fix links and small edits.
  • Fixed docs for links for non-default stability channels.
  • Reference/Toolbox: breadcrumb.

Fix: allow absolute or relative mount.fromPath

Installation

Linux amd64

Darwin amd64

Windows amd64

Fixes and docs improvals

  • fix stage ‘is not exist in stages storage’ when using git submodules and parallel ci builds;
  • https://werf.io breadcrumbs.

Installation

Linux amd64

Darwin amd64

Windows amd64

Rework documentaion

  • New werf.io headers structure.
  • A lot of small improvements over all docs pages.
  • Dockerfile image is the main way to build images: new Getting Started howto.
  • Updated and improved README, project roadmap.
  • Complete deploy reference.

Installation

Linux amd64

Darwin amd64

Windows amd64

Fix unexpected signature change when using stageDependencies with ‘*’ pattern

Do not use work tree caching for now in true-git when switching work tree to different commit.

[docker registry] Fix authentication error without message

Error: deleting image “registry/user/project@sha256”:

Installation

Linux amd64

Darwin amd64

Windows amd64

Critical fixes

  • Fix Job tracker hangs on Job-error.
  • Fix ‘fatal error: concurrent map read and map write’ during deploy.

Docs improvements

Installation

Linux amd64

Darwin amd64

Windows amd64