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.2-alpha.9

Published by flant-team-sysdev over 5 years ago

[docs] Reject dev data
[docs] Footer
[docs] Update sidebars format
[docs] Reference/Registry/Image naming
[docs] Reference/Build/Stages and Images
[docs] Support tab groups on one page
[docs] Update werf.conf examples
[docs] Reference/Registry/Cleaning
[docs] Grammar nazi
[docs] Mobile scale fix
[docs] Favicon & tiny text fixes

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.1-beta.8

Published by flant-team-sysdev over 5 years ago

New site

  • favicon & tiny text fixes
  • mobile scale fix

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.1-beta.7

Published by flant-team-sysdev over 5 years ago

New design

  • navigation
  • breadcrumbs
  • new markup
  • key navigation pages
  • search using google

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.2-alpha.7

Published by flant-team-sysdev over 5 years ago

New design

  • navigation
  • breadcrumbs
  • new markup
  • key navigation pages
  • search using google

[docs] Reference/Registry/Publish
[docs] Reject stages cache term
[docs] Reference/Registry/Image naming
[docs] Reference/Registry/Authorization
[docs] Reference/Build/stages_introspection and assembly_instructions: Updates


[logging] Improve deploy commands
[logging] Deploy debug info block
[logging] Add SuccessInfoSectionFunc in publish
[logging] Improve dismiss
[go.mod] Update logboek
[logging] Deploy summary block
[logging] Improve pre-deploy
[logging] Reject helm install/upgrade/rollback result message


[dismiss] Wait for release namespace deletion


[lint] Check werf annotations

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.2-alpha.4

Published by flant-team-sysdev over 5 years ago

Solve issue with parallel builds: werv gives 'stage should be built' error

Improved locks logic. Locks acquired on the signatures phase and released on the renew and build phases.

Some fixes

  • [deploy] Needless initialization of helm and kube in most deploy commands
  • [build] Fix number of shell builder commands is limited

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.1-beta.6

Published by flant-team-sysdev over 5 years ago

Solve issue with parallel builds: werf gives 'stage should be built' error

Improved locks logic. Locks acquired on the signatures phase and released on the renew and build phases.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.2-alpha.3

Published by flant-team-sysdev over 5 years ago

Docs fixes and improvements

  • Reference/Build/Imports: Up
  • Reference/Build/Base Image: fromLatest directive
  • Reference/Build/Naming: Up
  • Reference/Build/Adding docker instructions: Up
  • Reference/Build/Mount: Up
  • Reference/Build/Imports: Up
  • Howto/Using mounts: Updates (#1515)

Enable werf.io/* deploy modes annotations

werf.io/track=true(default)|false to enable/disable tracking of the resource.

werf.io/fail-mode=IgnoreAndContinueDeployProcess|FailWholeDeployProcessImmediately(default)|HopeUntilEndOfDeployProcess to set fail mode for this resource tracker.

werf.io/allow-failures-count=1(default)|N to set allowed failures for this resource tracker.

werf.io/log-watch-regex=GO_REGEX to show only log lines that match provided regex.

werf.io/log-watch-regex-for-CONTAINER_NAME to show only log lines of the container that match provided regex. werf.io/log-watch-regex-for disables werf.io/log-watch-regex for the specified container.

werf.io/show-logs-only-for-containers=NAME1,NAME2,... to show logs only for the specified containers of the resource.

werf.io/skip-logs-for-containers=NAME1,NAME2,... to dismiss logs of the specified containers of the resource.

Improved status report for Deployment

Show awaiting ready conditions, show progressing status, show pods errors.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.2-alpha.2

Published by flant-team-sysdev over 5 years ago

Enable werf.io/track=false annotation for helm hooks (Job only for now)

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.2-alpha.1

Published by flant-team-sysdev over 5 years ago

Fixes and small changes

[dismiss] Delete helm release hooks getting from available revisions

[rotate-secret-key] Fix /.helm/secret: no such file or directory

Update werf secret key description

  • rename ~/.werf/.werf_secret_key to ~/.werf/global_secret_key

[doc] Removed helm

  • Helm installation was removed from documentation.
  • Index page was refactored.

Fix GCP kubernetes auth provider.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.1-beta.5

Published by flant-team-sysdev over 5 years ago

Fix git split-brain running werf in parallel

Check unreachable git commits in local git clone copy.

Unreachable commit that exists locally should be treated as non existing commit.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.1-beta.4

Published by flant-team-sysdev over 5 years ago

Fix slugify crop logic

Fix slugged helm release name does not fit into chars limit.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.2-alpha.0

Published by flant-team-sysdev over 5 years ago

Built-it Helm and Tiller!

Werf performs helm release install/update operations by itself. No helm binary, nor tiller deployment installed needed to deploy applications.

Compatible with existing installations of helm:

  • Werf will use default tiller storage: configmaps in namespace 'kube-system'.
  • If you use non-default tiller storage, then werf should be configured with options: --helm-release-storage-namespace=NS or default tiller env variable TILLER_NAMESPACE, --helm-release-storage-type=configmap|secret.

Fix helm 'No resource with NAME found' bug!

Werf automatically uses tiller with option --cleanup-on-fail, which should fix the issue together with automatical rollbacks for failed releases.

Track all release resources at the same till ready

Werf uses new version of kubedog to track multiple resources at the same time — so called multitrack.

During multitrack werf gives periodical status-reports with brief explanation of resources statuses and needed conditions for resouces to become ready.

Automatically add labels and annotations

project.werf.io/gitlab-url=CI_PROJECT_URL annotation will be automatically added to all resouces of the chart.

--add-annotation X --add-annotation Y --add-label X --add-label Y ... options can be used to specify additional resources annotations and labels (also can be specified with env-variables WERF_ADD_ANNOTATION_X=X, WERF_ADD_LABEL_Y=Y, see docs for more info).

fromLatest: true feature

Improve from stage logic

  • check base image registry id before pulling
  • implement fromLatest directive
    • fromLatest: true
    • from stage depends on base image id
    • base image registry must be available

By default werf will pull image specified in the from directive only when building stage called from. With the fromLatest directive werf will pull base image on every werf build invocation:

from: myimage:latest
fromLatest: true

Helm lint and render improvements

  • [lint] Ignore generated Chart.yaml engine
  • [lint] Ignore Chart.yaml icon validation
  • [run] Use single image if imageName is not specified

Bugfixes and minor changes

  • Fix recent panics in deploy.
  • [cleaning] Improve cleaning commands
    • add --force option to all purge commands
    • add --force option tip in processUsedImages error
    • host purge --force to force deletion of user containers, that use werf images.
  • [deploy] Required secret encryption key.
  • [deploy] Reorganize some commands.
    • meta/get-helm-release -> helm/get-helm-release
    • meta/get-helm-namespace -> helm/get-helm-namespace
    • helm/get-service-values -> helm/get-autogenerated-values
  • Fix images cleanup in non-git project.
  • Fix slugify crop logic.
  • [deploy] Do not wait for resources when run rollback-before-deploy.
  • Improve logging.
  • [deploy] Improve auto purge release logic
    • handle DELETING release status code

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.1-beta.3

Published by flant-team-sysdev over 5 years ago

Fix helm rollback on errors

  1. Do not track resources after running helm-rollback on failed release: no need to track.
  2. Workaround for new helm bug: rollback failed release to successful N times (first try fails due to internal helm bug).

Fix kubedog tracking panics

Fix panic when accessing knownReplicaSets map from multiple goroutines

fatal error: concurrent map iteration and map write

goroutine 843 [running]:
runtime.throw(0x19f0f60, 0x26)
	/usr/local/go/src/runtime/panic.go:608 +0x72 fp=0xc00139daf0 sp=0xc00139dac0 pc=0x42d2d2
runtime.mapiternext(0xc00139dbe0)
	/usr/local/go/src/runtime/map.go:790 +0x525 fp=0xc00139db78 sp=0xc00139daf0 pc=0x410925
github.com/flant/kubedog/pkg/utils.IsReplicaSetNew(0xc002360900, 0xc00097aa20, 0xc00083be20, 0x11, 0xc0005bda01, 0x0, 0x0)
	/home/distorhead/go/src/github.com/flant/kubedog/pkg/utils/deployment_utils.go:171 +0xa8 fp=0xc00139dc50 sp=0xc00139db78 pc=0xfee718
github.com/flant/kubedog/pkg/tracker.(*DeploymentTracker).runPodTracker.func2(0xc000ab77a0, 0xc0005d9dc0, 0xc00083be20, 0x11, 0xc000afd380, 0xc000afd3e0)
	/home/distorhead/go/src/github.com/flant/kubedog/pkg/tracker/deployment.go:510 +0x649 fp=0xc00139dfb0 sp=0xc00139dc50 pc=0x11e1969

---
Fix 'concurrent map iteration and map write'

goroutine 453 [running]:
runtime.throw(0x2b3e301, 0x26)
        /usr/local/go/src/runtime/panic.go:608 +0x72 fp=0xc0007566b8 sp=0xc000756688 pc=0xea72e2
runtime.mapiternext(0xc0007567d8)
        /usr/local/go/src/runtime/map.go:790 +0x525 fp=0xc000756740 sp=0xc0007566b8 pc=0xe8a7a5
runtime.mapiterinit(0x27e46c0, 0xc0009979e0, 0xc0007567d8)
        /usr/local/go/src/runtime/map.go:780 +0x1c4 fp=0xc000756760 sp=0xc000756740 pc=0xe8a184
github.com/flant/kubedog/pkg/tracker/deployment.NewDeploymentStatus(0x2, 0x600000006, 0x600000006, 0x0, 0xc0007c9880, 0x2, 0x2, 0x0, 0xc0009979e0, 0x0, ...)
        /home/distorhead/go/pkg/mod/github.com/flant/[email protected]/pkg/tracker/deployment/tracker.go:36 +0x106 fp=0xc0007569c8 sp=0xc000756760 pc=0x2531576
github.com/flant/kubedog/pkg/tracker/deployment.(*Tracker).runPodTracker.func2(0xc002682d80, 0xc0025c8380, 0xc000a98380, 0x14, 0xc00272b080, 0xc00272b0e0)
...

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.1-beta.2

Published by flant-team-sysdev over 5 years ago

Fix ansible forces service PYTHONPATH for user instructions

Custom PYTHONPATH results in the following errors in user instructions:

│ │ │ ~/install  ┌ shell 'pipenv install' [export LC_ALL=C.UTF-8 export LANG=C.UTF-8 pipenv install]
│ │ │ ~/install  │ Installing dependencies from Pipfile.lock (07333a)…
│ │ │ ~/install  │ Exception ignored in: <bound method IsAnsiballZ.__del__ of <sitecustomize.IsAnsiballZ object at 0x7ff11979b7f0>>
│ │ │ ~/install  │ Traceback (most recent call last):
│ │ │ ~/install  │   File "/.werf/ansible-workdir/lib/sitecustomize.py", line 25, in __del__
│ │ │ ~/install  │     mock_subprocess_Popen_in_low_level_execute()
│ │ │ ~/install  │   File "/.werf/ansible-workdir/lib/sitecustomize.py", line 49, in mock_subprocess_Popen_in_low_level_execute
│ │ │ ~/install  │     from ansible.plugins.action import ActionBase
│ │ │ ~/install  │ ModuleNotFoundError: No module named 'ansible'

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.1-beta.1

Published by flant-team-sysdev over 5 years ago

v1.0.1 alpha becomes new beta!

This is update for beta channel:

  • v1.0.0-beta.18 will be autoupdated to v1.0.1-beta.1;
  • v1.0.1-beta.1 is the same as v1.0.1-alpha.5 + some additional fixes (see below).

Additional fixes

[build] Fix "Permission denied" during import copying

  • ignore docker image user and workdir

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.1-alpha.5

Published by flant-team-sysdev over 5 years ago

Cleanup config ~/.werf/config/cleanup.yaml to configure tagging strategy images limits and expiry days

Same release as v1.0.0-beta.18, but for alpha v1.0.1-alpha.5.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - Werf v1.0.0-beta.18

Published by flant-team-sysdev over 5 years ago

Cleanup config ~/.werf/config/cleanup.yaml to configure tagging strategy images limits and expiry days

Installation

Linux amd64

Darwin amd64

Windows amd64