Каналы обновлений
Релизный процесс подразумевает последовательное прохождение версий по каналам в порядке повышения стабильности Alpha → Beta → Early-Access → Stable → Rock-Solid. Таким образом каждую версию на менее стабильном канале можно рассматривать как кандидата на переход в более стабильный канал.
Rock-Solid
Канал обновлений Rock-Solid рекомендуется использовать в критичных окружениях с высоким SLA. Мы гарантируем обратную совместимость между версиями канала обновлений Rock-Solid в пределах минорной версии (1.1.x). Мы гарантируем, что версия из канала обновлений Stable перейдет в канал обновлений Rock-Solid не ранее чем через 2 недели плотного тестирования.
Stable
Канал обновлений Stable можно безопасно использовать и мы рекомендуем этот канал обновлений везде. Мы гарантируем обратную совместимость между версиями канала обновлений Stable в пределах минорной версии (1.1.x). Мы гарантируем, что версия канала обновлений Early-Access перейдет в канал обновлений Stable не ранее чем через неделю после внутреннего тестирования.
Early-Access
Версии этого канала обновлений обычно безопасно использовать в некритичных окружениях или при локальной разработке. Мы не гарантируем обратную совместимость между версиями канала обновлений Early-Access.
Версии этого канала обновлений предназначены для более глубокого тестирования новых возможностей. Мы не гарантируем обратную совместимость между версиями канала обновлений Beta.
Версии этого канала обновлений могут содержать новые возможности, а также быть нестабильными, иметь ошибки. Мы не гарантируем обратную совместимость между версиями канала обновлений Alpha.
История изменений версий в каналах обновлений
Релиз:
Канал:

Для более глубокого тестирования новых возможностей

Версии этого канала обновлений предназначены для более глубокого тестирования новых возможностей. Мы не гарантируем обратную совместимость между версиями канала обновлений Beta.

v1.1.0-beta.4
25.02.2020, 21:32 +0300

Optimize imports: rsync import server

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-beta.3
20.02.2020, 16:49 +0300

Fixes release (INCOMPATIBLE — more info belo

)

Small fixes and additions

  • Add –log-verbose, –log-quiet options, use –log-debug=true by default for werf v1.1 for now.
  • Fixed and enabled cleanup procedure.
  • Do not publish artifacts fix.
  • Fix: cleanup dockerfile builder tmp img on conveyor termination.
  • Fix helm release name slugify: should be a valid DNS-1123 subdomain and be maximum 53 chars.

Fix import stage logic and stages cleanup

The import stage image has the specific label value that is used during stages cleanup procedure. In this commit, related image/artifact signature which stored in the label is replaced on image ID.

The signature does not identify the stage since we started to use not only signature in an image tag. From v1.1, werf is building stages consistently so related image/artifact image ID is available when werf is preparing import stage.

INCOMPATIBLE change, because signature of import stage has been changed. Already built images should be rebuilt with this version of werf.

Also prevented possible bug, which may occur when artifacts are used and there are empty stages.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-beta.2
20.02.2020, 16:47 +0300

Fixes related to the “Resource already exists” deploy error

  • fix “resource already exists” error on redeploy when new resource with an error has been added to the chart,
    refs https://github.com/flant/helm/pull/40
  • fix “resource already exists” error message when creating a helm.sh/hook that already exists,
    refs https://github.com/flant/helm/pull/41
  • do not allow resource adoption during initial release installation, fix error messages,
    refs https://github.com/flant/helm/pull/42

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-beta.3
20.02.2020, 16:17 +0300

Fixes release (INCOMPATIBLE — more info belo

)

Small fixes and additions

  • Add –log-verbose, –log-quiet options, use –log-debug=true by default for werf v1.1 for now.
  • Fixed and enabled cleanup procedure.
  • Do not publish artifacts fix.
  • Fix: cleanup dockerfile builder tmp img on conveyor termination.
  • Fix helm release name slugify: should be a valid DNS-1123 subdomain and be maximum 53 chars.

Fix import stage logic and stages cleanup

The import stage image has the specific label value that is used during stages cleanup procedure. In this commit, related image/artifact signature which stored in the label is replaced on image ID.

The signature does not identify the stage since we started to use not only signature in an image tag. From v1.1, werf is building stages consistently so related image/artifact image ID is available when werf is preparing import stage.

INCOMPATIBLE change, because signature of import stage has been changed. Already built images should be rebuilt with this version of werf.

Also prevented possible bug, which may occur when artifacts are used and there are empty stages.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-beta.2
19.02.2020, 17:26 +0300

Fixes related to the “Resource already exists” deploy error

  • fix “resource already exists” error on redeploy when new resource with an error has been added to the chart,
    refs https://github.com/flant/helm/pull/40
  • fix “resource already exists” error message when creating a helm.sh/hook that already exists,
    refs https://github.com/flant/helm/pull/41
  • do not allow resource adoption during initial release installation, fix error messages,
    refs https://github.com/flant/helm/pull/42

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-beta.1
17.02.2020, 16:08 +0300

First Werf v1.1 beta release!

Main changes since v1.0:

  1. Fully reworked build process, new incompatible stages storage format (new build cache).
  • Improved performance of idle builds (from cache) nearly by one order of magnitude when git repo of the project is big.

  • Build cache isolation based on the git history. Build cache of different branches without same base is not overlapped. No more “rebase” related problems.

  • Also improved performance of stage-dependencies calculation (using git ls-tree mechanix) when large folders are specified as stage dependencies.

  1. Content based tagging using werf publish --tag-by-stages-signature option or werf ci-env --tagging-strategy=stages-signature tagging strategy.

    The default tagging strategy is stages-signature, werf ci-env parameter --tagging-strategy may be omitted to use default strategy.

Not supported in this version

IMPORTANT Following feature are not supported in the current beta version and will be repaired in the following releases very soon!

  • Building Dockerfile-based images. This version of werf v1.1 beta should not be used to build dockerfile-based images.

  • werf cleanup command will not actually clean stages, only images, due to the bug in the cleaning procedure. werf cleanup command can and should be used already now and will be fixed soon by automatic releases updater for 1.1 beta channel.

Fully reworked build process

  • Stage image name format changed: werf-stages-storage/PROJECT_NAME:SIGNATURE-UNIX_TIMESTAMP_MILLISECS.

  • UNIX_TIMESTAMP_MILLISECS is the unique part of stage image name.

  • There may be multiple stages with the same SIGNATURE part. Signature is based on the content of the image, while timestamp is added to keep separately built images separate.

  • IMPORTANT! Multiple processes may build the same stage by the same signature simultaneously at the same time. The first builder that builds the stage will store the stage in the stages storage. Other builders will discard build results when saving newly built image into stages storage if stages storage already contains suitable image built by the other process.

  • There may be multiple stages with the same SIGNATURE for different git branches. Stage selection algorithm will make sure that stage is suitable for your branch.

Compatibility notes

Incompatibilities with v1.0:

  • Werf v1.1 will generate new stages for stages storage.

  • Removed legacy ruby dapp secret-key format support.

  • Removed –insecure-repo option, use –skip-tls-verify-registry option instead.

  • “helm.sh/hook-delete-policy=before-hook-creation” by default for all kinds of hooks (not only Jobs as in v1.0).

  • Strict yaml parsing which does not allow duplicate keys in yaml docs (affects werf.yaml, .helm/templates/**, .helm/values.yaml etc.).

It is OK to use v1.0 and v1.1 simultaneously:

  • v1.1 and v1.0 may exists on the same host system, without any restrictions;

  • v1.1 and v1.0 may be used in the different branches of the same project without any restrictions;

  • cleanup procedure of v1.0 will not affect v1.1 and vice versa;

  • build cache (stages in the stages-storage) of v1.0 and v1.0 is fully separated.

How to enable v1.1

  1. Change multiwerf use command:

      
    type multiwerf && source <(multiwerf use 1.1 beta)
      
    
  2. (Optional) To use content based tagging change ci-env command:

      
    type werf && source <(werf ci-env gitlab)
      
    

Installation

Linux amd64

Darwin amd64

Windows amd64

Наименее стабильный канал обновлений

Версии этого канала обновлений могут содержать новые возможности, а также быть нестабильными, иметь ошибки. Мы не гарантируем обратную совместимость между версиями канала обновлений Alpha.

v1.1.0-beta.4
25.02.2020, 21:32 +0300

Optimize imports: rsync import server

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-beta.3
20.02.2020, 16:49 +0300

Fixes release (INCOMPATIBLE — more info belo

)

Small fixes and additions

  • Add –log-verbose, –log-quiet options, use –log-debug=true by default for werf v1.1 for now.
  • Fixed and enabled cleanup procedure.
  • Do not publish artifacts fix.
  • Fix: cleanup dockerfile builder tmp img on conveyor termination.
  • Fix helm release name slugify: should be a valid DNS-1123 subdomain and be maximum 53 chars.

Fix import stage logic and stages cleanup

The import stage image has the specific label value that is used during stages cleanup procedure. In this commit, related image/artifact signature which stored in the label is replaced on image ID.

The signature does not identify the stage since we started to use not only signature in an image tag. From v1.1, werf is building stages consistently so related image/artifact image ID is available when werf is preparing import stage.

INCOMPATIBLE change, because signature of import stage has been changed. Already built images should be rebuilt with this version of werf.

Also prevented possible bug, which may occur when artifacts are used and there are empty stages.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-beta.2
20.02.2020, 16:47 +0300

Fixes related to the “Resource already exists” deploy error

  • fix “resource already exists” error on redeploy when new resource with an error has been added to the chart,
    refs https://github.com/flant/helm/pull/40
  • fix “resource already exists” error message when creating a helm.sh/hook that already exists,
    refs https://github.com/flant/helm/pull/41
  • do not allow resource adoption during initial release installation, fix error messages,
    refs https://github.com/flant/helm/pull/42

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-beta.3
20.02.2020, 16:17 +0300

Fixes release (INCOMPATIBLE — more info belo

)

Small fixes and additions

  • Add –log-verbose, –log-quiet options, use –log-debug=true by default for werf v1.1 for now.
  • Fixed and enabled cleanup procedure.
  • Do not publish artifacts fix.
  • Fix: cleanup dockerfile builder tmp img on conveyor termination.
  • Fix helm release name slugify: should be a valid DNS-1123 subdomain and be maximum 53 chars.

Fix import stage logic and stages cleanup

The import stage image has the specific label value that is used during stages cleanup procedure. In this commit, related image/artifact signature which stored in the label is replaced on image ID.

The signature does not identify the stage since we started to use not only signature in an image tag. From v1.1, werf is building stages consistently so related image/artifact image ID is available when werf is preparing import stage.

INCOMPATIBLE change, because signature of import stage has been changed. Already built images should be rebuilt with this version of werf.

Also prevented possible bug, which may occur when artifacts are used and there are empty stages.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-beta.2
19.02.2020, 17:26 +0300

Fixes related to the “Resource already exists” deploy error

  • fix “resource already exists” error on redeploy when new resource with an error has been added to the chart,
    refs https://github.com/flant/helm/pull/40
  • fix “resource already exists” error message when creating a helm.sh/hook that already exists,
    refs https://github.com/flant/helm/pull/41
  • do not allow resource adoption during initial release installation, fix error messages,
    refs https://github.com/flant/helm/pull/42

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-beta.1
17.02.2020, 16:08 +0300

First Werf v1.1 beta release!

Main changes since v1.0:

  1. Fully reworked build process, new incompatible stages storage format (new build cache).
  • Improved performance of idle builds (from cache) nearly by one order of magnitude when git repo of the project is big.

  • Build cache isolation based on the git history. Build cache of different branches without same base is not overlapped. No more “rebase” related problems.

  • Also improved performance of stage-dependencies calculation (using git ls-tree mechanix) when large folders are specified as stage dependencies.

  1. Content based tagging using werf publish --tag-by-stages-signature option or werf ci-env --tagging-strategy=stages-signature tagging strategy.

    The default tagging strategy is stages-signature, werf ci-env parameter --tagging-strategy may be omitted to use default strategy.

Not supported in this version

IMPORTANT Following feature are not supported in the current beta version and will be repaired in the following releases very soon!

  • Building Dockerfile-based images. This version of werf v1.1 beta should not be used to build dockerfile-based images.

  • werf cleanup command will not actually clean stages, only images, due to the bug in the cleaning procedure. werf cleanup command can and should be used already now and will be fixed soon by automatic releases updater for 1.1 beta channel.

Fully reworked build process

  • Stage image name format changed: werf-stages-storage/PROJECT_NAME:SIGNATURE-UNIX_TIMESTAMP_MILLISECS.

  • UNIX_TIMESTAMP_MILLISECS is the unique part of stage image name.

  • There may be multiple stages with the same SIGNATURE part. Signature is based on the content of the image, while timestamp is added to keep separately built images separate.

  • IMPORTANT! Multiple processes may build the same stage by the same signature simultaneously at the same time. The first builder that builds the stage will store the stage in the stages storage. Other builders will discard build results when saving newly built image into stages storage if stages storage already contains suitable image built by the other process.

  • There may be multiple stages with the same SIGNATURE for different git branches. Stage selection algorithm will make sure that stage is suitable for your branch.

Compatibility notes

Incompatibilities with v1.0:

  • Werf v1.1 will generate new stages for stages storage.

  • Removed legacy ruby dapp secret-key format support.

  • Removed –insecure-repo option, use –skip-tls-verify-registry option instead.

  • “helm.sh/hook-delete-policy=before-hook-creation” by default for all kinds of hooks (not only Jobs as in v1.0).

  • Strict yaml parsing which does not allow duplicate keys in yaml docs (affects werf.yaml, .helm/templates/**, .helm/values.yaml etc.).

It is OK to use v1.0 and v1.1 simultaneously:

  • v1.1 and v1.0 may exists on the same host system, without any restrictions;

  • v1.1 and v1.0 may be used in the different branches of the same project without any restrictions;

  • cleanup procedure of v1.0 will not affect v1.1 and vice versa;

  • build cache (stages in the stages-storage) of v1.0 and v1.0 is fully separated.

How to enable v1.1

  1. Change multiwerf use command:

      
    type multiwerf && source <(multiwerf use 1.1 beta)
      
    
  2. (Optional) To use content based tagging change ci-env command:

      
    type werf && source <(werf ci-env gitlab)
      
    

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.19
17.02.2020, 14:45 +0300

Remove legacy unstrict yaml parser

Use yaml strict unmarshal everywhere

  • Update flant/helm to the version with strict unmarshal.
  • Update gopkg/yaml to v3.
  • Update github.com/ghodss/yaml to v1.0.
  • Use yaml.UnmarshalStrict everywhere in the werf codebase.

This change may broke existing 1.0 installations with bad yaml-configs.

Temporarily disable stages cleanup by default due to the bug

Dry-run mode is forced by default for stages-cleanup procedure in commands: werf stages cleanup, werf cleanup.

Images cleanup is not affected and enabled as always in werf cleanup.

To enable stages-cleanup forcefully set: WERF_STAGES_CLEANUP_ENABLED=1.

Dry-run by default will be disabled when stages-cleanup procedure bug is fixed.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.18
14.02.2020, 14:30 +0300

Fix release

  • Fix ssh-agent not adding default keys and keys passed by the --ssh-key option.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.17
13.02.2020, 23:00 +0300

Experimental stages cache rework (17)

  • Optimize more stage dependencies checksum calculation (update go-git library).

  • Cleanup legacy code that breaks backward compatibility, update library dependencies:
    • Eliminate werf.io/recreate annotation, use helm.sh/hook-delete-policy=before-hook-creation by default.
    • Remove git-mapping legacy cwd param, change paramshash.
      Git-mapping paramshash include ‘add’ parameter as is without leading slash sign. This will change signature for git-archive stage and need cache rebuild.
    • Remove “legacy” comments for code that is not really legacy.
    • Remove –insecure-repo legacy option: only –skip-tls-verify-registry is available.
    • [werf secret key] Remove dapp secret key legacy support.
    • [go.mod] Update flant/helm, kubernetes lib dependencies to v0.16.7, logboek=origin/debug_functions and kubedog
  • Content based tagging by signatures fix, param renamed: werf publish --tag-by-stages-signature and werf ci-env --tagging-strategy=stages-signature.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.14
12.02.2020, 11:36 +0300

Git stage dependencies optimization

Calculate stage dependencies checksum with git ls-tree.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.13
11.02.2020, 21:44 +0300

Experimental stages cache rework (13)

  • fix gitCache and user-stages with git should select suitable images based on git ancestry;
  • publish with optimistic locks and content based tagging
    • werf ci-env –tagging-strategy=content-based option value, which is default;
    • gitLatestPatch stage signature does not include current git-commit, but include a patch content up to current git-commit.
    • werf publish –tag-by-signatures=true false option to tag images by last stage signatures, which is current method of content-based tagging.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.12
10.02.2020, 00:55 +0300

Experimental stages cache rework (12)

  • Refactor signature calculation, stage signature should depend on stage name.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.11
7.02.2020, 20:21 +0300

Experimental stages cache rework (11)

Fix panic

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.10
7.02.2020, 20:08 +0300

Experimental stages cache rework (10)

  • Fix invalid build cache: fix dockerInstructions signature does not depend on prev stage signature.
  • Optimization: do not create excess git archives before signatures calculation.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.9
7.02.2020, 10:37 +0300

Experimental stages cache rework (9)

  • Fix merge-base error handling for ‘Not a valid commit name’.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.8
6.02.2020, 18:01 +0300

Experimental stages cache rework (8)

  • Fix panic when discarding newly built image.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.7
6.02.2020, 16:15 +0300

Experimental stages cache rework (7)

Fix case when stages storage cache has been invalidated:

  • By manual or accidental cleaning of docker image from stages storage while this image exists in stages storage cache.
    Werf will refresh this stage cache from stages storage in this case.

  • Always refresh stage cache in stages storage cache when this stage has been newly built.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.6
5.02.2020, 18:28 +0300

Experimental stages cache rework (6)

  • Coherent stages storage cache implemented.
  • werf –debug option to print debug logs.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.5
4.02.2020, 14:13 +0300

Experimental stages cache rework (5)

  • Log all stages storage operations with time spent.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.4
4.02.2020, 12:22 +0300

Experimental stages cache rework (4)

  • Select stages from stages storage by label with signature.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.3
4.02.2020, 11:03 +0300

Experimental stages cache rework (3)

  • Fix cannot build dockerfile image.
  • Fix panic when specific images for cli cmd has been used.
  • Reset image context in build-phase when processing next image.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.2
3.02.2020, 21:46 +0300

Experimental stages cache rework (2)

  • Commit affects next stages signatures.

  • Optimistic locking when saving stage into stages storage: discard already built temporary image when saving into stages storage if there is existing suitable image for this signature.

  • New build conveyor architecture.

  • Generate image id as: <sha-3-224>-<timestamp-up-to-millisecs>.

  • –stages-storage-cache renamed to –stages-storage-lock, only :local value is supported for now, :local is default value.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.1.0-alpha.1
29.01.2020, 00:26 +0300

Experimental stages cache rework

  • New stage name generation rule. Every build of the stage generates uniq stage-cache image name which consists of 2 parts: old signature and unique identifier.
  • New stages storage mechanics. There may be multiple built images for a single signature.
    Select the oldest available with related with the git commit which is an ancestor of current commit.
  • Removed git fsck usage to detected unreachable commits.
  • –stages-storage-cache param for future usage.

Installation

Linux amd64

Darwin amd64

Windows amd64

Канал:

Для критичных окружений с высоким SLA

Канал обновлений Rock-Solid рекомендуется использовать в критичных окружениях с высоким SLA. Мы гарантируем обратную совместимость между версиями канала обновлений Rock-Solid в пределах минорной версии (1.1.x). Мы гарантируем, что версия из канала обновлений Stable перейдет в канал обновлений Rock-Solid не ранее чем через 2 недели плотного тестирования.

v1.0.10
20.02.2020, 16:17 +0300

Isolate v1.0 and v1.1 cache for cleanup commands

werf purge, werf cleanup, werf stages purge, werf stages cleanup commands will delete images only by current build cache version.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.8
20.02.2020, 13:57 +0300

Speed up signatures calculation and stages invalidation phases

This release optimizes usage of git fsck command for the local repository: run only once for all images and artifacts instead of for each as before.

werf users could face this issue when having images and/or artifacts that used local git mappings.

During signatures calculation and stages invalidation phases werf uses commits that are stored in labels of existing stages images and validate them. The commit must not be unreachable to invalidate stages correctly and to prevent conflicts between parallel runs. We use git fsck command for getting an unreachable commit list. The command might take significant time for a large git repository.

Fix Docker on windows does not support mount with short filename

https://github.com/docker/for-win/issues/1560#issuecomment-577371228

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6
14.01.2020, 09:35 +0300

Stable 1.0 version

Werf is an Open Source GitOps CLI utility for building and delivering applications to Kubernetes. Werf supports building application images from Dockerfiles or via its custom advanced image builder (it has YAML syntax, supports Ansible as well as Git-based incremental rebuilding). For application delivery, it uses the Helm-compatible configuration format. Werf stores the application code, the configuration of compiled images, and the deployment configuration in the single Git repository.

The long-awaited stable release of werf 1.0 is a full-fledged basic version of the tool. In this version, werf supports the full life cycle for containerized applications. It includes building application images, deploying them to Kubernetes, deleting unused images.

Please note that in version 1.0, all operations (i.e. build, deploy, cleanup) for a single project must be performed on the same host. In other words, you have to use a constant worker in your CI system. At the same time, there are no restrictions on the parallelism of tasks: werf fully addresses this issue. You can also bind different projects to different workers.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6-ea.1
10.01.2020, 20:35 +0300

[docs] Website version menu updates

[docs] Removed telegram channel for English speaking users

The telegram channel for English speaking users could be misleading, and we decided to delete it.

It will be more convenient to communicate in one place - CNCF slack. Please join!

Badges were also updated.

More helm commands

  • werf helm ls

  • werf helm rm

  • werf helm rollback

  • werf helm history

  • werf helm get

Ci and tests

Werf ci and tests infrustructure changes

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6-rc.6
19.12.2019, 17:21 +0300

[deploy] Fix sts hangs on warning ‘POST operation against Pod could not be completed at this time’

Print sts warning only once in status progress table.

Other

Docs orthography fixes.

Installation

Linux amd64

Darwin amd64

Windows amd64

Рекомендуемый канал обновлений, если вы не уверены в выборе

Канал обновлений Stable можно безопасно использовать и мы рекомендуем этот канал обновлений везде. Мы гарантируем обратную совместимость между версиями канала обновлений Stable в пределах минорной версии (1.1.x). Мы гарантируем, что версия канала обновлений Early-Access перейдет в канал обновлений Stable не ранее чем через неделю после внутреннего тестирования.

v1.0.10
14.02.2020, 12:56 +0300

Isolate v1.0 and v1.1 cache for cleanup commands

werf purge, werf cleanup, werf stages purge, werf stages cleanup commands will delete images only by current build cache version.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.8
6.02.2020, 18:31 +0300

Speed up signatures calculation and stages invalidation phases

This release optimizes usage of git fsck command for the local repository: run only once for all images and artifacts instead of for each as before.

werf users could face this issue when having images and/or artifacts that used local git mappings.

During signatures calculation and stages invalidation phases werf uses commits that are stored in labels of existing stages images and validate them. The commit must not be unreachable to invalidate stages correctly and to prevent conflicts between parallel runs. We use git fsck command for getting an unreachable commit list. The command might take significant time for a large git repository.

Fix Docker on windows does not support mount with short filename

https://github.com/docker/for-win/issues/1560#issuecomment-577371228

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6
14.01.2020, 09:35 +0300

Stable 1.0 version

Werf is an Open Source GitOps CLI utility for building and delivering applications to Kubernetes. Werf supports building application images from Dockerfiles or via its custom advanced image builder (it has YAML syntax, supports Ansible as well as Git-based incremental rebuilding). For application delivery, it uses the Helm-compatible configuration format. Werf stores the application code, the configuration of compiled images, and the deployment configuration in the single Git repository.

The long-awaited stable release of werf 1.0 is a full-fledged basic version of the tool. In this version, werf supports the full life cycle for containerized applications. It includes building application images, deploying them to Kubernetes, deleting unused images.

Please note that in version 1.0, all operations (i.e. build, deploy, cleanup) for a single project must be performed on the same host. In other words, you have to use a constant worker in your CI system. At the same time, there are no restrictions on the parallelism of tasks: werf fully addresses this issue. You can also bind different projects to different workers.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6-ea.1
10.01.2020, 20:35 +0300

[docs] Website version menu updates

[docs] Removed telegram channel for English speaking users

The telegram channel for English speaking users could be misleading, and we decided to delete it.

It will be more convenient to communicate in one place - CNCF slack. Please join!

Badges were also updated.

More helm commands

  • werf helm ls

  • werf helm rm

  • werf helm rollback

  • werf helm history

  • werf helm get

Ci and tests

Werf ci and tests infrustructure changes

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6-rc.6
12.12.2019, 15:25 +0300

[deploy] Fix sts hangs on warning ‘POST operation against Pod could not be completed at this time’

Print sts warning only once in status progress table.

Other

Docs orthography fixes.

Installation

Linux amd64

Darwin amd64

Windows amd64

Для некритичных окружений или локальной разработки

Версии этого канала обновлений обычно безопасно использовать в некритичных окружениях или при локальной разработке. Мы не гарантируем обратную совместимость между версиями канала обновлений Early-Access.

v1.0.12
20.02.2020, 16:17 +0300

[1.0] Fixes related to the “Resource already exists” deploy error

  • fix “resource already exists” error on redeploy when new resource with an error has been added to the chart,
    refs https://github.com/flant/helm/pull/40
  • fix “resource already exists” error message when creating a helm.sh/hook that already exists,
    refs https://github.com/flant/helm/pull/41
  • do not allow resource adoption during initial release installation, fix error messages,
    refs https://github.com/flant/helm/pull/42

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.11
19.02.2020, 17:26 +0300

Docs

[docs] Fixed broken links. Links autotest.
[docs] Releases page refactoring. Added buttons to switch between maj.min versions and update channels.
[docs] Dropdown version menu on the sidebar shows version, grouped by maj.min
[docs] Updated footer. Fixed heart icon :)

Bugfixes

Fix werf helm render prints wrong data when printf-like format strings used in the helm templates text.

Werf CI and tests

[ci] Documentation validation workflow: tiny improvements
[ci] Refresh site deployment workflow: remove unused events

[tests] Fix python_encoding_repo/yarn_repo not a git repository
Remove _repo suffixed dir before test. This dir may exist if previous tests has been killed for some reason.
[tests] Fix ‘find: unrecognized: -xtype’ in stapel_image/git tests: use ubuntu base image instead of alpine
[tests] Enable docs suite for macOS
[tests] Enable resources adopter tests
[tests] Disable a few git suite tests for windows

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.10
6.02.2020, 18:31 +0300

Isolate v1.0 and v1.1 cache for cleanup commands

werf purge, werf cleanup, werf stages purge, werf stages cleanup commands will delete images only by current build cache version.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.8
31.01.2020, 15:33 +0300

Speed up signatures calculation and stages invalidation phases

This release optimizes usage of git fsck command for the local repository: run only once for all images and artifacts instead of for each as before.

werf users could face this issue when having images and/or artifacts that used local git mappings.

During signatures calculation and stages invalidation phases werf uses commits that are stored in labels of existing stages images and validate them. The commit must not be unreachable to invalidate stages correctly and to prevent conflicts between parallel runs. We use git fsck command for getting an unreachable commit list. The command might take significant time for a large git repository.

Fix Docker on windows does not support mount with short filename

https://github.com/docker/for-win/issues/1560#issuecomment-577371228

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6
14.01.2020, 09:35 +0300

Stable 1.0 version

Werf is an Open Source GitOps CLI utility for building and delivering applications to Kubernetes. Werf supports building application images from Dockerfiles or via its custom advanced image builder (it has YAML syntax, supports Ansible as well as Git-based incremental rebuilding). For application delivery, it uses the Helm-compatible configuration format. Werf stores the application code, the configuration of compiled images, and the deployment configuration in the single Git repository.

The long-awaited stable release of werf 1.0 is a full-fledged basic version of the tool. In this version, werf supports the full life cycle for containerized applications. It includes building application images, deploying them to Kubernetes, deleting unused images.

Please note that in version 1.0, all operations (i.e. build, deploy, cleanup) for a single project must be performed on the same host. In other words, you have to use a constant worker in your CI system. At the same time, there are no restrictions on the parallelism of tasks: werf fully addresses this issue. You can also bind different projects to different workers.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6-ea.1
10.01.2020, 20:29 +0300

[docs] Website version menu updates

[docs] Removed telegram channel for English speaking users

The telegram channel for English speaking users could be misleading, and we decided to delete it.

It will be more convenient to communicate in one place - CNCF slack. Please join!

Badges were also updated.

More helm commands

  • werf helm ls

  • werf helm rm

  • werf helm rollback

  • werf helm history

  • werf helm get

Ci and tests

Werf ci and tests infrustructure changes

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6-rc.6
12.12.2019, 15:25 +0300

[deploy] Fix sts hangs on warning ‘POST operation against Pod could not be completed at this time’

Print sts warning only once in status progress table.

Other

Docs orthography fixes.

Installation

Linux amd64

Darwin amd64

Windows amd64

Для более глубокого тестирования новых возможностей

Версии этого канала обновлений предназначены для более глубокого тестирования новых возможностей. Мы не гарантируем обратную совместимость между версиями канала обновлений Beta.

v1.0.12
19.02.2020, 17:26 +0300

[1.0] Fixes related to the “Resource already exists” deploy error

  • fix “resource already exists” error on redeploy when new resource with an error has been added to the chart,
    refs https://github.com/flant/helm/pull/40
  • fix “resource already exists” error message when creating a helm.sh/hook that already exists,
    refs https://github.com/flant/helm/pull/41
  • do not allow resource adoption during initial release installation, fix error messages,
    refs https://github.com/flant/helm/pull/42

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.11
18.02.2020, 14:52 +0300

Docs

[docs] Fixed broken links. Links autotest.
[docs] Releases page refactoring. Added buttons to switch between maj.min versions and update channels.
[docs] Dropdown version menu on the sidebar shows version, grouped by maj.min
[docs] Updated footer. Fixed heart icon :)

Bugfixes

Fix werf helm render prints wrong data when printf-like format strings used in the helm templates text.

Werf CI and tests

[ci] Documentation validation workflow: tiny improvements
[ci] Refresh site deployment workflow: remove unused events

[tests] Fix python_encoding_repo/yarn_repo not a git repository
Remove _repo suffixed dir before test. This dir may exist if previous tests has been killed for some reason.
[tests] Fix ‘find: unrecognized: -xtype’ in stapel_image/git tests: use ubuntu base image instead of alpine
[tests] Enable docs suite for macOS
[tests] Enable resources adopter tests
[tests] Disable a few git suite tests for windows

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.10
4.02.2020, 11:03 +0300

Isolate v1.0 and v1.1 cache for cleanup commands

werf purge, werf cleanup, werf stages purge, werf stages cleanup commands will delete images only by current build cache version.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.9
3.02.2020, 21:46 +0300

Minor changes and fixes

  • Retry docker pull and push if timeout error has occurred.
  • Retry docker push when Client.Timeout exceeded while awaiting headers error occurred.
  • Rename werf helm ls command to werf helm list.
  • Fix werf.io/failures-allowed-per-replica does not affect Job tracking during deploy.
    fixes https://github.com/flant/werf/issues/2071
    refs https://github.com/flant/werf/pull/2072

Docs

  • Added two publications.
  • Code inspection, spell checking and site fixes.
  • Bump anchorjs version and fix its load. Adding HTML anchors on a page was too late and didn’t work in Chrome and some other browsers
  • Code inspection and spell checking.

Other

[tests] Refuse to get free TCP host port manually.
[tests] Own docker registry image without host volume.
[tests] Rename suites.
[tests] Add package name to temporary test project name.
[tests] Use flant/werf-test images in tests.
[tests] Fix git suite cleanup procedure after test.
[tests] Enable auto gc on macOS.
[ci] Fix repository_dispatch event for deploying site.
[ci] Add scripts to send repository dispatch events.
[ci] Retry docker login 5 times if error occurred.

Werf ci and tests changes.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.8
23.01.2020, 19:22 +0300

Speed up signatures calculation and stages invalidation phases

This release optimizes usage of git fsck command for the local repository: run only once for all images and artifacts instead of for each as before.

werf users could face this issue when having images and/or artifacts that used local git mappings.

During signatures calculation and stages invalidation phases werf uses commits that are stored in labels of existing stages images and validate them. The commit must not be unreachable to invalidate stages correctly and to prevent conflicts between parallel runs. We use git fsck command for getting an unreachable commit list. The command might take significant time for a large git repository.

Fix Docker on windows does not support mount with short filename

https://github.com/docker/for-win/issues/1560#issuecomment-577371228

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.7
22.01.2020, 20:04 +0300

Add werf host project list/purge commands

$ werf host project list  
NAME      	CREATED           	MODIFIED            
project1	5 seconds ago     	3 seconds ago       
project2	About a minute ago	About a minute ago  
project3	4 days ago              42 seconds ago  
$ werf host project purge project1 project2  

DISABLE_GIT_ARCHIVE_RESET_COMMIT

Tests, CI and documentation

  • improvements and fixes
  • new publications

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6
14.01.2020, 09:35 +0300

Stable 1.0 version

Werf is an Open Source GitOps CLI utility for building and delivering applications to Kubernetes. Werf supports building application images from Dockerfiles or via its custom advanced image builder (it has YAML syntax, supports Ansible as well as Git-based incremental rebuilding). For application delivery, it uses the Helm-compatible configuration format. Werf stores the application code, the configuration of compiled images, and the deployment configuration in the single Git repository.

The long-awaited stable release of werf 1.0 is a full-fledged basic version of the tool. In this version, werf supports the full life cycle for containerized applications. It includes building application images, deploying them to Kubernetes, deleting unused images.

Please note that in version 1.0, all operations (i.e. build, deploy, cleanup) for a single project must be performed on the same host. In other words, you have to use a constant worker in your CI system. At the same time, there are no restrictions on the parallelism of tasks: werf fully addresses this issue. You can also bind different projects to different workers.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6-ea.1
10.01.2020, 20:29 +0300

[docs] Website version menu updates

[docs] Removed telegram channel for English speaking users

The telegram channel for English speaking users could be misleading, and we decided to delete it.

It will be more convenient to communicate in one place - CNCF slack. Please join!

Badges were also updated.

More helm commands

  • werf helm ls

  • werf helm rm

  • werf helm rollback

  • werf helm history

  • werf helm get

Ci and tests

Werf ci and tests infrustructure changes

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6-rc.11
27.12.2019, 19:23 +0300

Docs and werf ci improvements

[docs] Assets generation improvement
[docs] Werf -> werf
[docs] Tiny fixes
[github actions] Run tests and review docs by specific labels
[docs] reviewed index.md, documentation.md, readme.md
[docs] Fixed incorrect markup in the Rock-solid channel description.
[docs] [review] updated ssh.md
[readme] Installation section
[readme_ru] Installation section
[docs] Backward Compatibility Promise
[docs] multiwerf use –as-file and stable channel
[docs] ./docs/regen.sh and tiny improvements
[docs] Use shell syntax highlighting everywhere

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6-rc.10
26.12.2019, 15:56 +0300

Small fixes

[cleanup] Fix ‘cannot get DaemonSets/ReplicaSets images: the server could not find the requested resource’

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6-rc.7
20.12.2019, 15:04 +0300

Docs and site

  • improvements and fixes;
  • new releases page.

Other

  • Fix EDITOR with args.
  • Multiple werf processes now uses locks under windows.
  • Fix slug max size check.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6-rc.6
12.12.2019, 15:25 +0300

[deploy] Fix sts hangs on warning ‘POST operation against Pod could not be completed at this time’

Print sts warning only once in status progress table.

Other

Docs orthography fixes.

Installation

Linux amd64

Darwin amd64

Windows amd64

Наименее стабильный канал обновлений

Версии этого канала обновлений могут содержать новые возможности, а также быть нестабильными, иметь ошибки. Мы не гарантируем обратную совместимость между версиями канала обновлений Alpha.

v1.0.12
19.02.2020, 17:26 +0300

[1.0] Fixes related to the “Resource already exists” deploy error

  • fix “resource already exists” error on redeploy when new resource with an error has been added to the chart,
    refs https://github.com/flant/helm/pull/40
  • fix “resource already exists” error message when creating a helm.sh/hook that already exists,
    refs https://github.com/flant/helm/pull/41
  • do not allow resource adoption during initial release installation, fix error messages,
    refs https://github.com/flant/helm/pull/42

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.11
17.02.2020, 14:45 +0300

Docs

[docs] Fixed broken links. Links autotest.
[docs] Releases page refactoring. Added buttons to switch between maj.min versions and update channels.
[docs] Dropdown version menu on the sidebar shows version, grouped by maj.min
[docs] Updated footer. Fixed heart icon :)

Bugfixes

Fix werf helm render prints wrong data when printf-like format strings used in the helm templates text.

Werf CI and tests

[ci] Documentation validation workflow: tiny improvements
[ci] Refresh site deployment workflow: remove unused events

[tests] Fix python_encoding_repo/yarn_repo not a git repository
Remove _repo suffixed dir before test. This dir may exist if previous tests has been killed for some reason.
[tests] Fix ‘find: unrecognized: -xtype’ in stapel_image/git tests: use ubuntu base image instead of alpine
[tests] Enable docs suite for macOS
[tests] Enable resources adopter tests
[tests] Disable a few git suite tests for windows

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.10
3.02.2020, 21:46 +0300

Isolate v1.0 and v1.1 cache for cleanup commands

werf purge, werf cleanup, werf stages purge, werf stages cleanup commands will delete images only by current build cache version.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.9
31.01.2020, 17:57 +0300

Minor changes and fixes

  • Retry docker pull and push if timeout error has occurred.
  • Retry docker push when Client.Timeout exceeded while awaiting headers error occurred.
  • Rename werf helm ls command to werf helm list.
  • Fix werf.io/failures-allowed-per-replica does not affect Job tracking during deploy.
    fixes https://github.com/flant/werf/issues/2071
    refs https://github.com/flant/werf/pull/2072

Docs

  • Added two publications.
  • Code inspection, spell checking and site fixes.
  • Bump anchorjs version and fix its load. Adding HTML anchors on a page was too late and didn’t work in Chrome and some other browsers
  • Code inspection and spell checking.

Other

[tests] Refuse to get free TCP host port manually.
[tests] Own docker registry image without host volume.
[tests] Rename suites.
[tests] Add package name to temporary test project name.
[tests] Use flant/werf-test images in tests.
[tests] Fix git suite cleanup procedure after test.
[tests] Enable auto gc on macOS.
[ci] Fix repository_dispatch event for deploying site.
[ci] Add scripts to send repository dispatch events.
[ci] Retry docker login 5 times if error occurred.

Werf ci and tests changes.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.8
23.01.2020, 19:22 +0300

Speed up signatures calculation and stages invalidation phases

This release optimizes usage of git fsck command for the local repository: run only once for all images and artifacts instead of for each as before.

werf users could face this issue when having images and/or artifacts that used local git mappings.

During signatures calculation and stages invalidation phases werf uses commits that are stored in labels of existing stages images and validate them. The commit must not be unreachable to invalidate stages correctly and to prevent conflicts between parallel runs. We use git fsck command for getting an unreachable commit list. The command might take significant time for a large git repository.

Fix Docker on windows does not support mount with short filename

https://github.com/docker/for-win/issues/1560#issuecomment-577371228

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.7
22.01.2020, 20:04 +0300

Add werf host project list/purge commands

$ werf host project list  
NAME      	CREATED           	MODIFIED            
project1	5 seconds ago     	3 seconds ago       
project2	About a minute ago	About a minute ago  
project3	4 days ago              42 seconds ago  
$ werf host project purge project1 project2  

DISABLE_GIT_ARCHIVE_RESET_COMMIT

Tests, CI and documentation

  • improvements and fixes
  • new publications

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6
14.01.2020, 09:35 +0300

Stable 1.0 version

Werf is an Open Source GitOps CLI utility for building and delivering applications to Kubernetes. Werf supports building application images from Dockerfiles or via its custom advanced image builder (it has YAML syntax, supports Ansible as well as Git-based incremental rebuilding). For application delivery, it uses the Helm-compatible configuration format. Werf stores the application code, the configuration of compiled images, and the deployment configuration in the single Git repository.

The long-awaited stable release of werf 1.0 is a full-fledged basic version of the tool. In this version, werf supports the full life cycle for containerized applications. It includes building application images, deploying them to Kubernetes, deleting unused images.

Please note that in version 1.0, all operations (i.e. build, deploy, cleanup) for a single project must be performed on the same host. In other words, you have to use a constant worker in your CI system. At the same time, there are no restrictions on the parallelism of tasks: werf fully addresses this issue. You can also bind different projects to different workers.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6-ea.1
10.01.2020, 20:29 +0300

[docs] Website version menu updates

[docs] Removed telegram channel for English speaking users

The telegram channel for English speaking users could be misleading, and we decided to delete it.

It will be more convenient to communicate in one place - CNCF slack. Please join!

Badges were also updated.

More helm commands

  • werf helm ls

  • werf helm rm

  • werf helm rollback

  • werf helm history

  • werf helm get

Ci and tests

Werf ci and tests infrustructure changes

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6-rc.11
27.12.2019, 19:23 +0300

Docs and werf ci improvements

[docs] Assets generation improvement
[docs] Werf -> werf
[docs] Tiny fixes
[github actions] Run tests and review docs by specific labels
[docs] reviewed index.md, documentation.md, readme.md
[docs] Fixed incorrect markup in the Rock-solid channel description.
[docs] [review] updated ssh.md
[readme] Installation section
[readme_ru] Installation section
[docs] Backward Compatibility Promise
[docs] multiwerf use –as-file and stable channel
[docs] ./docs/regen.sh and tiny improvements
[docs] Use shell syntax highlighting everywhere

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6-rc.10
26.12.2019, 15:56 +0300

Small fixes

[cleanup] Fix ‘cannot get DaemonSets/ReplicaSets images: the server could not find the requested resource’

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6-rc.7
20.12.2019, 15:04 +0300

Docs and site

  • improvements and fixes;
  • new releases page.

Other

  • Fix EDITOR with args.
  • Multiple werf processes now uses locks under windows.
  • Fix slug max size check.

Installation

Linux amd64

Darwin amd64

Windows amd64

v1.0.6-rc.6
12.12.2019, 15:25 +0300

[deploy] Fix sts hangs on warning ‘POST operation against Pod could not be completed at this time’

Print sts warning only once in status progress table.

Other

Docs orthography fixes.

Installation

Linux amd64

Darwin amd64

Windows amd64