For usage in critical environments with tight SLA
This is the most stable channel and recommended for usage in critical environments with tight SLA. We guarantee backward compatibility between Rock-Solid releases within minor branch (1.1.x). We guarantee that Stable release should become a Rock-Solid release not earlier than 2 weeks of broad testing.
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.71/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.71/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.71/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.71/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.59/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.59/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.55/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.55/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
Stable channel releases are mostly safe to use and we encourage to use this channel everywhere. We guarantee backward compatibility between Stable releases within minor branch (1.1.x). We guarantee that Early-Access release should become Stable not earlier than 1 week after internal tests
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.72/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.72/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.72/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.72/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.80/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.80/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.72/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.72/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.71/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.71/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.70/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.70/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.62/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.62/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.59/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.59/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.55/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.55/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.53/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.53/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.51/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.51/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.47/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.47/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
buildah: publish initial werf image with compiled werf binary and buildah environment (20dde28)
buildah: working native-rootless buildah mode inside docker container (ed4fa0a)
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.45/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.45/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
For use in non critical environments or local development
These releases are mostly safe to use and can even be used in non critical environments or for local development. We do not guarantee backward compatibility between Early-Access releases.
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.105/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.105/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.105/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.105/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.104/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.104/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.101/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.101/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.100/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.100/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.83/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.83/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.80/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.80/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.79/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.79/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.72/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.72/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.71/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.71/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.70/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.70/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.69/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.69/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.67/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.67/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.62/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.62/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.59/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.59/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.56/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.56/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.55/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.55/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
git version
break werf (266bad0)To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.54/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.54/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.53/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.53/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.51/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.51/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.47/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.47/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
buildah: publish initial werf image with compiled werf binary and buildah environment (20dde28)
buildah: working native-rootless buildah mode inside docker container (ed4fa0a)
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.45/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.45/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
WERF_BUILDAH_CONTAINER_RUNTIME=auto|native-rootless|docker-with-fuse
environment variable:
native-rootless
mode uses local storage and runs only under Linux.docker-with-fuse
mode runs buildah inside docker enabling crossplatform buildah support. This mode could be changed later to use podman instead of docker server.docs(kubedog): failure handling for startup/readiness/liveness
test(kubedog): failure handling for startup/readiness/liveness
feat(kubedog): add werf.io/ignore-readiness-probe-fails-for annotation
fix(dev): creating service commits in large projects is too slow
Correction release for trdl package manager.
fix: panic in ci-env, dismiss, managed-images and stage-image cmds
Fixed uninitialized –platform param setup code.
[compose] docker-compose run command support
[compose] Support for positional arguments to build and forward
specific images
If one or more IMAGE_NAME parameters specified, werf will build and
forward only these images
werf compose up [IMAGE_NAME...] [options] [--docker-compose-options="OPTIONS"] [--docker-compose-command-options="OPTIONS"] [--] [SERVICE...]
[compose] Fix certain service names specified by the user are ignored
[container registry] Fix processing of reference with digest
The user may have encountered related issues when using the base image
(from
) with digest (REPO@DIGEST
, REPO:TAG@DIGEST
).
WARNING: cannot get base image id (alpine@sha256:69e70a79f2d41ab5d637de98c1e0b055206ba40a8145e7bddb55ccc04e13cf8f): can not get base image id from registry (alpine@sha256:69e70a79f2d41ab5d637de98c1e0b055206ba40a8145e7bddb55ccc04e13cf8f): repository can only contain the runes `abcdefghijklmnopqrstuvwxyz0123456789_-./`: alpine@sha256
WARNING: using existing image alpine@sha256:69e70a79f2d41ab5d637de98c1e0b055206ba40a8145e7bddb55ccc04e13cf8f without pull
[git_repo] Move common methods from git_repo local/remote to base
[conveyor] Refactoring of werf config images processing
Improvements related to tests, coverage, and GitHub Actions workflows
Fix manual werf-host-cleanup instruction: remove /var/log/werf-host-cleanup.log, because:
Thus standard /var/log/syslog file will be used instead.
[logging] Update the processing of logging modes
[git_repo] Switch to repo handle working with ls tree
[git_repo] Implement git repository handle
A solution to get away from the worktree when working with the git repository, caching the necessary data from the worktree during initialization, and then working exclusively with git objects.
[path_matcher] Fix incorrect path matcher IDs
[git_repo] Fix checksum calculation locking
[helm2to3] Fix maintenance helper release exists checking procedure performance
Use history command instead of listing of all releases
[docs] Reference/werf.yaml template engine: up function syntax examples
[docs] Sidebar: rename Bundles
[docs] typofix
[docs] Advanced/Helm/Overview: delete irrelevant text
[go.mod] github.com/werf/logboek v0.5.4
[ci] Fix release message template
[ci] Enable release publisher into bintray to support older multiwerf clients
[ci] Add build release scripts
[docs, ru] Advanced/Cleanup: actualize
[docs] Internal/Stages and storage: actualize
[docs] What’s new in v1.2/Changelog: cleaning commands
[docs] Internal/Build process: fix typo
[docs] Fix broken quickstart macos instructions
[docs] Fix v1.1 to v1.2 instruction: wrong images report usage
[docs] Fix v1.1 to v1.2 instruction: more correct report usage: pull images before usage
[docs] advanced/cleanup: added info about werf host cleanup
GC
[dockerfile] Automatically reset the Dockerfile exception by .dockerignore
file rules
There is no way to ignore the Dockerfile due to docker limitation when building an image for a compressed context that reads fro
m STDIN.
Add an exception and warning message.
[GC] Fix werf-host-cleanup default percentage and margin values (always use 70% and 5% margin).
[helm] Werf-helm fixes
[bundle] Fix werf-bundle-apply command does not use –env param
[bundles] Fix bundle-publish command ignoring .helm/values.yaml and publishing .helm/secret-values.yaml
[helm] Fix chart dependencies loader missing error reports
[docs] What’s new in v1.2: describe mounts rejection cases
[docs] Advanced/bundles: added supported registry implementations
(links will be available very soon)
(links will be available very soon)
Specify env var to fully disable kubedog waiter.
[docs] Basic bundles article in advanced documentation section
https://werf.io/v1.2-alpha/documentation/advanced/bundles.html
Rework ls tree and path matcher interface
[ls_tree] Change the LsTree function interface
// LsTree returns the Result with tree entries that satisfy the passed pathMatcher.
// The function works lazily and does not go through a tree directory unnecessarily.
// If the result should contain only regular files (without directories and submodules), you should use the allFiles parameter.
LsTree(ctx context.Context, repository *git.Repository, commit string, pathMatcher path_matcher.PathMatcher) (*Result, error) -> LsTree(ctx context.
Context, repository *git.Repository, commit string, pathMatcher path_matcher.PathMatcher, allFiles bool) (*Result, error)
[path_matcher] Remove the greedySearch parameter and change interface
There are the following changes in the PathMatcher interface:
// IsPathMatched checks for a complete matching of the path
IsPathMatched(string) bool
// ShouldGoThrough indicates that the directory or submodule path is not completely matched but may include matching files among the child files.
// The method returns false if the path is completely matched.
ShouldGoThrough(string) bool
// IsDirOrSubmodulePathMatched returns true if IsPathMatched or ShouldGoThrough.
// The method returns true if there is a possibility of containing the matching files among the child files.
IsDirOrSubmodulePathMatched(string) bool
[ls_tree] Remove the strict option in LsTree function
The option allowed to run ls tree for work tree with uninitialized submodules. In current versions, we always work with the service work tree, where the submodules must be initialized.
[helm 2 to 3] Fix: ignore resources from helm 2 release which do not exist in kubernetes
Changed order of migration steps: first set annotations and labels, then create helm 3 release.
https://werf.io/documentation/advanced/giterminism.html
https://werf.io/documentation/reference/werf_giterminism_yaml.html
https://werf.io/documentation/reference/werf_yaml_template_engine.html
[docs] Overview: giterminism
[docs] Advanced/Configuration/Template engine: move to reference
[giterminism] Update error messages
[docs] Advanced/Giterminism
[docs] Reference/werf-giterminism.yaml
[docs] Advanced/Configuration/Template engine
[docs] Reference/werf.yaml: refactor and update
change the structure of werf yaml data file
add get_lang_field_or_raise_error filter to work effectively with new data structure
update directives descriptions
[ci] Fix Documentation Validation
There was an error while trying to write to `/__w/werf/werf/docs/Gemfile.lock`.
It is likely that you need to grant write permissions for that path.
[docs] Fix table line counter does not work properly
[win][git] Fix CRLF issues and patch-does-not-apply errors
The root of the issue: werf have added file converted from LF to CRLF into built image under windows due to some local git autocrlf settings. Then werf cannot apply patch to the file with CRLF’s inside the build container.
[docs] Fix incorrect link to Go guide
Preparations for guides integration:
[follow] Fix follow mode does not reinitialize giterminism manager
[giterminism] Refactoring: simplify error messages and the corresponding code
the
the uncommitted configuration found in the project directory: the
[giterminism] Fix doublestar.Match matches system-dependent path
Fix dockerfile-not-found error when running werf not from the root of the git work tree
\# docs/werf.yaml
configVersion: 1
project: docs
---
image: docs
dockerfile: ./Dockerfile
When running werf from docs folder werf’s dockerfile builder will use docs
dir — project dir — as build dockerfile build context root for the
ont
ext tar archive, not git work tree root.
[project-dir] Fix helm-chart-dir related errors when running werf with custom –dir.
[project-dir] Fix .git lookup should use –dir or process cwd.
[doc] Fix the “Documentation” link in the site header. Fix jekyll custom filter.
[tests] Giterminism Suite: actualize tests
[giterminism] Remove unused giterminism inspector
[deploy] werf_image and nameless image deprecation fix
Pass nameless image as .Values.werf.nameless_image instead of .Values.werf.image.
.Values.werf.image is always map[string]string and will only contain named images names.
As nameless image is being deprecated in the v1.2 there is no “normal” way to get nameless image from values, that’s why we use “special” value .Values.werf.nameless_image for now. In the v1.3 nameless images will be completely removed.
For more broad testing of new features
These releases are for more broad testing of new features to catch regressions. We do not guarantee backward compatibility between Beta releases.
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.105/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.105/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.104/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.104/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.101/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.101/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.100/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.100/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.83/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.83/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.81/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.81/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.80/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.80/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.79/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.79/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.76/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.76/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.72/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.72/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.71/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.71/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.70/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.70/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.69/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.69/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.67/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.67/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.65/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.65/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.64/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.64/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.62/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.62/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.61/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.61/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.60/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.60/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.59/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.59/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.56/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.56/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.55/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.55/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
git version
break werf (266bad0)To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.54/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.54/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.53/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.53/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.52/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.52/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.51/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.51/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.47/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.47/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
buildah: publish initial werf image with compiled werf binary and buildah environment (20dde28)
buildah: working native-rootless buildah mode inside docker container (ed4fa0a)
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.45/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.45/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
docs(kubedog): failure handling for startup/readiness/liveness
test(kubedog): failure handling for startup/readiness/liveness
feat(kubedog): add werf.io/ignore-readiness-probe-fails-for annotation
fix(dev): creating service commits in large projects is too slow
docs: remove duplicate sentences
fix(dev): commit hooks are executed when creating service commits
Add –no-verify option creating service commit to skip the pre-commit and commit-msg hooks.
fix: “… has no deployed releases” error when release history limit reached on initial release installation
Correction release for trdl package manager.
feat(ci_env): perform authorization for old GitHub registry users
fix(container_registry): raise errors properly
Fix werf-render command error shadowing and logging
werf render (--verbose|--debug)
should enable verbose or debug mode, but it was not happened.[compose] docker-compose run command support
[compose] Support for positional arguments to build and forward
specific images
If one or more IMAGE_NAME parameters specified, werf will build and
forward only these images
werf compose up [IMAGE_NAME...] [options] [--docker-compose-options="OPTIONS"] [--docker-compose-command-options="OPTIONS"] [--] [SERVICE...]
[compose] Fix certain service names specified by the user are ignored
[container registry] Fix processing of reference with digest
The user may have encountered related issues when using the base image
(from
) with digest (REPO@DIGEST
, REPO:TAG@DIGEST
).
WARNING: cannot get base image id (alpine@sha256:69e70a79f2d41ab5d637de98c1e0b055206ba40a8145e7bddb55ccc04e13cf8f): can not get base image id from registry (alpine@sha256:69e70a79f2d41ab5d637de98c1e0b055206ba40a8145e7bddb55ccc04e13cf8f): repository can only contain the runes `abcdefghijklmnopqrstuvwxyz0123456789_-./`: alpine@sha256
WARNING: using existing image alpine@sha256:69e70a79f2d41ab5d637de98c1e0b055206ba40a8145e7bddb55ccc04e13cf8f without pull
[git_repo] Move common methods from git_repo local/remote to base
[conveyor] Refactoring of werf config images processing
Improvements related to tests, coverage, and GitHub Actions workflows
First, check for
<DOCKERFILE_DIR>/<DOCKERFILE_BASENAME>.dockerignore
, and if it is
found it will be used instead of the .dockerignore
from the context
root.
Output the log of parallel tasks sequentially, after completing a
task redirect the output of the next one to stdout.
[readme] Fix documentation links
[docs] Advanced/Cleanup: fix cron job for host cleaning
[docs] Advanced/ CI/CD / GitLab: change api call to CI variable
[docs] refactoring to use .base_werf in ci
[docs] Fix links to binaries on the Installation page
Fix manual werf-host-cleanup instruction: remove /var/log/werf-host-cleanup.log, because:
Thus standard /var/log/syslog file will be used instead.
[logging] Update the processing of logging modes
[git_repo] Switch to repo handle working with ls tree
[git_repo] Implement git repository handle
A solution to get away from the worktree when working with the git repository, caching the necessary data from the worktree during initialization, and then working exclusively with git objects.
[path_matcher] Fix incorrect path matcher IDs
[git_repo] Fix checksum calculation locking
[helm2to3] Fix maintenance helper release exists checking procedure performance
Use history command instead of listing of all releases
[docs] Reference/werf.yaml template engine: up function syntax examples
[docs] Sidebar: rename Bundles
[docs] typofix
[docs] Advanced/Helm/Overview: delete irrelevant text
[go.mod] github.com/werf/logboek v0.5.4
[ci] Fix release message template
[ci] Enable release publisher into bintray to support older multiwerf clients
[ci] Add build release scripts
[docs, ru] Advanced/Cleanup: actualize
[docs] Internal/Stages and storage: actualize
[docs] What’s new in v1.2/Changelog: cleaning commands
[docs] Internal/Build process: fix typo
[docs] Fix broken quickstart macos instructions
[docs] Fix v1.1 to v1.2 instruction: wrong images report usage
[docs] Fix v1.1 to v1.2 instruction: more correct report usage: pull images before usage
[docs] advanced/cleanup: added info about werf host cleanup
GC
[dockerfile] Automatically reset the Dockerfile exception by .dockerignore
file rules
There is no way to ignore the Dockerfile due to docker limitation when building an image for a compressed context that reads fro
m STDIN.
Add an exception and warning message.
[GC] Fix werf-host-cleanup default percentage and margin values (always use 70% and 5% margin).
[helm] Werf-helm fixes
[cleaning] More detailed cleaning logging
[cleaning] Remove werf-host-project commands
[cleaning] werf host purge command: add the –project-name option to remove project images
[cleaning] werf host cleanup command: add the stub –project-name option (without implementation)
[cleaning] Remove the local storage support for cleanup and purge commands
[storage] Disable handling of image metadata in the local storage
[storage] Disable handling of managed images in the local storage
Remove the local storage support for managed-images commands
[docs] What’s new in v1.2/Changelog: herebyIAdmitThatFromLatestMightBreakReproducibility/herebyIAdmitThatBranchMightBreakReproducibility
[web] Add guides sitemap (#3420)
[tests] Cleanup Suite: remove the local storage tests
[tests] Cleanup Suite: werf host purge command tests
[tests] Replace werf purge after callback to werf host purge –project-name
[tests] container_registry_per_implementation set: the optional local container registry support
[tests] Cleanup Suite: code generalization
[tests] container_registry_per_implementation set: the optional local container registry support
[bundle] Fix werf-bundle-apply command does not use –env param
[docs] Advanced/Supported container registries
[docs] Advanced/Bundles: update supported container registries section
[docs] Using the term container registry instead of docker registry implementation
[docs] Fix russian bundles doc
[docs] Exclude 404 pages from sitemaps (#3330)
[ci] More convenient job names (#3332)
[helm] Enable secret-values in ‘werf helm *’ commands, fix lint command
[helm] Fix additional –secret-values param files should redefine previously defined secret-values
[ci] Don’t deploy backend to the test env (#3327)
[bundles] Fix bundle-publish command ignoring .helm/values.yaml and publishing .helm/secret-values.yaml
[helm] Fix chart dependencies loader missing error reports
[docs] What’s new in v1.2: describe mounts rejection cases
[docs] Advanced/bundles: added supported registry implementations
(links will be available very soon)
(links will be available very soon)
Specify env var to fully disable kubedog waiter.
[docs] Basic bundles article in advanced documentation section
https://werf.io/v1.2-alpha/documentation/advanced/bundles.html
Rework ls tree and path matcher interface
[ls_tree] Change the LsTree function interface
// LsTree returns the Result with tree entries that satisfy the passed pathMatcher.
// The function works lazily and does not go through a tree directory unnecessarily.
// If the result should contain only regular files (without directories and submodules), you should use the allFiles parameter.
LsTree(ctx context.Context, repository *git.Repository, commit string, pathMatcher path_matcher.PathMatcher) (*Result, error) -> LsTree(ctx context.
Context, repository *git.Repository, commit string, pathMatcher path_matcher.PathMatcher, allFiles bool) (*Result, error)
[path_matcher] Remove the greedySearch parameter and change interface
There are the following changes in the PathMatcher interface:
// IsPathMatched checks for a complete matching of the path
IsPathMatched(string) bool
// ShouldGoThrough indicates that the directory or submodule path is not completely matched but may include matching files among the child files.
// The method returns false if the path is completely matched.
ShouldGoThrough(string) bool
// IsDirOrSubmodulePathMatched returns true if IsPathMatched or ShouldGoThrough.
// The method returns true if there is a possibility of containing the matching files among the child files.
IsDirOrSubmodulePathMatched(string) bool
[ls_tree] Remove the strict option in LsTree function
The option allowed to run ls tree for work tree with uninitialized submodules. In current versions, we always work with the service work tree, where the submodules must be initialized.
[helm 2 to 3] Fix: ignore resources from helm 2 release which do not exist in kubernetes
Changed order of migration steps: first set annotations and labels, then create helm 3 release.
https://werf.io/documentation/advanced/giterminism.html
https://werf.io/documentation/reference/werf_giterminism_yaml.html
https://werf.io/documentation/reference/werf_yaml_template_engine.html
[docs] Overview: giterminism
[docs] Advanced/Configuration/Template engine: move to reference
[giterminism] Update error messages
[docs] Advanced/Giterminism
[docs] Reference/werf-giterminism.yaml
[docs] Advanced/Configuration/Template engine
[docs] Reference/werf.yaml: refactor and update
change the structure of werf yaml data file
add get_lang_field_or_raise_error filter to work effectively with new data structure
update directives descriptions
[ci] Fix Documentation Validation
There was an error while trying to write to `/__w/werf/werf/docs/Gemfile.lock`.
It is likely that you need to grant write permissions for that path.
[docs] Fix table line counter does not work properly
[win][git] Fix CRLF issues and patch-does-not-apply errors
The root of the issue: werf have added file converted from LF to CRLF into built image under windows due to some local git autocrlf settings. Then werf cannot apply patch to the file with CRLF’s inside the build container.
[docs] Fix incorrect link to Go guide
[bundles] Fix “unable to create bundle: unable to write … no such file or directory”
[giterminism] Fix broken symlinks are processed incorrectly
[stapel, git] Fix adding a broken symlink does not work
Fix interactive werf run session (–shell/–bash) works not properly
[giterminism] Fix processing of an invalid submodule state
[giterminism] Improve feedback if a related submodule is not clean or has changes
Return a detailed error if a work tree submodule directory is not clean:
the submodule "<submodule path>" is not clean and must be committed. Do not forget to push the current commit to the submodule remote If this commit exists only locally
Details:
commit: "0000000000000000000000000000000000000000"
currentWorktreeCommit: "d9243a9a45b10e6b7d985322b8108897626a25a6"
expectedWorktreeCommit: "d9243a9a45b10e6b7d985322b8108897626a25a6"
You might also be interested in developer mode (activated with --dev option) that allows you to work with staged changes without doing redundant commits. Just use "git add <file>..." to include the changes that should be used.
Return a detailed error if a work tree submodule directory has changes:
the submodule "<submodule path>" has modified files and these changes must be committed (do not forget to push new changes to the submodule remote) or discarded:
- file1
- file2
[giterminism] Support for configuration files outside the project directory
Internals:
[doc] Add Rails guide
[tests] Fix daily tests, not compiling and failing tests, refactor tests precompile
Preparations for guides integration:
[follow] Fix follow mode does not reinitialize giterminism manager
[giterminism] Refactoring: simplify error messages and the corresponding code
the
the uncommitted configuration found in the project directory: the
[giterminism] Fix doublestar.Match matches system-dependent path
Fix dockerfile-not-found error when running werf not from the root of the git work tree
\# docs/werf.yaml
configVersion: 1
project: docs
---
image: docs
dockerfile: ./Dockerfile
When running werf from docs folder werf’s dockerfile builder will use docs
dir — project dir — as build dockerfile build context root for the
ont
ext tar archive, not git work tree root.
[project-dir] Fix helm-chart-dir related errors when running werf with custom –dir.
[project-dir] Fix .git lookup should use –dir or process cwd.
[doc] Fix the “Documentation” link in the site header. Fix jekyll custom filter.
[tests] Giterminism Suite: actualize tests
[giterminism] Remove unused giterminism inspector
[deploy] werf_image and nameless image deprecation fix
Pass nameless image as .Values.werf.nameless_image instead of .Values.werf.image.
.Values.werf.image is always map[string]string and will only contain named images names.
As nameless image is being deprecated in the v1.2 there is no “normal” way to get nameless image from values, that’s why we use “special” value .Values.werf.nameless_image for now. In the v1.3 nameless images will be completely removed.
Fixed all links to guides: https://werf.io/applications_guide
[cleanup] Fix goroutine stack exceeds limit
One checksum can be associated with many stages, so it is necessary to exclude the stage itself before processing linked imports
Fix deadline-exceeded when hook job took more than 5 min:
Fix “unable to create registry client” error when DOCKER_CONFIG variable is set
werf bundle export
— creates resulting bundle chart directory without publishing this chart into the docker registrwerf bundle download
— downloads previously published chart into the directory without applying it into the kuberneteUse default ~/.docker/config.json authentication data when publishing and applying bundles.
[dev] Apply a patch with staged changes also in index.
[true git] Reset worktree/staging changes when detaching commit.
[tests] Build/Stapel/Git: active developer mode tests.
[status] Check worktree and staging changes separately with options.
[status] Remove unused code.
[dev] Support staged binary files.
[dockerfile] Add project repo commit label.
werf-dev-<commit>
./werf
repo suffix for GitLab CI/CD;-werf
repo suffix for GitHub Actions.NOTE. This is breaking change, incompatible with the previous werf versions.
[docs] Reform build-proces and stages-and-storage articles
[docs] Reform build-proces and stages-and-storage articles
--follow
param support for werf-run and werf-convergewerf converge --follow
will loop on changes into current git-repository and restart converge command when a new commit has been made.
werf run --follow
will loop on changes into current git-repository and restart docker container when a new commit has been made.
https://github.com/werf/helm/pull/64
#
Installation page: enable v1.2 beta switch.
These releases can bring new features, but are unstable. We do not guarantee backward compatibility between Alpha releases.
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.105/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.105/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.104/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.104/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.103/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.103/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
kube-run: add –copy-to; replace –copy-from-[file | dir] with –copy-from (231ccbc) |
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.102/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.102/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.101/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.101/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.100/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.100/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.99/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.99/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.98/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.98/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.97/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.97/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.96/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.96/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.95/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.95/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.94/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.94/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.93/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.93/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
support –show-only | -s helm-style render option + export-values chaining (e9e3b86) |
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.92/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.92/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.91/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.91/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.90/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.90/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.89/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.89/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.88/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.88/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.87/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.87/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.86/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.86/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.85/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.85/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.84/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.84/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.83/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.83/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.82/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.82/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.81/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.81/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.80/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.80/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.79/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.79/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.78/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.78/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.77/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.77/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.76/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.76/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.75/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.75/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.74/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.74/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.72/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.72/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.73/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.73/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.72/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.72/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.71/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.71/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.70/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.70/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.69/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.69/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.68/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.68/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.67/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.67/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.65/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.65/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.64/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.64/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.63/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.63/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.62/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.62/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.61/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.61/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.60/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.60/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.59/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.59/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.57/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.57/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.56/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.56/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.55/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.55/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
git version
break werf (266bad0)To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.54/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.54/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.53/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.53/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.52/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.52/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.51/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.51/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.50/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.50/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.49/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.49/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
ghcr.io/werf/werf:1.2-{alpha | beta | ea | stable}-{alpine | ubuntu | centos | fedora}; |
ghcr.io/werf/werf:1.2-{alpha | beta | ea | stable} (same as ghcr.io/werf/werf:1.2-{alpha | beta | ea | stable}-alpine); |
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.48/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.48/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.47/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.47/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
buildah: publish initial werf image with compiled werf binary and buildah environment (20dde28)
buildah: working native-rootless buildah mode inside docker container (ed4fa0a)
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.2.45/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.45/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
--add-custom-tag=TAG_FORMAT
sets tag aliases for the content-based tag of each image (can be used multiple times).--use-custom-tag=TAG_FORMAT
allows using tag alias in helm templates instead of an image content-based tag (NOT RECOMMENDED).%image%
or %image_slug%
in the tag format (e.g. $WERF_ADD_CUSTOM_TAG_1="%image%-tag1"
, $WERF_ADD_CUSTOM_TAG_2="%image%-tag2"
). giterminismConfigVersion: 1
cli:
allowCustomTags: true
WERF_BUILDAH_CONTAINER_RUNTIME=auto|native-rootless|docker-with-fuse
environment variable:
native-rootless
mode uses local storage and runs only under Linux.docker-with-fuse
mode runs buildah inside docker enabling crossplatform buildah support. This mode could be changed later to use podman instead of docker server.docs(kubedog): failure handling for startup/readiness/liveness
test(kubedog): failure handling for startup/readiness/liveness
feat(kubedog): add werf.io/ignore-readiness-probe-fails-for annotation
docs(kubedog): failure handling for startup/readiness/liveness
test(kubedog): failure handling for startup/readiness/liveness
feat(kubedog): add werf.io/ignore-readiness-probe-fails-for annotation
feat(secret): set notepad as the default editor for Windows
fix: KUBECONFIG config path merge list support for --synchronization=kubernetes://...
param.
docs(cli): fix werf compose run example
docs: storage layouts small updates
fix: remove host cleanup debug message
infra: use gox parallel release build tool, update base builder image
fix(dev): creating service commits in large projects is too slow
docs: move from multiwerf to trdl
Final repo is a repo to store only final images being deployed into Kubernetes (no artifacts).
The main use case is to have final repo near your Kubernetes cluster to allow faster downloads of application images.
Cleanup final repo together with primary repo (–repo) using werf cleanup --repo X --final-repo Y
command.
Documented –repo, –final-repo, –cache-repo and –secondary-repo options and use cases.
Currently only available in russian: https://ru.werf.io/documentation/v1.2/advanced/storage_layouts.html
Translation to english coming soon.
docs: remove duplicate sentences
fix(dev): commit hooks are executed when creating service commits
Add –no-verify option creating service commit to skip the pre-commit and commit-msg hooks.
fix: “… has no deployed releases” error when release history limit reached on initial release installation
feat: expose “tag” service value
fix: ambiguous error when trying to export not in a registry
Error:
$ werf export --tag "test:%image%"
Error: phase export after image test stages handler failed: denied: requested access to the resource is denied
$ werf export --repo=REPO --tag=test
Error: phase export after image test stages handler failed: HEAD https://index.docker.io/v2/library/test/blobs/sha256:e25d89020eacd5ff45c65dd9f69da5f1c1ed9381c157707dde395d529e9f47cb: unexpected status code 401 Unauthorized (HEAD responses have no body, use GET for details)
Changes:
docs: export-values using .helm/Chart.yaml dependencies.
The command allows exporting images to an arbitrary repository according to a template specified by the --tag
option (build if needed). All meta-information related to werf is removed from the exported images, and then images are completely under the user’s responsibility.
The --tag
option can be specified multiple times. It is necessary to use image name shortcut %image%
or %image_slug%
if multiple images are exported (e.g. REPO:TAG-%image%
or REPO-%image%:TAG
).
For instance, export images to Docker Hub and GitHub Container Registry with the following command:
werf export --tag=company/project:%image%-latest --tag=ghcr.io/company/project/%image%:latest
Adds export-values directive for Chart.yaml dependencies to pass values from parent chart to its
child:
.helm/requirements.yaml
------------------------------------------------------
dependencies:
- name: subchart
version: 1.0.0
export-values:
- parent: werf
child: werf
This will pass werf service values $.Values.werf from the main chart to the subchart. Service values will become available in the subchart on the same path: $.Values.werf.
Werf’s auto dependencies downloader will only vendor external chart dependencies.
Explicitly specified internal chart dependencies (with an empty repository field or “file://path-to-subchart”) will be used directly from the project repo without excess vendoring.
Correction release for trdl package manager.
(https://github.community/t/pagination-when-listing-image-tags-does-not-work/194586)
feat(container_registry): use GitHub API for deletion tags in the old container registry
chore: fix cleanup deletion error format
feat(ci_env): perform authorization for old GitHub registry users
fix(container_registry): raise errors properly
feat(container_registry): cache package versions to prevent token blocking and rate limitation (ghcr.io)
feat(container_registry): handle rate limit error for all GitHub API requests
feat(ci_env): perform authorization for old GitHub registry users
fix(container_registry): raise errors properly
(https://github.community/t/pagination-when-listing-image-tags-does-not-work/194586)
feat(container_registry): use GitHub API for deletion tags in the old container registry
chore: fix cleanup deletion error format
feat(ci_env): perform authorization for old GitHub registry users
fix(container_registry): raise errors properly
(https://github.community/t/pagination-when-listing-image-tags-does-not-work/194586)
feat(container_registry): use GitHub API for deletion tags in the old container registry
chore: fix cleanup deletion error format
feat(ci_env): perform authorization for old GitHub registry users
fix(container_registry): raise errors properly
[publication] Add recent publications
[docs] Advanced/Supported container registries: add Yandex Container Registry
Fix werf does not load secret values files outside of helm chart dir
This previously resulted in /dir/oldfilename
in an image, but now results in /dir/newfilename
as supposed to:
git:
- add: /dir/oldfilename
to: /dir/newfilename
Fix werf-render command error shadowing and logging
werf render (--verbose|--debug)
should enable verbose or debug mode, but it was not happened.[compose] docker-compose run command support
[compose] Support for positional arguments to build and forward
specific images
If one or more IMAGE_NAME parameters specified, werf will build and
forward only these images
werf compose up [IMAGE_NAME...] [options] [--docker-compose-options="OPTIONS"] [--docker-compose-command-options="OPTIONS"] [--] [SERVICE...]
[compose] Fix certain service names specified by the user are ignored
[container registry] Fix processing of reference with digest
The user may have encountered related issues when using the base image
(from
) with digest (REPO@DIGEST
, REPO:TAG@DIGEST
).
WARNING: cannot get base image id (alpine@sha256:69e70a79f2d41ab5d637de98c1e0b055206ba40a8145e7bddb55ccc04e13cf8f): can not get base image id from registry (alpine@sha256:69e70a79f2d41ab5d637de98c1e0b055206ba40a8145e7bddb55ccc04e13cf8f): repository can only contain the runes `abcdefghijklmnopqrstuvwxyz0123456789_-./`: alpine@sha256
WARNING: using existing image alpine@sha256:69e70a79f2d41ab5d637de98c1e0b055206ba40a8145e7bddb55ccc04e13cf8f without pull
[git_repo] Move common methods from git_repo local/remote to base
[conveyor] Refactoring of werf config images processing
Improvements related to tests, coverage, and GitHub Actions workflows
First, check for
<DOCKERFILE_DIR>/<DOCKERFILE_BASENAME>.dockerignore
, and if it is
found it will be used instead of the .dockerignore
from the context
root.
Output the log of parallel tasks sequentially, after completing a
task redirect the output of the next one to stdout.
[readme] Fix documentation links
[docs] Advanced/Cleanup: fix cron job for host cleaning
[docs] Advanced/ CI/CD / GitLab: change api call to CI variable
[docs] refactoring to use .base_werf in ci
[docs] Fix links to binaries on the Installation page
Fix manual werf-host-cleanup instruction: remove /var/log/werf-host-cleanup.log, because:
Thus standard /var/log/syslog file will be used instead.
[logging] Update the processing of logging modes
[git_repo] Switch to repo handle working with ls tree
[git_repo] Implement git repository handle
A solution to get away from the worktree when working with the git repository, caching the necessary data from the worktree during initialization, and then working exclusively with git objects.
[path_matcher] Fix incorrect path matcher IDs
[git_repo] Fix checksum calculation locking
[helm2to3] Fix maintenance helper release exists checking procedure performance
Use history command instead of listing of all releases
[docs] Reference/werf.yaml template engine: up function syntax examples
[docs] Sidebar: rename Bundles
[docs] typofix
[docs] Advanced/Helm/Overview: delete irrelevant text
[go.mod] github.com/werf/logboek v0.5.4
[ci] Fix release message template
[ci] Enable release publisher into bintray to support older multiwerf clients
[ci] Add build release scripts
[CI] Documentation local development (#3457)
To run documentation locally, use:
cd docs/site &&
werf compose up --follow --docker-compose-command-options="-d"
Open http://localhost:80
To stop:
cd docs/site &&
werf compose down
You should commit main site files (site/*) into git to see changes.
Documentation files changes will be almost immediately available.
[docs, ru] Advanced/Cleanup: actualize
[docs] Internal/Stages and storage: actualize
[docs] What’s new in v1.2/Changelog: cleaning commands
[docs] Internal/Build process: fix typo
[docs] Fix broken quickstart macos instructions
[docs] Fix v1.1 to v1.2 instruction: wrong images report usage
[docs] Fix v1.1 to v1.2 instruction: more correct report usage: pull images before usage
[docs] advanced/cleanup: added info about werf host cleanup
GC
[dockerfile] Automatically reset the Dockerfile exception by .dockerignore
file rules
There is no way to ignore the Dockerfile due to docker limitation when building an image for a compressed context that reads fro
m STDIN.
Add an exception and warning message.
[GC] Fix werf-host-cleanup default percentage and margin values (always use 70% and 5% margin).
[helm] Werf-helm fixes
Builtin helm updated to v3.5.3.
[helm] Add support for oci registries in Chart.yaml: fix panic; updated helm
[builder] Perform rejection of blob-unknown stages
Perform rejection of stages for which get-manifest has failed with blob-unknown error.
[tests] Bundle Suite: fix
Bump kramdown from 2.3.0 to 2.3.1 in /docs/documentation
Bumps kramdown from 2.3.0 to 2.3.1.
[web] Fix documentation overview assets (#3432)
[web] Use common partials for guides (#3394)
[cleaning] More detailed cleaning logging
[cleaning] Remove werf-host-project commands
[cleaning] werf host purge command: add the –project-name option to remove project images
[cleaning] werf host cleanup command: add the stub –project-name option (without implementation)
[cleaning] Remove the local storage support for cleanup and purge commands
[storage] Disable handling of image metadata in the local storage
[storage] Disable handling of managed images in the local storage
Remove the local storage support for managed-images commands
[docs] What’s new in v1.2/Changelog: herebyIAdmitThatFromLatestMightBreakReproducibility/herebyIAdmitThatBranchMightBreakReproducibility
[web] Add guides sitemap (#3420)
[tests] Cleanup Suite: remove the local storage tests
[tests] Cleanup Suite: werf host purge command tests
[tests] Replace werf purge after callback to werf host purge –project-name
[tests] container_registry_per_implementation set: the optional local container registry support
[tests] Cleanup Suite: code generalization
[tests] container_registry_per_implementation set: the optional local container registry support
[web] Fix 404 page (#3410)
[web] Change 404 logic (#3397)
[docs] Replace Werf with werf
[docs] Fix style, grammar, and typos
[web] Fix installation page tab logic (#3395)
[docs] Remove 1.0 version from the installation page (#3396)
[CI] Add commit and PR tests (#3393)
[CI] Update Certificate template
assets/setup /.werf/stapel/embedded/bin/xargs: Cannot open input file '/.werf/patch/.werf/patch/0c962ed1755d99a8937abe6fe63953bf818...
[metadata] Add image metadata for the from virtual merge commit
Deprecation warning for the –repo-implementation option
DEPRECATION WARNING: The option --repo-implementation ($WERF_REPO_IMPLEMENTATION) is renamed to --repo-container-registry ($WERF_REPO_CONTAINER_REGISTRY) and will be removed in v1.3!
[docs][ci] SEO improvement and ci updates (#3373)
[ci] Tests Workflow: drop out of self-hosted runners
[ci] Documentation Validation: fix `chmod: Gemfile.lock: No such file or directory
[ci] Fix tests
```
Run # unit tests binaries
? github.com/werf/werf/cmd/werf [no test files]
go: directory integration/ci_suites/default/docs/_fixtures/cli/docs/site/backend is outside main module
Error: Process completed with exit code 1.
```
[ci] Workflows: replace always with success || failure condition
The always
function returns true even when canceled, or the previous tasks skipped.
[ci] Documentation Validation: fix chmod: Gemfile.lock: No such file or directory
[ci] Use .Values.werf.env instead of .Values.global.env
[maintenance_helper] Fix error format
Cleanup only those images/stages, which has been published into REPO stages-storage.
NOTE. V1.2’s werf host cleanup procedure will not cleanup –stages-storage=:local stages, because this is primary stages storage data, and it can only be cleaned by the regular per-project werf cleanup
command with git-history based algorithm.
[metadata] Add image metadata for the from virtual merge commit
Deprecation warning for the –repo-implementation option
DEPRECATION WARNING: The option --repo-implementation ($WERF_REPO_IMPLEMENTATION) is renamed to --repo-container-registry ($WERF_REPO_CONTAINER_REGISTRY) and will be removed in v1.3!
[docs][ci] SEO improvement and ci updates (#3373)
[ci] Tests Workflow: drop out of self-hosted runners
[ci] Documentation Validation: fix `chmod: Gemfile.lock: No such file or directory
[ci] Fix tests
```
Run # unit tests binaries
? github.com/werf/werf/cmd/werf [no test files]
go: directory integration/ci_suites/default/docs/_fixtures/cli/docs/site/backend is outside main module
Error: Process completed with exit code 1.
```
[ci] Workflows: replace always with success || failure condition
The always
function returns true even when canceled, or the previous tasks skipped.
[ci] Documentation Validation: fix chmod: Gemfile.lock: No such file or directory
[ci] Use .Values.werf.env instead of .Values.global.env
[maintenance_helper] Fix error format
[status] Fix duplications in the path list
Error: unable to read werf config: the following files must be committed:
- werf.yaml
- werf.yaml
[ci] Delete cleanup job (#3371)
[git_repo] Caching and optimization operations with git objects
[GC] Host cleaning GC refinements and fixes: correct usage of allowed-volume-usage and allowed-volume-usage-margin
[git_repo] Invalidate archives and patches cache
[web] Fix documentation-version build: increment cache version
[git_repo] Fix LsTree/Patch/Archive cache ID
[git] Invalidate cached git-archives and git-patches: changed cache version
Path matchers
TrimFileBaseFilepath
and BaseFilepath
ID
method to determine the path matcher parameters unambiguouslyShouldGoThrough
method logic: the method returns true if the ShouldGoThrough
method of at least one matcher returns true and the path partially or completely matched by others (IsDirOrSubmodulePathMatched
returns true)Git
PathScope
option to limit paths and determine the base directory/file (similar to <pathspec> in the git commands).Other
""
) and root ("/"
) basePathwerf host cleanup
command.[dockerfile] Skip files ignored by .dockerignore file creating a context archive
[bundle] Fix werf-bundle-apply command does not use –env param
[compose] Fetch last stages of built images before running compose
[dockerfile] Fix .dockerignore does not affect on stage digest when using a custom project directory
[web] Fix some redirects (#3347)
[docs] Update the version of werf actions
werf/actions/deploy@master -> werf/actions/deploy@v1.2
[docs] Tune sitemaps (#3337, #3336)
[docs] Renaming the translation of the term “bundle”
[git_repo] Use PatchMatcher instead of FilterOptions
[path_matcher] Update multiPathMatcher string format
[ci] Delete namespace on review dismiss (#3333)
[bundle] Fix werf-bundle-apply command does not use –env param
[docs] Advanced/Supported container registries
[docs] Advanced/Bundles: update supported container registries section
[docs] Using the term container registry instead of docker registry implementation
[docs] Fix russian bundles doc
[docs] Exclude 404 pages from sitemaps (#3330)
[ci] More convenient job names (#3332)
[helm] Enable secret-values in ‘werf helm *’ commands, fix lint command
[helm] Fix additional –secret-values param files should redefine previously defined secret-values
[ci] Don’t deploy backend to the test env (#3327)
[bundles] Fix bundle-publish ignores .helm/values.yaml and uses .helm/secret-values.yaml
[helm] Update helm v3.5.0 -> v3.5.2
https://github.com/helm/helm/releases/tag/v3.5.2
[ci] Website review environments (#3315)
[giterminism] Separate processing for untracked and uncommitted files
[docs] What’s new in v1.2: describe mounts rejection cases
[docs] Advanced/bundles: added supported registry implementations
Kubedog update: disable events informer with KUBEDOG_DISABLE_EVENTS=1
(links will be available very soon)
(links will be available very soon)
[docs] Actualize the developer mode references
[dev] Update the –dev option description
[follow] New following logic in development mode
The mode allows restarting the command on a new commit.
In development mode (–dev), it additionally tracks changes in the index state of the git repository, regardless of whether simple or strict development mode (–dev-mode) is used.
[dev] Change the cache logic in simple development mode
Create a single commit for changes in the worktree instead of two separate commits for index and worktree changes.
--dev-mode simple|strict
option.--dev-mode simple
— default mode when --dev
option has been specified, to use strict mode specify `–dev-mode strictgit add
command) and also modified files changes, which has not been staged for commit.git add
command).[path_matcher] Fix Simple/GitMappingPathMatcher.IsMatched method logic
Several sets of globes are used when comparing paths:
**/*
(path//dir/**/).[docs] “What’s new in v1.2 / How to migrate from v1.1 to v1.2” guide
[docs] Advanced/Stapel/Mount: add giterminism note
[docs] Reference/werf.yaml: contextAddFile
[docs] Reference: rearrange menu items
Fixes for new CI and new site infra.
[web] Fix topnav
[web] Fix RSS feeds and installation page
[ci] Fix web converge
[web] Fix version menu
[docs] Translate to russian and refine advanced/helm chapter
https://ru.werf.io/v1.2-alpha/documentation/advanced/helm/overview.html (ссылка начнёт работать в ближайшее время)
[docs] Introduction: add a reference to giterminism
[docs] Advanced/Giterminism: add dev mode note
[docs] Internals/Build Process
[docs] Internals/Stages and storage: sync
[docs] Reference/werf.yaml template engine: the .Env variable
[docs] Advanced/Giterminism: small improvement
[docs] Reference/werf.yaml template engine: the template directory
[docs] Reference/werf.yaml template engine: update the tpl function
[path_matcher] Update Simple/GitMappingPathMatcher.IsMatched method logic
Several sets of globes are used when comparing paths:
[ci] Daily Tests: fix “Prepare coverage file” step
[ci] Daily Tests: disable self-hosted runners
[ci] Fix directory integration/ci_suites/default/docs/_fixtures/cli/docs/backend is outside main module
[docs] “What’s new in v1.2 / How to migrate from v1.1 to v1.2” guide
[docs] Advanced/Stapel/Mount: add giterminism note
[docs] Reference/werf.yaml: contextAddFile
[docs] Reference: rearrange menu items
Fixes for new CI and new site infra.
[web] Fix topnav
[web] Fix RSS feeds and installation page
[ci] Fix web converge
[web] Fix version menu
[docs] Added new animation for intro scheme
[docs] Better releache channel switcher
[docs] “What’s new in v1.2” documentation chapter (part 1/2)
Chapter consists of 2 articles:
This change is part 1 of the following changes:
[docs] Basic bundles article in advanced documentation section
https://werf.io/v1.2-alpha/documentation/advanced/bundles.html
Rework ls tree and path matcher interface
[ls_tree] Change the LsTree function interface
// LsTree returns the Result with tree entries that satisfy the passed pathMatcher.
// The function works lazily and does not go through a tree directory unnecessarily.
// If the result should contain only regular files (without directories and submodules), you should use the allFiles parameter.
LsTree(ctx context.Context, repository *git.Repository, commit string, pathMatcher path_matcher.PathMatcher) (*Result, error) -> LsTree(ctx context.
Context, repository *git.Repository, commit string, pathMatcher path_matcher.PathMatcher, allFiles bool) (*Result, error)
[path_matcher] Remove the greedySearch parameter and change interface
There are the following changes in the PathMatcher interface:
// IsPathMatched checks for a complete matching of the path
IsPathMatched(string) bool
// ShouldGoThrough indicates that the directory or submodule path is not completely matched but may include matching files among the child files.
// The method returns false if the path is completely matched.
ShouldGoThrough(string) bool
// IsDirOrSubmodulePathMatched returns true if IsPathMatched or ShouldGoThrough.
// The method returns true if there is a possibility of containing the matching files among the child files.
IsDirOrSubmodulePathMatched(string) bool
[ls_tree] Remove the strict option in LsTree function
The option allowed to run ls tree for work tree with uninitialized submodules. In current versions, we always work with the service work tree, where the submodules must be initialized.
This change include only part 1 of the following steps:
Advanced/helm chapter contains multiple sections:
— each of which contains multiple articles, structured in sideba
.
Added giterminism article into configuration section.
[giterminism] Fix loose giterminism mode
Error:
unable to locate chart directory: the directory ".helm" not found in the project git repository
[tests] Giterminism Suite: actualize tests
[go.mod] github.com/werf/logboek v0.5.3
[helm 2 to 3] Fix: ignore resources from helm 2 release which do not exist in kubernetes
Changed order of migration steps: first set annotations and labels, then create helm 3 release.
[helm 2 to 3] Change migration mechanics from PATCH to REPLACE
Do not patch resources to add annotations and labels, because not all resources kinds supports strategic-merge-patch.
Use simple GET, client-side merge, then REPLACE operation (as kubectl edit use).
[migrate 2 to 3] Print warning when helm 2 and helm 3 releases exists at the same time
If for some unknown and unexpected by werf migration workflow reason there is helm 2 and helm 3 releases at the moment,
then ignore helm 2 release and continue deploy process into helm 3 release, but print a WARNING about existing helm 2 release.
To disable this warning user should possible cleanup helm 2 metadata by kubectl -n kube-system delete cm RELEASE.VERSION.
https://werf.io/documentation/advanced/giterminism.html
https://werf.io/documentation/reference/werf_giterminism_yaml.html
https://werf.io/documentation/reference/werf_yaml_template_engine.html
[docs] Overview: giterminism
[docs] Advanced/Configuration/Template engine: move to reference
[giterminism] Update error messages
[docs] Advanced/Giterminism
[docs] Reference/werf-giterminism.yaml
[docs] Advanced/Configuration/Template engine
[docs] Reference/werf.yaml: refactor and update
change the structure of werf yaml data file
add get_lang_field_or_raise_error filter to work effectively with new data structure
update directives descriptions
[ci] Fix Documentation Validation
There was an error while trying to write to `/__w/werf/werf/docs/Gemfile.lock`.
It is likely that you need to grant write permissions for that path.
[docs] Fix table line counter does not work properly
Ability to pass kube config in base64 encoded form using cli –kube-config-base64 or $WERF_KUBE_CONFIG_BASE64, or $WERF_KUBECONFIG_BASE64 or $KUBE_CONFIG_BASE64 or $KUBECONFIG_BASE64.
[docs] Advanced/Configuration: shell examples take precedence over ansible
[ci_env] Ignore the non-existent –tagging-strategy option
Ignore only if the old form of the command call is used: source <(werf ci-env gitlab --tagging-strategy=...)
[ci_env] Fix unable to create tmp docker config based on the user’s one
Error: unable to create tmp docker config: unable to copy /home/user/.docker to /tmp/werf-docker-config-780142139: open /home/user/.docker/run/docker-cli-api.sock: no such device or address
[bundles] Do not render published chart in werf-publish and bundle-export commands
Render cmd was used only to initiate loading of chart configuration.
Eliminated render cmd, use loader directly instead.
[render] Add –validate and include-crds opts for werf-render cmd
When werf-converge command detects existing helm 2 release with the same name it will try to render current release using helm 3 with full validation,
Then if render has been succeeded werf will migrate helm 2 release to a newly created helm 3 release. Old helm 2 release will be removed.
CAUTION!
This operation cannot be undone.
Once werf v1.2 has converted your project to helm 3, it cannot be deployed by werf v1.1 anymore. Werf v1.1 will refuse to deploy your project once helm 3 release has been created.
Available in the werf.yaml
and .werf/**/*.tmpl
configs.
werf.yaml
...
{{- $values := .Files.Get "werf_values.yaml" | fromYaml -}} // or fromYaml (.Files.Get "werf_values.yaml")
from: {{- $values.image.from }}
werf_values.yaml
image:
from: alpine
[git_repo, status] Fix no error handling.
[git_repo, status] Fix the use of service work tree when the repository contains submodules
Status should always be taken for the user’s work tree
Added support for .gitignore
into giterminism subsystem.
[giterminism] Optimize listing fs files
Skip file if:
[giterminism] Use pathMatcher for matching paths
[path_matcher] Implement StubPathMatcher that always returns false
[git_repo] ListCommitFilesWithGlob: small improvement
The file path does not get into the result if the glob is the file path without patterns
[win][git] Fix CRLF issues and patch-does-not-apply errors
The root of the issue: werf have added file converted from LF to CRLF into built image under windows due to some local git autocrlf settings. Then werf cannot apply patch to the file with CRLF’s inside the build container.
[helm 2 to 3] Fix werf helm migrate2to3 command: create helm 3 release in the first place
- Migration command should create helm 3 release object because it contains managed fields of all resources.
- It is better not lost this information about managed fields, because werf-converge will not delete fields, which has been deleted for some resource in the current repo .helm/templates in such case.
[bundles] Fix “unable to create bundle: unable to write … no such file or directory”
[giterminism] Fix broken symlinks are processed incorrectly
[stapel, git] Fix adding a broken symlink does not work
[docs] Fix incorrect link to Go guide
[docs] Updating Telegram links
[docs] Fix incorrect Liquid syntax
[werf.io landing] Index page update: new intro slides
[helm][giterminism] Cache chart dependencies by hashsum of the whole .helm/Chart.lock, not digest
[config] .Files.Glob fails with an error instead of a warning message if no matches found
Error: unable to load werf config: template: werfConfig:8:9: executing "werfConfig" at <.Files.Glob>: error calling Glob: {{ .Files.Glob "path" }}: no matches found
[tests] Giterminism Suite: disable log color
[giterminism] Refactor: WalkConfigurationFilesWithGlob returns paths relative to dir
[bundles] Fix “unable to create bundle: unable to write … no such file or directory”
[giterminism] Fix broken symlinks are processed incorrectly
[stapel, git] Fix adding a broken symlink does not work
Cache chart dependencies by hashsum of the whole .helm/Chart.lock, not digest. This allows usage of update chart dependency when digest has not been changed.
Fix interactive werf run session (–shell/–bash) works not properly
Custom build tags.
--add-custom-tag
that can be used multiple times for build command.--use-custom-tag
for helm commands.%image%
or %image_slug%
in the tag format if there is more than one image in the werf config.cli.AllowCustomTags
directive.Migration from helm 2 to helm 3.
Fix interactive werf run session (–shell/–bash) works not properly
Ignore BLOB_UNKNOWN registry errors. Ignore silently without warnings until werf-cleanup does not delete these broken images.
[git repo] Move cache and change checksum calculation lock logic
[status] Do not cache repository and submodules repositories in the result
[docs] Fix custom helm release name template docs example
[refactor] Container runtime pkg: remove unused code and small fixes
[ls_tree] Do not cache repository and submodule repositories in the result
[docs] Fix a single quote in flag description breaks styles on cli command page
[giterminism] Fix processing of an invalid submodule state
[giterminism] Improve feedback if a related submodule is not clean or has changes
Return a detailed error if a work tree submodule directory is not clean:
the submodule "<submodule path>" is not clean and must be committed. Do not forget to push the current commit to the submodule remote If this commit exists only locally
Details:
commit: "0000000000000000000000000000000000000000"
currentWorktreeCommit: "d9243a9a45b10e6b7d985322b8108897626a25a6"
expectedWorktreeCommit: "d9243a9a45b10e6b7d985322b8108897626a25a6"
You might also be interested in developer mode (activated with --dev option) that allows you to work with staged changes without doing redundant commits. Just use "git add <file>..." to include the changes that should be used.
Return a detailed error if a work tree submodule directory has changes:
the submodule "<submodule path>" has modified files and these changes must be committed (do not forget to push new changes to the submodule remote) or discarded:
- file1
- file2
[giterminism] Support for configuration files outside the project directory
Internals:
[doc] Add Rails guide
[tests] Fix daily tests, not compiling and failing tests, refactor tests precompile
Set "werf.io/replicas-on-creation": NUM
annotation, do not set spec.replicas
field in templates explicitly.
Integration test and docs included.
[config] The required
function to declare a variable as required
The required function gives developers the ability to declare a value entry as required for config rendering. If the value is empty, the config will not render and will return an error message supplied by the developer.
{{ required "A valid <anything> value required!" <anything> }}
[config] the env
function requires the set environment variable
executing "werfConfig" at <env "test">: error calling env: the environment variable "<ENV_NAME>" must be set
will be returned[logging] logboek v0.5.0
[tests] Cleanup old three_way_merge_patches_creator_* fixtures
[tests] Docs Suite: fix and add to default set
[giterminism] Improve feedback if a related submodule is not clean or has changes
Return a detailed error if a work tree submodule directory is not clean:
the submodule "<submodule path>" is not clean and must be committed. Do not forget to push the current commit to the submodule remote If this commit exists only locally
Details:
commit: "0000000000000000000000000000000000000000"
currentWorktreeCommit: "d9243a9a45b10e6b7d985322b8108897626a25a6"
expectedWorktreeCommit: "d9243a9a45b10e6b7d985322b8108897626a25a6"
You might also be interested in developer mode (activated with --dev option) that allows you to work with staged changes without doing redundant commits. Just use "git add <file>..." to include the changes that should be used.
Return a detailed error if a work tree submodule directory has changes:
the submodule "<submodule path>" has modified files and these changes must be committed (do not forget to push new changes to the submodule remote) or discarded:
- file1
- file2
[giterminism] Support for configuration files outside the project directory
Internals:
[doc] Add Rails guide
[tests] Fix daily tests, not compiling and failing tests, refactor tests precompile
[giterminism] Improve feedback messages and manager logic.
- Read the configuration file from fs if not resolved path accepted by giterminism config:
- the file must exist in the project git work tree directory;
- the path must be fully accepted by giterminism config (each resolved symlink target must be accepted).
- Read the configuration file from commit:
- the path must not have any uncommitted changes locally (each symlink target).
- the file must exist in the current commit;
Improve resolve symlink failed error messages:
- fs symlink:
- `unable to read <config type>: accepted symlink "<symlink path>" check failed: too many levels of symbolic links`
- `unable to read <config type>: accepted symlink "<symlink path>" check failed: the link target "<target path>" should be also accepted by giterminism config`
- commit symlink:
- `unable to read <config type>: symlink "<symlink path>" check failed: commit tree entry "<target path>" not found in the repository`
- `unable to read <config type>: symlink "<symlink path>" check failed: the file "<target path>" must be committed`
[giterminism] Check uncommitted/untracked files by git status
[giterminism] Debug with $WERF_DEBUG_GITERMINISM_MANAGER
[giterminism] Full support for symlinks
Preparations for guides integration:
[follow] Fix follow mode does not reinitialize giterminism manager
[giterminism] Refactoring: simplify error messages and the corresponding code
the
the uncommitted configuration found in the project directory: the
[giterminism] Fix doublestar.Match matches system-dependent path
Fix dockerfile-not-found error when running werf not from the root of the git work tree
\# docs/werf.yaml
configVersion: 1
project: docs
---
image: docs
dockerfile: ./Dockerfile
When running werf from docs folder werf’s dockerfile builder will use docs
dir — project dir — as build dockerfile build context root for the
ont
ext tar archive, not git work tree root.
[project-dir] Fix helm-chart-dir related errors when running werf with custom –dir.
[project-dir] Fix .git lookup should use –dir or process cwd.
[doc] Fix the “Documentation” link in the site header. Fix jekyll custom filter.
[tests] Giterminism Suite: actualize tests
[giterminism] Remove unused giterminism inspector
[deploy] werf_image and nameless image deprecation fix
Pass nameless image as .Values.werf.nameless_image instead of .Values.werf.image.
.Values.werf.image is always map[string]string and will only contain named images names.
As nameless image is being deprecated in the v1.2 there is no “normal” way to get nameless image from values, that’s why we use “special” value .Values.werf.nameless_image for now. In the v1.3 nameless images will be completely removed.
werf-giterminism.yaml giterminsimConfigVersion could be number 1 or string “1”.
Update helm to v3.5.0.
https://werf.io/guides/
Fix WERF_SET_* arguments are not active when –set has been specified issue. Add ability to specify WERF_SET_* order of processing by sorting environment variables alphanumerically by the name.
https://github.com/werf/werf/issues/3128
https://github.com/werf/werf/issues/3137
Complete list of refactored list arguments:
Process params as follows:
This release contains complete support for werf-giterminism.yaml.
Add –set-docker-config-json-value option. Set .Values.dockerconfigjson
value to be used in the registry Secret to pull images from the repo (https://kubernetes.io/docs/tasks/configure-pod-
container/pull-image-private-registry/#registry-secret-existing-credentials).
werf_image
template in favor of .Values.werf.image.NAME.[tests][ci] Disable container_registry_per_implementation matrix for implementations
Enable all implementations at the same time for each test
[tests] Fix bundles test: use –set-docker-config-json-value for registry authentication
[tests] Fix git-repo-not-found related errors for integration suites
[bundle] Add support for automatic dependencies building on bundle-apply
[tests] Giterminism Suite: config dockerfile / dockerignore tests
[tests] Giterminism Suite: helm chart files tests
[config] Deprecate support for the nameless image
[config] Deprecate the fromArtifact directive
[config] Fix werf config templates reading (.werf/*/.tmpl)
All files in the werf config templates directory (.werf by default) were treated as templates.
The template file must have .tmpl
extension.
[cleanup] Cast a user regexp value to full match regexp
[giterminism] Cast a user regexp value to full match regexp
Added .Values.global.werf.version service value with werf cli util version.
Fix remote git for stapel builder error: error writing … meta.json: no such file or directory
Rework ~/.werf/local_cache/git_*
caches files structure.
werf-giterminism.yaml
configuration file at https://werf.io/v1.2-alpha/documentation/advanced/configuration/giterminism.html.--loose-giterminism
option usage.Giterminism config reside in werf-giterminism.yaml
.
Allow fromLatest
and branch
:
giterminismConfigVersion: "1"
config:
stapel:
allowFromLatest: true
git:
allowBranch: true
Allow uncommitted config templates:
giterminismConfigVersion: "1"
config:
allowUncommittedTemplates:
- /*/**/
- .werf/template.tmpl
Other:
[cleanup] Fix goroutine stack exceeds limit
One checksum can be associated with many stages, so it is necessary to exclude the stage itself before processing linked imports
Fix deadline-exceeded when hook job took more than 5 min:
Implement fine-grained giterminism config (part 1), werf-giterminism.yaml
:
giterminismConfigVersion: 1
config:
stapel:
mount:
allowBuildDir:
allowFromPaths:
- PATH1
- PATH2
goTemplateRendering:
allowEnvVariables:
- VARIABLE_X
- VARIABLE_Y
- /CI_*/
dockerfile:
allowContextAddFile:
- aaa
- bbb
allowUncommitted:
- **/*
- myapp/Dockerfile
allowUncommittedDockerignoreFiles:
- **/*
- myapp/.dockerignore
WERF_LOOSE_GITERMINISM=1
still working but will be removed soon.
Fix werf-helm-template and werf-helm-lint commands try to load kube config; fix werf-render command excess options.
Extended support for git-submodules for the giterminism mode, added ability to have werf.yaml (or any other configuration files) which is symlink to another file, which reside in a submodule.
Fix “unable to create registry client” error when DOCKER_CONFIG variable is set
Fix panic when running ‘werf helm dependency update’ in the project with secret files
werf bundle export
— creates resulting bundle chart directory without publishing this chart into the docker registrwerf bundle download
— downloads previously published chart into the directory without applying it into the kuberneteUse default ~/.docker/config.json authentication data when publishing and applying bundles.
werf bundle apply
commandPublish (no kubernetes connection needed):
cd werf-project
werf bundle publish --repo REPO --tag TAG
Apply (Kubernetes connection required, no werf project needed):
werf bundle apply --repo REPO --tag TAG
Support following environment variables:
werf bundle publish --repo REPO --tag TAG
Will publish current chart of the werf project with together with built images and all needed service-values as an image into the provided REPO by the provided TAG. This command does not need a connection to the Kubernetes cluster.
Published bundle can be later installed using werf bundle apply ...
command, which is not implemented yet.
[true git] Fix SyncDevBranchWithStagedFiles handles submodules changes improperly
SyncDevBranchWithStagedFiles function creates commit but does not prepare worktree for it. Staged files may include submodule changes that require special handling
[dockerfile] Remove excess git ignored files check
[dockerfile] Fix contextAddFile checksum calculation
[logging] Show nameless image correctly
[tests] Build/Stapel/Git: developer mode test
[tests] Dockerfile Suite: fix project name is not set
[tests] Dockerfile Suite: upd contextAddFile test
[ci] Daily Tests: fix temporary docker config directory
werf-dev-<commit>
./werf
repo suffix for GitLab CI/CD;-werf
repo suffix for GitHub Actions.NOTE. This is breaking change, incompatible with the previous werf versions.
Support subcharts loading from the local filesystem in the giterminism mode:
requirements.lock
or Chart.lock
).No auto werf helm dependency build
yet.
[deploy] Fix max releases history: use default limit = 10.
[deploy] Fix dismiss –with-namespace not waiting until namespace terminated.
[build] Remove stages_and_images read-only lock during build process
Renamed determinism to giterminism: git + determinism or “determinated by the git”.
--disable-determinism
param renamed to --loose-giterminism
(WERF_DISABLE_DETERMINSM
to WERF_LOOSE_GITERMINISM
).
werf helm *
commands.[ci] Disable ECR and GitHub Packages cleanup tests more visibly.
[ci] Enable windows self hosted runners.
[ci] K8s versions: 1.16, 1.17, 1.18, 1.19.
[tests] Config Suite: fix line breaks.
[tests] Helm Suite
[render, windows] Fix helm does not recognize chart templates.
[windows] Fix unable to read file from local git repo.
[render] Fix comment with template source path.
Fix incorrect usage of println/printf-like functions.
Clean kubedog log from klog warnings: silence klog/v2 and klog.
Fix checking existence of secret files in chart.
[logging, debug] Disable debug docker messages.
[stapel] Remove the ability to cache each instruction separately with asLayers directive.
Remove unused code.
Remove samples.
WERF_KUBE_*
settings.Determinism is enabled by default since v1.2.1 version.
What’s new in this version:
image: X
dockerfile: Dockerfile
context: vote
contextAddFile:
- app.py
- some-generated-file.tar.gz
~/.werf/local_cache/git_data/1/tmp/
instead of /tmp
;~/.werf/local_cache/git_data/1/patches/
;~/.werf/local_cache/git_data/1/archives/
.WERF_<FORMATTED_WERF_IMAGE_NAME>_DOCKER_IMAGE_NAME
instead of WERF_IMAGE_<FORMATTED_WERF_IMAGE_NAME>_NAME
-/
in werf image name with _
mount
, git.branch
and fromLatest
directives are available only when determinism is disabled;.Files.Get
and .Files.Glob
read data only from the local git repo by default.Define –helm-chart-dir in the werf.yaml:
configVersion: 1
deploy:
helmChartDir: .helm
There is no more --helm-char-dir
option.
{{ .Env }}
to get an environment value which passed to the werf by –env option or WERF_ENV env var.Move –allow-git-shallow-clone, –git-unshallow and –git-history-synchronization options into werf.yaml. Added new gitWorktree meta section:
configVersion: 1
project: X
gitWorktree:
forceShallowClone: true|false (default false)
allowUnshallow: true|false (default true)
allowFetchOriginBranchesAndTags: true|false (default true)
Disabled ci-env generation of old options. Always unshallow git clone by default.
Added compose config | up | down commands. |
Refs https://github.com/werf/werf/issues/2874
~/.werf/local_cache/manifests
for local stages storage. Manifests cache for local stages storage causes problems when built image has been deleted accidentally or unintentionally by docker rmi or docker compose.[docs] Reform build-proces and stages-and-storage articles
--follow
param support for werf-run and werf-convergewerf converge --follow
will loop on changes into current git-repository and restart converge command when a new commit has been made.
werf run --follow
will loop on changes into current git-repository and restart docker container when a new commit has been made.
https://github.com/werf/helm/pull/64
#
Installation page: enable v1.2 beta switch.
Reimport files from artifacts only when files checksum itself has changed.
Introduction and using-with-ci-cd-system articles refinements.
Fix “… Object ‘Kind’ is missing …” error which occurs when templates contain empty yaml block.
--repo
images storage.Values.werf.image.NAME
or .Values.werf.image
(for nameless images);werf_image
as a main way to generate full image name.The work on documentation is still in progress. No russian version available.
For usage in critical environments with tight SLA
This is the most stable channel and recommended for usage in critical environments with tight SLA. We guarantee backward compatibility between Rock-Solid releases within minor branch (1.1.x). We guarantee that Stable release should become a Rock-Solid release not earlier than 2 weeks of broad testing.
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.1.31/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.31/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.1.30/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.30/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.1.28/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.28/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
fix(helm-v3): fixed panic in ‘werf helm-v3 *’ commands
Correction release for trdl package manager.
[v1.1][helm] Fix strict values yaml parsing introduced into werf
FIX: enable release publishing into the bintray mirror to support old multiwerf versions.
Update kubedog: fix Job hanging case (https://github.com/werf/kubedog/pull/184), fix color disabled in CI/CD systems.
Also:
[readme] Hide code coverage badge
[docs] Configuration/Cleanup: add directives overview
[docs] Configuration/Introduction: fix adding file with shell example
"virtual-merge-commit": "true"
label in the docker image of the stage was not reset to false when building a new image for regular commit (not virtual merge commit).
The error occurs when artifact image does not contain “nogroup” group, which was used by default when running rsync server. For example when using “maven:3.6.3-jdk-13” as artifact base image.
Fixed by running rsync server using root group.
https://github.com/flant/werf/issues/2407
The problem only reproduces when multiple git-mappings by the same url is used and these git-mappings use different commit.
After this release dockerInstructions signature will change if used after gitCache. Stage-not-exists in stages-storage errors may occur in this case.
Fix gitLatestPatch signature not stable against index-line changes in git patches.
Stable channel releases are mostly safe to use and we encourage to use this channel everywhere. We guarantee backward compatibility between Stable releases within minor branch (1.1.x). We guarantee that Early-Access release should become Stable not earlier than 1 week after internal tests
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.1.31/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.31/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.1.30/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.30/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.1.28/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.28/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
fix(helm): change broken default charts repo (use bitnami).
fix(cleanup): ignore harbor “unsupported 404 status code” errors
These errors may occur when harbor configured to use S3 backend, which may respond with the following error:
GET https://domain/harbor/s3/object/name/prefix/docker/registry/v2/blobs/sha256/2d/3d8c68cd9df32f1beb4392298a123eac58aba1433a15b3258b2f3728bad4b7d1/data?X-Amz-Algorithm=REDACTED&X-Amz-Credential=REDACTED&X-Amz-Date=REDACTED&X-Amz-Expires=REDACTED&X-Amz-Signature=REDACTED&X-Amz-SignedHeaders=REDACTED: unsupported status code 404; body: <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>NoSuchKey</Code><Message>The specified key does not exist.</Message><Resource>/harbor/s3/object/name/prefix/docker/registry/v2/blobs/sha256/3d/3d8c68cd9df32f1beb4392298a123eac58aba1433a15b3258b2f3728bad4b7d1/data</Resource><RequestId>c5bb943c-1e85-5930-b455-c3e8edbbaccd</RequestId></Error>
fix(helm-v3): fixed panic in ‘werf helm-v3 *’ commands
Correction release for trdl package manager.
[v1.1][helm] Fix strict values yaml parsing introduced into werf
FIX: enable release publishing into the bintray mirror to support old multiwerf versions.
[v1.1] Skip blob-unknown images in cleanup properly
Fix “Error: parsing file … failed: yaml: unmarshal errors … cannot unmarshal !!map into string”
werf-converge and werf-deploy commands will refuse to work when helm 3 release with the same name as target helm 2 release exists in the current namespace.
This check protects existing helm 3 release when your project has already been migrated from helm 2 to helm 3, but for some reason werf v1.1 tries to redeploy this release.
Fix “Error: parsing file … failed: yaml: unmarshal errors … cannot unmarshal !!map into string”
Update kubedog: fix Job hanging case (https://github.com/werf/kubedog/pull/184), fix color disabled in CI/CD systems.
Also:
Use 0:0 instead of root:root symbolic names in rsyncd which runs inside artifact.
Issue reproduces when artifact image does not have root line in the /etc/passwd
file.
Refs https://github.com/werf/werf/issues/2762
commit c4d8ccd9dcd8335493dbabd692d8d115841cab5e (HEAD -> master, origin/master, origin/HEAD)
Merge: d74ae250f a72139b32
Author: Timofey Kirillov timofey.kirillov@flant.com
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 timofey.kirillov@flant.com
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 timofey.kirillov@flant.com
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 timofey.kirillov@flant.com
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 timofey.kirillov@flant.com
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 alexey.igrychev@flant.com
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 timofey.kirillov@flant.com
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 timofey.kirillov@flant.com
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 timofey.kirillov@flant.com
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 timofey.kirillov@flant.com
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 timofey.kirillov@flant.com
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 alexey.igrychev@flant.com
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 alexey.igrychev@flant.com
Date: Mon Sep 21 11:30:34 2020 +0100
[cleanup] Fix runtime error when MANIFEST_UNKNOWN occurs
commit b4b4d3e2d01fffb0e89f81a2274800e5393d41d4
Author: Alexey Igrychev alexey.igrychev@flant.com
Date: Mon Sep 21 11:19:20 2020 +0100
[cleanup] Fix typo
commit 75bd2adf588ec972428d747f5a6ea6f395010a7a (origin/cleanup_default_parallel_tasks_limit)
Author: Alexey Igrychev alexey.igrychev@flant.com
Date: Mon Sep 21 11:15:46 2020 +0100
[cleanup] Increase default parallel tasks limit to 10
Fix deploy meta config templates defaults.
Fix deploy meta config templates defaults.
Fix deploy meta config templates defaults.
Fix deploy meta config templates defaults.
"virtual-merge-commit": "true"
label in the docker image of the stage was not reset to false when building a new image for regular commit (not virtual merge commit).
"virtual-merge-commit": "true"
label in the docker image of the stage was not reset to false when building a new image for regular commit (not virtual merge commit).
[cleanup] Fix UNAUTHORIZED: authentication required
error with gitlab.com
[docker_registry] Autodetect gitlab.com implementation
[docs] Fixed github stats api usage, requests will be sent only once an hour
Backport change for v1.1.16.
The error occurs when artifact image does not contain “nogroup” group, which was used by default when running rsync server. For example when using “maven:3.6.3-jdk-13” as artifact base image.
Fixed by running rsync server using root group.
https://github.com/flant/werf/issues/2407
The problem only reproduces when multiple git-mappings by the same url is used and these git-mappings use different commit.
https://github.com/flant/werf/issues/2407
The problem only reproduces when multiple git-mappings by the same url is used and these git-mappings use different commit.
After this release dockerInstructions signature will change if used after gitCache. Stage-not-exists in stages-storage errors may occur in this case.
Fix gitLatestPatch signature not stable against index-line changes in git patches.
Example of error:
delete stage image fdf27403-2c05-4966-850f-dbb0c79ff577 manually and retry the build
[dockerfile] Fix git status checksum algorithm does not count symlinks properly
[dockerfile] Skip outside the build context wildcard till fail on docker build
[dockerfile] Take into account ignored files by .gitignore files
[dockerfile] Change checksum calculation without git logic
Fix problems related to changes introduced in v1.1.8+fix13: signatures has been accidentally changed in v1.1.8+fix13.
Fixes that were made in v1.1.8+fix13 are also available in this v1.1.8+fix14 release:
[build][git] Handle “commits not present” line in git diffs
[build][git] Fix gitLatestPatch not built when previous stage has been discarded during build
[dockerfile] Fix ONBUILD instruction processing
[dockerfile] Fix git status checksum algorithm does not count symlinks properly
[dockerfile] Skip outside the build context wildcard till fail on docker build
[dockerfile] Take into account ignored files by .gitignore files
[dockerfile] Change checksum calculation without git logic
Fix COPY/ADD source path with trailing backslash is not counted in the signature.
For use in non critical environments or local development
These releases are mostly safe to use and can even be used in non critical environments or for local development. We do not guarantee backward compatibility between Early-Access releases.
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.1.33/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.33/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.1.32/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.32/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.1.31/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.31/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.1.30/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.30/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
To install werf
we strongly recommend following these instructions.
Alternatively, you can download werf
binaries from here:
These binaries were signed with PGP and could be verified with the werf PGP public key. For example, werf
binary can be downloaded and verified with gpg
on Linux with these commands:
curl -sSLO "https://tuf.werf.io/targets/releases/1.1.28/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.28/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
fix(helm): change broken default charts repo (use bitnami).
fix(cleanup): ignore harbor “unsupported 404 status code” errors
These errors may occur when harbor configured to use S3 backend, which may respond with the following error:
GET https://domain/harbor/s3/object/name/prefix/docker/registry/v2/blobs/sha256/2d/3d8c68cd9df32f1beb4392298a123eac58aba1433a15b3258b2f3728bad4b7d1/data?X-Amz-Algorithm=REDACTED&X-Amz-Credential=REDACTED&X-Amz-Date=REDACTED&X-Amz-Expires=REDACTED&X-Amz-Signature=REDACTED&X-Amz-SignedHeaders=REDACTED: unsupported status code 404; body: <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>NoSuchKey</Code><Message>The specified key does not exist.</Message><Resource>/harbor/s3/object/name/prefix/docker/registry/v2/blobs/sha256/3d/3d8c68cd9df32f1beb4392298a123eac58aba1433a15b3258b2f3728bad4b7d1/data</Resource><RequestId>c5bb943c-1e85-5930-b455-c3e8edbbaccd</RequestId></Error>
fix(helm-v3): fixed panic in ‘werf helm-v3 *’ commands
Correction release for trdl package manager.
[v1.1][helm] Fix strict values yaml parsing introduced into werf
FIX: enable release publishing into the bintray mirror to support old multiwerf versions.
[logging] Build: add waiting for background tasks log message.
[cleanup] Ignore blob-unknown errors properly.
During cleanup operation do not raise should-reset-stages-storage-cache error when get stage manifest operation have failed with
blob-unknown error.
[v1.1] Skip blob-unknown images in cleanup properly
Automatically invalidate corrupted manifests cache json records.
[buidler] Fix panic docker_registry.IsNameUnknownError
When some stage has appeared in the repository tags list, but stage image is invalid (due to MANIFEST_UNKNOWN or BLOB_UNKNOWN container registry errors), werf ignores such stage. But this stage-id of such broken stage has been saved into the stages-storage-cache anyway, which is wrong.
[builder] Proper rejection of blob-unknown stages
Do not reject stage when manifest-unknown or name-unknown errors detected. Only reject images with blob-unknown errors.
When some stage has appeared in the repository tags list, but stage image is invalid (due to MANIFEST_UNKNOWN or BLOB_UNKNOWN container registry errors), werf ignores such stage. But this stage-id of such broken stage has been saved into the stages-storage-cache anyway, which is wrong.
Reject stage when docker-pull have failed with the “blob unknown” error.
Add special record into the stages-storage for such rejected stages.
[v1.1] Add ability to set werf-stapel image name with WERF_STAPEL_IMAGE_NAME environment variable.
Fetch operation will check that image exists correctly and will reset stages building conveyor to rebuild this stage if needed.
[v1.1][GC] Fix StagesStorage ShouldFetch method: perform fresh docker-inspect, do not use cached inspection result from the previous inspect.
This fix particularly needed for the v1.2 host cleanup procedure which can remove freshly built and saved into the stages storage images. In such case should-fetch and stages-storage-manager fetch method will lock an image and perform standard fetch procedure.
[v1.1] Added stage image locking into stages-storage-manager to prevent v1.2 host cleanup procedure from deleting stages which are in use.
Completely remove redudant stages_and_images read-only shared lock usage to reduce the number of requests to lock-server.
Kubedog update: disable events informer with KUBEDOG_DISABLE_EVENTS=1
Add support for custom kube-context and kube-config-base64.
werf.yaml
...
{{- $values := .Files.Get "werf_values.yaml" | fromYaml -}} // or fromYaml (.Files.Get "werf_values.yaml")
from: {{- $values.image.from }}
werf_values.yaml
image:
from: alpine
werf-converge and werf-deploy commands will refuse to work when helm 3 release with the same name as target helm 2 release exists in the current namespace.
This check protects existing helm 3 release when your project has already been migrated from helm 2 to helm 3, but for some reason werf v1.1 tries to redeploy this release.
werf.yaml
...
{{- $values := .Files.Get "werf_values.yaml" | fromYaml -}} // or fromYaml (.Files.Get "werf_values.yaml")
from: {{- $values.image.from }}
werf_values.yaml
image:
from: alpine
Do not print warnings for MANIFEST_UNKNOWN and BLOB_UNKNOWN registry errors until werf-cleanup does not delete these images automatically.
[BLOB_UNKNOWN] Completely ignore images with BLOB_UNKNOWN errors from the standard docker registry
Add deprecation warning for the fromImageArtifact
directive.
Fix WERF_SET_* arguments are not active when –set has been specified issue. Add ability to specify WERF_SET_* order of processing by sorting environment variables alphanumerically by the name.
https://github.com/werf/werf/issues/3128
https://github.com/werf/werf/issues/3137
Complete list of refactored list arguments:
Process params as follows:
Fix “Error: parsing file … failed: yaml: unmarshal errors … cannot unmarshal !!map into string”
Update kubedog: fix Job hanging case (https://github.com/werf/kubedog/pull/184), fix color disabled in CI/CD systems.
Also:
Fix –docker-options option cannot contain multiple spaces.
Use 0:0 instead of root:root symbolic names in rsyncd which runs inside artifact.
Issue reproduces when artifact image does not have root line in the /etc/passwd
file.
Refs https://github.com/werf/werf/issues/2762
commit c4d8ccd9dcd8335493dbabd692d8d115841cab5e (HEAD -> master, origin/master, origin/HEAD)
Merge: d74ae250f a72139b32
Author: Timofey Kirillov timofey.kirillov@flant.com
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 timofey.kirillov@flant.com
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 timofey.kirillov@flant.com
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 timofey.kirillov@flant.com
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 timofey.kirillov@flant.com
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 alexey.igrychev@flant.com
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 timofey.kirillov@flant.com
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 timofey.kirillov@flant.com
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 timofey.kirillov@flant.com
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 timofey.kirillov@flant.com
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 timofey.kirillov@flant.com
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 alexey.igrychev@flant.com
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 alexey.igrychev@flant.com
Date: Mon Sep 21 11:30:34 2020 +0100
[cleanup] Fix runtime error when MANIFEST_UNKNOWN occurs
commit b4b4d3e2d01fffb0e89f81a2274800e5393d41d4
Author: Alexey Igrychev alexey.igrychev@flant.com
Date: Mon Sep 21 11:19:20 2020 +0100
[cleanup] Fix typo
commit 75bd2adf588ec972428d747f5a6ea6f395010a7a (origin/cleanup_default_parallel_tasks_limit)
Author: Alexey Igrychev alexey.igrychev@flant.com
Date: Mon Sep 21 11:15:46 2020 +0100
[cleanup] Increase default parallel tasks limit to 10
werf deploy
command when WERF_DEPLOY_HELM_V3=1
is set.
.helm
dir;werf helm-v3 get all RELEASE
.werf dismiss
command should use helm-v3 and wait until resources deleted;werf helm-v3
subcommands.[readme] Hide code coverage badge
[docs] Configuration/Cleanup: add directives overview
[docs] Configuration/Introduction: fix adding file with shell example
Fix deploy meta config templates defaults.
"virtual-merge-commit": "true"
label in the docker image of the stage was not reset to false when building a new image for regular commit (not virtual merge commit).
"virtual-merge-commit": "true"
label in the docker image of the stage was not reset to false when building a new image for regular commit (not virtual merge commit).
[cleanup] Gitlab registry implementation: use deleting a tag method instead of an image
More details in gitlab-org/container-registry documentation:
Git history based cleanup related doc articles has been translated.