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.2.0-alpha4

Published by flant-team-sysdev about 4 years ago

Fixes

  • Fix GitLab Container Registry delete method selection.
  • Fix system ssh agent forwarding on macOS.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.0-alpha3

Published by flant-team-sysdev about 4 years ago

Doc fixes release

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.0-alpha2

Published by flant-team-sysdev about 4 years ago

New

  • [get_autogenerated_values] Print service values with actual or stub tags.
  • [run] werf run command launches image building if needed
  • Fix default namespace and helm-release name templates and default environment
    • use explicitly set environment from werf.yaml if present;
    • when --env not set then use [[ project ]] template by default for both namespace and release;
    • when --env is set then use [[ project ]]-[[ env ]] template by default for both namespace and release.
  • werf_container_image template change
    • rename to werf_image and change output format to just print docker-image name with tag;
    • add stubbed support for the werf helm template command.

Fixes

  • Fix helm releases created in the default namespace always.
  • Update werf/helm: fix manifest corrupted by Helm when |- is used in the end of the template.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.0-alpha1

Published by flant-team-sysdev about 4 years ago

First alpha of v1.2

Changed cli interface.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.22+fix26

Published by flant-team-sysdev about 4 years ago

Fixes

commit c4d8ccd9dcd8335493dbabd692d8d115841cab5e (HEAD -> master, origin/master, origin/HEAD)
Merge: d74ae250f a72139b32
Author: Timofey Kirillov [email protected]
Date: Wed Sep 23 14:37:54 2020 +0300

Merge pull request #2698 from werf/dismiss

[helm-v3] Helm-v3 support for werf-dismiss command

commit a72139b3231926b9bf0e21fec15b7b4745ddb533 (origin/dismiss, dismiss)
Author: Timofey Kirillov [email protected]
Date: Mon Sep 21 20:19:12 2020 +0300

[helm-v3] Helm-v3 support for werf-dismiss command

commit d74ae250f81f9687439c54301206cb9f47ab234c
Merge: 80ba58ce9 c8a62aef9
Author: Timofey Kirillov [email protected]
Date: Tue Sep 22 19:40:33 2020 +0300

Merge pull request #2697 from werf/cleanup_fix_runtime_error

[cleanup] Fix runtime error when MANIFEST_UNKNOWN occurs

commit 80ba58ce9a0223adec34aaf9bc964fb18a4fa717
Merge: eb77f0bff ec0bde19c
Author: Timofey Kirillov [email protected]
Date: Tue Sep 22 19:40:00 2020 +0300

Merge pull request #2696 from werf/cleanup_tests_disable_parallel_for_quay

[tests] Cleanup Suite: disable parallel for quay tests

commit eb77f0bffdb982a71ec7358a39ce77141eb95599
Merge: 5615d25b9 75bd2adf5
Author: Timofey Kirillov [email protected]
Date: Tue Sep 22 19:39:34 2020 +0300

Merge pull request #2695 from werf/cleanup_default_parallel_tasks_limit

[cleanup] Increase default parallel tasks limit to 10

commit ec0bde19cafb751b91b5b0bd02e7083c83f844b9 (origin/cleanup_tests_disable_parallel_for_quay)
Author: Alexey Igrychev [email protected]
Date: Mon Sep 21 11:22:00 2020 +0100

[tests] Cleanup Suite: disable parallel for quay tests

commit c4d8ccd9dcd8335493dbabd692d8d115841cab5e (HEAD -> master, origin/master, origin/HEAD)
Merge: d74ae250f a72139b32
Author: Timofey Kirillov [email protected]
Date: Wed Sep 23 14:37:54 2020 +0300

Merge pull request #2698 from werf/dismiss

[helm-v3] Helm-v3 support for werf-dismiss command

commit a72139b3231926b9bf0e21fec15b7b4745ddb533 (origin/dismiss, dismiss)
Author: Timofey Kirillov [email protected]
Date: Mon Sep 21 20:19:12 2020 +0300

[helm-v3] Helm-v3 support for werf-dismiss command

commit d74ae250f81f9687439c54301206cb9f47ab234c
Merge: 80ba58ce9 c8a62aef9
Author: Timofey Kirillov [email protected]
Date: Tue Sep 22 19:40:33 2020 +0300

Merge pull request #2697 from werf/cleanup_fix_runtime_error

[cleanup] Fix runtime error when MANIFEST_UNKNOWN occurs

commit 80ba58ce9a0223adec34aaf9bc964fb18a4fa717
Merge: eb77f0bff ec0bde19c
Author: Timofey Kirillov [email protected]
Date: Tue Sep 22 19:40:00 2020 +0300

Merge pull request #2696 from werf/cleanup_tests_disable_parallel_for_quay

[tests] Cleanup Suite: disable parallel for quay tests

commit eb77f0bffdb982a71ec7358a39ce77141eb95599
Merge: 5615d25b9 75bd2adf5
Author: Timofey Kirillov [email protected]
Date: Tue Sep 22 19:39:34 2020 +0300

Merge pull request #2695 from werf/cleanup_default_parallel_tasks_limit

[cleanup] Increase default parallel tasks limit to 10

commit ec0bde19cafb751b91b5b0bd02e7083c83f844b9 (origin/cleanup_tests_disable_parallel_for_quay)
Author: Alexey Igrychev [email protected]
Date: Mon Sep 21 11:22:00 2020 +0100

[tests] Cleanup Suite: disable parallel for quay tests

commit c8a62aef9e817b1b1904d0d22d917a4dd5c2c1ab (origin/cleanup_fix_runtime_error)
Author: Alexey Igrychev [email protected]
Date: Mon Sep 21 11:30:34 2020 +0100

[cleanup] Fix runtime error when MANIFEST_UNKNOWN occurs

commit b4b4d3e2d01fffb0e89f81a2274800e5393d41d4
Author: Alexey Igrychev [email protected]
Date: Mon Sep 21 11:19:20 2020 +0100

[cleanup] Fix typo

commit 75bd2adf588ec972428d747f5a6ea6f395010a7a (origin/cleanup_default_parallel_tasks_limit)
Author: Alexey Igrychev [email protected]
Date: Mon Sep 21 11:15:46 2020 +0100

[cleanup] Increase default parallel tasks limit to 10

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.22+fix25

Published by flant-team-sysdev about 4 years ago

More helm-v3

  • [helm-v3] Added auto-rollback and timeout params for werf-deploy command, fixed 'has no deployed releases' error when initial install has failed during waiting for resources readiness.
  • [helm-v3] Added missed --log-* and --set-files flags.
    • Also print all persistent flags in help messages (fixed werf help template).

Other

  • [logging] Print main time prefix with parallel task time prefix

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.22+fix24

Published by flant-team-sysdev about 4 years ago

Parallelize operations with docker registry

  • parallel read/delete stages from stages-storage operations;
  • parallel read/delete images info from images-repo operations;
  • image metadata cache;
  • add --parallel and --parallel-tasks-limit options for cleanup (by default, parallelization is enabled and tasks limit is 5).

Other fixes

  • Do not lock cleanup process by images-repo.
  • Push image with retries when specific errors occur.
    • http2: server sent GOAWAY and closed the connection
    • http2: Transport received Server's graceful shutdown GOAWAY
    • REDACTED: UNKNOWN

Helm-v3 support

Add support for werf helpers templates (werf_container_image, werf_container_env) and service values for werf-deploy command when WERF_DEPLOY_HELM_V3=1 is set.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.21+fix30

Published by flant-team-sysdev about 4 years ago

Fixes

  • [dockerfile] Fix "panic: interface conversion" while discarding newly built image.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.22+fix23

Published by flant-team-sysdev about 4 years ago

Fixes and docs

  • [dockerfile] Fix "panic: interface conversion" while discarding newly built image.
  • [docs] a hyphen for low-level.

Git-history based cleanup

  • [cleanup] Git history-based algorithm: fix keep policies with many references might work too slow.
  • [logging] Stages cleanup: print skipped stages by ignore period policy.
  • [cleanup] Git history-based algorithm: skip content signatures without related images.

Helm-v3 based deploy

  • Use helm-v3 in werf deploy command when WERF_DEPLOY_HELM_V3=1 is set.
    • Supported features:
      • extra labels/annotations;
      • distributed release locking using kubernetes to prevent simultaneous deploy of the same release;
      • kubedog-based deploy tracking;
      • autogeneration of Chart.yaml based on the werf.yaml when Chart.yaml file is not present in .helm dir;
      • secret values; werf does not write secret values into the release data, which will be accessible by werf helm-v3 get all RELEASE.
  • Lock release by name in werf helm-v3 install/upgrade and werf deploy commands.
  • Unsupported yet features:
    • adoption of resources by werf.io annotation;
    • auto migration of existing helm-v2 release to helm-v3;
    • werf dismiss command should use helm-v3 and wait until resources deleted;
    • extra values and template-helpers to generate full werf-images names in the chart templates.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.22+fix22

Published by flant-team-sysdev about 4 years ago

More helm-v3 support

  • Secret values support for werf helm-v3 subcommands.

Cleanup

  • [cleanup] Cleanup meta images
    • Reject lazy scanning: check each policy references even it is not needed
    • Keep a minimum number of commit hashes in stages storage preserving only the latest commit for each content signature in each policy references
  • [tests] Cleanup Suite: init stages storage docker registry options.
  • [tests] Cleanup Suite: meta images cleanup

Docs

  • [docs] Add new publication: "Werf: Fully customizable GitOps"

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.22+fix21

Published by flant-team-sysdev about 4 years ago

Dockerfile improvements

  • [dockerfile] Support for --network and --ssh options (with docs in Configuration/Dockerfile)
  • [dockerfile] Fix git head reference failed error when git repository without any commit

Cleanup option to restrict namespaces scan for used images

--scan-context-namespace-only=true|false (false by default), refs https://github.com/werf/werf/pull/2660

[helm-v3] Extra annotations and labels support for helm v3

Set werf.io/version annotation by default in werf helm-v3 upgrade/install commands.

Docs, tests and werf CI fixes

  • [tests] Cleanup Suite: fix random test fail
  • [tests] Refactor: update RunCommandWithOptions interface
  • [tests] Cleanup Suite: test remote stages storage
  • [tests] Cleanup Suite: fix quay tests
  • [tests] Guides Suite: sync with documentation
  • [doc] Fix guide First step
  • [ci] Daily Tests Workflow: disable werf debug mode

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.21+fix29

Published by flant-team-sysdev about 4 years ago

Fixes

  • [harbor] Fix NOT_FOUND error during synchronization client id saving.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.22+fix20

Published by flant-team-sysdev about 4 years ago

Fixes

  • [logging] Ignore klog reflector ERROR messages.
  • [logging] More details in concurrent builds plan.
  • [harbor] Fix NOT_FOUND error during synchronization client id saving.
  • [build] Fix getting inspect for built stage.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.22+fix19

Published by flant-team-sysdev about 4 years ago

Fix build panic

Fix build panic 'invalid memory address or nil pointer dereference' pkg/build/build_phase.go:422

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.22+fix18

Published by flant-team-sysdev about 4 years ago

Logging fixes

  • Fix klog warning messages: suppress klog info/warning log levels, print error level through logboek.
  • Fix empty size info message for built stage.
  • Cleanup logging: hide empty block.
  • Fix collapsible GitLab log section:
    • apply only for top-level processes;
    • disable for blocks.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.21+fix28

Published by flant-team-sysdev about 4 years ago

Correction release: fix release name

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.22+fix17

Published by distorhead about 4 years ago

Fixes

  • [dockerfile] Handle unsupported Media Type (especially v1 manifest version).
  • Image metadata by commit: long image name support.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.22+fix16

Published by distorhead about 4 years ago

Helmfile support and fixes

Werf now can be used as helm-3 replacement with helmfile as follows:

  1. Install latest helmfile.

  2. Install helm-diff plugin (which is needed for the helmfile):

source $(multiwerf use 1.1 alpha --as-file)
werf helm-v3 plugin install https://github.com/databus23/helm-diff
  1. Prepare helmfile.yaml:
repositories:
- name: stable
  url: https://kubernetes-charts.storage.googleapis.com

releases:
- name: mytraefik
  namespace: aaa
  createNamespace: true
  wait: true
  chart: stable/traefik
  labels:
    name: traefik-public
  version: 1.86.2
  1. Set environment variable WERF_HELM3_MODE=1 — this will make werf binary CLI interface helm-compatible, then run helmfile with --helm-binary=werf.
source $(multiwerf use 1.1 alpha --as-file)
export WERF_HELM3_MODE=1
helmfile -b werf apply
  1. Check installed release with werf:
werf list --namespace aaa

NOTE Helmfile does not support live output from helm binary, so werf rich live output will be available only after werf command is done. However werf output with --wait flag is more useful than helm's output even in that condition and werf will "fail fast" when something goes wrong during deploy process.

Refs https://github.com/werf/werf/issues/1606
Refs https://github.com/werf/helm/pull/50

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.22+fix15

Published by distorhead about 4 years ago

Parallel builds fixes

  • Maximum 5 parallel tasks by default.
  • Fix index out of range [0] with length 0.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.21-fix27

Published by distorhead about 4 years ago

Documentation

  • Reference/Deploy into Kubernetes: reviewed documentation, rephrased
  • Reference/Working with docker registries: upd

Installation

Linux amd64

Darwin amd64

Windows amd64