werf

A solution for implementing efficient and consistent software delivery to Kubernetes facilitating best practices.

APACHE-2.0 License

Stars
4.2K
Committers
64

Bot releases are hidden (Show)

werf - Werf v1.0.4-beta.15

Published by flant-team-sysdev almost 5 years ago

Revert new changes introduced in v1.0.4-beta.14 (three way merge and helm update to v2.15.2)

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.4-beta.14

Published by flant-team-sysdev almost 5 years ago

Three way merge and resources adoption

Update option to use 3 way merge patch, ability to adopt existing resources.

Documentaion is available at the page: https://werf.io/documentation/reference/deploy_process/resources_update_methods_and_adoption.html

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.5-alpha.13

Published by flant-team-sysdev almost 5 years ago

Docs

[docs] Describe werf resources manifests validation (NEW)
[docs] Resources update methods and adoption info (NEW)
[docs] Refactor differences with helm page
[docs] Fix broken auto-generated markup

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.4-beta.13

Published by flant-team-sysdev almost 5 years ago

Backport docs to v1.0.4

[docs] Publications: add articles about --images-repo-mode
[docs] Fix example of copying file with ansible
[docs] Up auto annotations docs
[docs] Update Gemfile to fix rubyzip vulnerability
[docs] Publications: add articles about chart dependencies
[docs] Reference/Build process: add section
How stapel builder processes CMD and ENTRYPOINT
[docs] Actualize Deployment manifests
[docs] Fix minikube setup guide: docker registry proxy not worked anymore
[docs] Deploy process/Differences with Helm: refactor
[docs] Add publication https://habr.com/ru/company/flant/blog/469541/
[docs] Configuration/Adding docker instructions: upd
[docs] Add publication https://medium.com/flant-com/building-and-deploying-lots-of-microservices-using-werf-and-gitlab-ci-3ce2b7d19450
[docs] Add publication https://medium.com/flant-com/rewriting-your-app-to-golang-2839e8920ace
[docs] Configuration/Adding source code from git repositories: upd
[docs] Fix broken auto-generated markup

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.5-alpha.12

Published by flant-team-sysdev almost 5 years ago

Introducing deploy updates using 3-way-merge patches

Three-way-merge modes:

  • disabled;
  • onlyNewReleases;
  • enabled.

By default 3wm is disabled.

Starting with 15.11.2019 werf will use onlyNewReleases 3wm mode (3 way merge will be used only for new releases).
Starting with 05.12.2019 werf will use enabled 3wm mode (for old and new releases).
To set 3wm use env var WERF_THREE_WAY_MERGE_MODE=disabled|enabled|onlyNewReleases (or --three-way-merge-mode cli option). More docs will be available soon.

Introducing resources adoption during deploy

It is forbidden to describe a resource in the chart that already exists in the cluster by default.

To adopt already existing resource set annotation werf.io/allow-adoption-by-release=RELEASENAME to the resource in the chart template and deploy this chart with werf.

Werf CI (github actions) and tests

[ci] Cache integration tests tools
[ci] Update Github Actions workflow
[ci] Cache go modules and test tools

[tests] Test simple repair-patch cases
[tests] Integration Guides Suite: go tests
[tests] Integration Cleanup Suite: go tests
[tests] Deploy tracking tests
[tests] Integration Build/Stapel Image/Git Suite

Fixes, docs and other

[ansible] Fix error: 'LiveStdoutListener' object has no attribute '_reader'
(refs https://github.com/flant/werf/issues/1713)

[git] Refactor remote git repo clone path; fix 'invalid cross-device link' error
(fixes https://github.com/flant/werf/issues/1038)

[stages purge] Remove containers that use werf images with force option
[images cleanup] Support env variable for '--without-kube' option

Override project name with $WERF_PROJECT_NAME variable.

[docs] Configuration/Adding docker instructions: upd
[docs] Add publication https://medium.com/flant-com/building-and-deploying-lots-of-microservices-using-werf-and-gitlab-ci-3ce2b7d1
9450
[docs] Add publication https://medium.com/flant-com/rewriting-your-app-to-golang-2839e8920ace
[docs] Configuration/Adding source code from git repositories: upd

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.4-beta.12

Published by flant-team-sysdev about 5 years ago

[3-way-merge] Fix false-positive repair-patches (part 2)

  • Manually cut out repair patch fields: $setElementsOrder, $retainKeys, spec.strategy.rollingUpdate=null.
  • Validate chart templates, write log warnings, add object annotation debug.werf.io/validation-messages.
  • Improved repair-patch creation to filter out invalid non-existing fields defined in the chart template.

Other fixes

[stapel builder] Fix mount arbitrary file using mount[].fromPath
[docs] Fix minikube setup guide: docker registry proxy not worked anymore

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.5-alpha.11

Published by flant-team-sysdev about 5 years ago

[3-way-merge] Fix false-positive repair-patches (part 2)

  • Manually cut out repair patch fields: $setElementsOrder, $retainKeys, spec.strategy.rollingUpdate=null.
  • Validate chart templates, write log warnings, add object annotation debug.werf.io/validation-messages.
  • Improved repair-patch creation to filter out invalid non-existing fields defined in the chart template.

Other fixes

[stapel builder] Fix mount arbitrary file using mount[].fromPath
[docs] Fix minikube setup guide: docker registry proxy not worked anymore

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.5-alpha.10

Published by flant-team-sysdev about 5 years ago

Fix bugs introduced by ansible update

[stapel] Fix 'APTPKG_5.0 not defined in file libapt-pkg.so.5.0 with link time reference'

https://github.com/flant/werf/issues/1820

Tests

[github actions] Run integration tests on 1.11-1.16 k8s clusters
Guides/Deploy into kubernetes: Actualize

Docs

Actualize Deployment manifests (apps/v1 instead of apps/v1beta1)

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.4-beta.11

Published by flant-team-sysdev about 5 years ago

werf - Werf v1.0.5-alpha.9

Published by flant-team-sysdev about 5 years ago

Fix introduced bugs

'Argument list too long error'

Docs

[3-way-merge] Describe werf.io/set-resources-only-on-creation and werf.io/set-replicas-only-on-creation

https://werf.io/documentation/reference/deploy_process/experimental_three_way_merge.html#deal-with-hpa
https://werf.io/documentation/reference/deploy_process/experimental_three_way_merge.html#deal-with-vpa

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.4-beta.10

Published by flant-team-sysdev about 5 years ago

[3-way-merge] Create two pass 3wm repair patch: fix false-positive repair patches

Enable new repair patches to fix old false positive patches.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.5-alpha.8

Published by flant-team-sysdev about 5 years ago

Fix PATH redefined in stapel container builder

https://github.com/flant/werf/issues/1836

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.5-alpha.7

Published by flant-team-sysdev about 5 years ago

Fixes

[3-way-merge] Fix panic: interface conversion: interface {} is nil, not []interface {}
https://github.com/flant/helm/pull/22

Tests

[tests] Git stages and images cleanup/purge

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.5-alpha.6

Published by flant-team-sysdev about 5 years ago

Fix repair-patch panic: interface conversion: interface {} is float64, not string

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.4-beta.9

Published by flant-team-sysdev about 5 years ago

Revert breaking changes of v1.0.4-beta.8

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.5-alpha.5

Published by flant-team-sysdev about 5 years ago

Fix repair-patch false positives

  • Create two-pass patch as follows: current object => apply 2 way merge helm patch => create 3 way merge first stage repair patch => apply first stage repair patch => create actual repair patch.
  • Filter out unnecessary fields during patch creation (such as volumeClaimTemplates, empty container/env values).
  • Normalize numeric limits and (100Gi, 1000m, etc.).
  • Ignore resource *.resources and *.replicas fields optionally.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.4-beta.8

Published by flant-team-sysdev about 5 years ago

Fix repair-patch false positives

  • Create two-pass patch as follows: current object => apply 2 way merge helm patch => create 3 way merge first stage repair patch => apply first stage repair patch => create actual repair patch.
  • Filter out unnecessary fields during patch creation (such as volumeClaimTemplates, empty container/env values).
  • Normalize numeric limits and (100Gi, 1000m, etc.).
  • Ignore resource *.resources and *.replicas fields optionally.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.5-alpha.4

Published by flant-team-sysdev about 5 years ago

Fix '/.werf/ansible-workdir/lib/werf/.logboek.so: cannot open shared: no such file'

Old LOGBOEK_SO_PATH=/.werf/ansible-workdir/lib/werf/.logboek.so variable has been defined in the cached image layers.

The new default logboek.so location is: /.werf/stapel/embedded/lib/python2.7/_logboek.so.

So force setting of LOGBOEK_SO_PATH to /.werf/stapel/embedded/lib/python2.7/_logboek.so for compatibility with old stages cache.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.5-alpha.3

Published by flant-team-sysdev about 5 years ago

Github Actions CI/CD for werf project

https://github.com/flant/werf/actions
Example workflow: https://github.com/flant/werf/runs/253425591

Codeclimate tests coverage report: https://codeclimate.com/github/flant/werf (33% at the moment).

More fixes and improvements

[deploy] Fix printStatus panic
[deploy] Hide secret values in error
[docs] Reference/Build process: add section

[stapel builder] Fix werf removes user's empty directories during adding patch with binary

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.5-alpha.2

Published by flant-team-sysdev about 5 years ago

Integration tests

Integration tests with code coverage and CI/CD for werf project.

New stapel image

Ansible updated to v2.8.5.

Unzip, unarchive, gpg, user, group modules problems fixed.

Replace module is enabled.

Problem with UTF8 chars in python scripts running from ansible fixed.

Not fixed yet problems:

Fixes and small improvements

[git-worktree] Revert fast git worktree switch procedure till issue https://github.com/flant/werf/issues/1825 is fixed.

[docs] Publications: add articles about chart dependencies
[docs] Reference/Working with secrets: up
[docs] Up auto annotations docs

[dockerfile] Fix BuildKit RUN --mount flag does not work

[stapel image] Fix empty ENTRYPOINT processing for UCP

  • support old and new reset ENTRYPOINT value formats for CE and EE Docker Engine
  • use new one for other solutions from docker (e.g. UCP)
    [stapel image] Fix bash: -H: command not found

[insecure docker registry] Fix http: server gave HTTP response to HTTPS client

Installation

Linux amd64

Darwin amd64

Windows amd64