Для критичных окружений с высоким SLA
Канал обновлений Rock-Solid рекомендуется использовать в критичных окружениях с высоким SLA. Мы гарантируем обратную совместимость между версиями канала обновлений Rock-Solid в пределах минорной версии (1.1.x). Мы гарантируем, что версия из канала обновлений Stable перейдет в канал обновлений Rock-Solid не ранее чем через 2 недели плотного тестирования.
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.288/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.288/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.277/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.277/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.281/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.281/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.277/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.277/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.276/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.276/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.267/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.267/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.253/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.253/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.248/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.248/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.246/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.246/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.235/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.235/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.233/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.233/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.232/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.232/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.205/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.205/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.184/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.184/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.162/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.162/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.115/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.115/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.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 можно безопасно использовать и мы рекомендуем этот канал обновлений везде. Мы гарантируем обратную совместимость между версиями канала обновлений Stable в пределах минорной версии (1.1.x). Мы гарантируем, что версия канала обновлений Early-Access перейдет в канал обновлений Stable не ранее чем через две недели после внутреннего тестирования.
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.289/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.289/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.288/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.288/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.281/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.281/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.277/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.277/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.281/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.281/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.277/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.277/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.276/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.276/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.269/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.269/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.267/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.267/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.253/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.253/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.248/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.248/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.246/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.246/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.235/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.235/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.233/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.233/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.232/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.232/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.207/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.207/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.205/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.205/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.188/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.188/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.186/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.186/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.184/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.184/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.163/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.163/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.162/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.162/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.161/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.161/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.160/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.160/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.159/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.159/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.158/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.158/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.157/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.157/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.156/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.156/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.155/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.155/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
from
directive (0974f3a)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.146/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.146/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.140/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.140/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.138/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.138/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.115/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.115/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.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
Для некритичных окружений или локальной разработки
Версии этого канала обновлений обычно безопасно использовать в некритичных окружениях или при локальной разработке. Мы не гарантируем обратную совместимость между версиями канала обновлений Early-Access.
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.294/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.294/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.289/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.289/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.288/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.288/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.286/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.286/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.281/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.281/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.277/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.277/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.276/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.276/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.271/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.271/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.269/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.269/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.270/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.270/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.269/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.269/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.267/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.267/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.253/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.253/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.248/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.248/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.249/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.249/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.248/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.248/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.246/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.246/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.241/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.241/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.235/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.235/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.233/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.233/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.232/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.232/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.219/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.219/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.207/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.207/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.205/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.205/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.197/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.197/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.198/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.198/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.197/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.197/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.196/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.196/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.195/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.195/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.194/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.194/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.193/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.193/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.191/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.191/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.190/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.190/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.188/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.188/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.186/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.186/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.184/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.184/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.181/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.181/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.178/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.178/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.177/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.177/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.175/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.175/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.176/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.176/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.174/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.174/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.163/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.163/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.162/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.162/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.161/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.161/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.160/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.160/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.159/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.159/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.158/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.158/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.157/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.157/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.156/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.156/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.155/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.155/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.154/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.154/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.149/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.149/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
from
directive (0974f3a)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.146/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.146/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.144/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.144/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.143/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.143/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.137/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.137/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.138/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.138/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.126/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.126/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.122/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.122/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.117/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.117/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.115/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.115/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.109/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.109/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.107/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.107/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.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 cont
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.
Для более глубокого тестирования новых возможностей
Версии этого канала обновлений предназначены для более глубокого тестирования новых возможностей. Мы не гарантируем обратную совместимость между версиями канала обновлений Beta.
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.295/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.295/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.294/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.294/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.289/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.289/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.288/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.288/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.287/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.287/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.286/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.286/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.284/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.284/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.281/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.281/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.278/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.278/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.277/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.277/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.276/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.276/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.274/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.274/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.271/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.271/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.269/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.269/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.270/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.270/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.269/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.269/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.267/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.267/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.266/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.266/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.253/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.253/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.252/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.252/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.249/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.249/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.248/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.248/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.246/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.246/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.241/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.241/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.235/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.235/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.233/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.233/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.232/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.232/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.230/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.230/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.224/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.224/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.222/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.222/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.219/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.219/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.207/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.207/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.214/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.214/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.207/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.207/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.205/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.205/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.204/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.204/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.202/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.202/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.201/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.201/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.200/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.200/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.197/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.197/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.198/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.198/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.197/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.197/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.196/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.196/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.195/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.195/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.194/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.194/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.193/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.193/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.191/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.191/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.190/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.190/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.188/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.188/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.186/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.186/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.184/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.184/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.181/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.181/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.178/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.178/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.180/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.180/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.178/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.178/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.177/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.177/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.175/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.175/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.176/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.176/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.174/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.174/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.173/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.173/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.172/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.172/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.169/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.169/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.168/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.168/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.166/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.166/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.163/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.163/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.162/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.162/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.161/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.161/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.160/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.160/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.159/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.159/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.158/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.158/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.157/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.157/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.156/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.156/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.155/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.155/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.154/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.154/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.153/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.153/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.151/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.151/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.150/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.150/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.149/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.149/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.147/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.147/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
from
directive (0974f3a)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.146/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.146/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.144/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.144/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.143/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.143/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.141/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.141/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.140/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.140/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
$WERF_BUILDAH_ULIMIT
(734963a)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.139/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.139/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.135/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.135/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.134/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.134/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.132/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.132/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.126/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.126/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.123/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.123/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.122/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.122/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.121/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.121/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.119/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.119/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.117/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.117/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
werf helm
(c968c08)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.116/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.116/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.115/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.115/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.114/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.114/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
unable to recognize "": no matches for kind "..." in version "..."
errors when base64 kubeconfig used (90678ec)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.113/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.113/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.109/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.109/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.108/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.108/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.107/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.107/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.106/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.106/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.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 cont
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 registry.werf bundle download
— downloads previously published chart into the directory without applying it into the kubernetes.Use 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.
Наименее стабильный канал обновлений
Версии этого канала обновлений могут содержать новые возможности, а также быть нестабильными, иметь ошибки. Мы не гарантируем обратную совместимость между версиями канала обновлений Alpha.
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.295/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.295/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.294/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.294/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.293/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.293/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.292/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.292/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.291/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.291/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.290/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.290/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.289/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.289/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.288/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.288/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.287/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.287/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.286/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.286/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.285/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.285/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.284/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.284/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.283/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.283/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.282/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.282/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.281/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.281/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.278/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.278/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.280/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.280/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.278/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.278/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.280/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.280/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.279/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.279/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.278/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.278/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.277/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.277/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.276/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.276/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.275/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.275/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.274/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.274/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.273/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.273/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.272/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.272/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.271/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.271/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.269/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.269/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.270/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.270/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.269/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.269/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.268/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.268/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.267/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.267/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.266/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.266/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.265/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.265/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.264/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.264/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.263/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.263/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.262/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.262/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.261/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.261/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.260/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.260/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.259/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.259/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.258/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.258/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.257/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.257/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.256/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.256/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.254/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.254/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.253/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.253/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.252/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.252/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.251/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.251/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.250/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.250/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.249/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.249/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.248/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.248/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.247/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.247/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.246/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.246/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.243/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.243/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.242/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.242/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.241/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.241/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.240/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.240/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.239/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.239/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.238/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.238/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.237/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.237/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.235/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.235/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.234/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.234/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.233/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.233/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.232/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.232/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.230/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.230/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.227/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.227/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.226/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.226/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.224/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.224/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.223/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.223/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.222/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.222/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.221/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.221/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.220/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.220/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.219/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.219/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.218/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.218/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.217/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.217/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.216/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.216/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.215/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.215/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.214/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.214/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.212/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.212/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.211/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.211/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.207/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.207/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.209/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.209/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.207/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.207/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.206/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.206/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.205/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.205/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.204/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.204/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.203/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.203/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.202/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.202/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.201/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.201/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.200/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.200/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.197/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.197/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.199/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.199/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.198/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.198/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.197/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.197/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.196/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.196/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.195/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.195/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.194/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.194/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.193/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.193/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.192/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.192/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.191/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.191/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.190/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.190/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.189/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.189/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.188/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.188/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.186/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.186/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.185/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.185/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.184/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.184/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.183/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.183/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.182/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.182/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.181/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.181/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.180/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.180/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.179/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.179/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.178/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.178/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.177/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.177/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.176/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.176/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.175/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.175/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.176/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.176/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.175/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.175/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.174/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.174/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.173/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.173/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.172/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.172/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.171/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.171/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.170/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.170/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.169/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.169/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.168/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.168/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.167/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.167/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.166/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.166/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.165/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.165/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.164/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.164/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.163/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.163/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.162/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.162/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.161/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.161/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.160/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.160/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.159/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.159/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.158/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.158/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.157/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.157/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.156/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.156/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.155/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.155/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.154/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.154/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.153/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.153/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.152/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.152/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.151/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.151/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.150/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.150/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.149/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.149/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.148/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.148/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.147/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.147/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
from
directive (0974f3a)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.146/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.146/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.145/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.145/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.144/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.144/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.143/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.143/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
tpl
performance improved (bc28f48)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.142/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.142/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.141/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.141/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.140/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.140/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
$WERF_BUILDAH_ULIMIT
(734963a)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.139/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.139/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.138/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.138/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.136/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.136/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.135/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.135/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.134/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.134/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.133/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.133/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.132/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.132/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.131/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.131/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.130/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.130/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.128/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.128/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.126/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.126/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
tpl
performance improved (7422424)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.125/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.125/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.123/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.123/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.122/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.122/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.121/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.121/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.120/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.120/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.119/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.119/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.118/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.118/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.117/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.117/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
werf helm
(c968c08)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.116/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.116/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.115/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.115/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.114/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.114/linux-amd64/bin/werf.sig"
curl -sSL https://werf.io/werf.asc | gpg --import
gpg --verify werf.sig werf
unable to recognize "": no matches for kind "..." in version "..."
errors when base64 kubeconfig used (90678ec)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.113/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.113/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.112/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.112/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.111/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.111/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.110/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.110/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.109/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.109/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.108/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.108/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.107/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.107/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.106/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.2.106/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.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 strict
.git 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 sidebar.
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 cont
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 registry.werf bundle download
— downloads previously published chart into the directory without applying it into the kubernetes.Use 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.
Для критичных окружений с высоким SLA
Канал обновлений Rock-Solid рекомендуется использовать в критичных окружениях с высоким SLA. Мы гарантируем обратную совместимость между версиями канала обновлений Rock-Solid в пределах минорной версии (1.1.x). Мы гарантируем, что версия из канала обновлений Stable перейдет в канал обновлений Rock-Solid не ранее чем через 2 недели плотного тестирования.
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.34/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.34/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-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 можно безопасно использовать и мы рекомендуем этот канал обновлений везде. Мы гарантируем обратную совместимость между версиями канала обновлений Stable в пределах минорной версии (1.1.x). Мы гарантируем, что версия канала обновлений Early-Access перейдет в канал обновлений Stable не ранее чем через две недели после внутреннего тестирования.
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.34/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.34/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.
[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:
Error: phase build on image frontend stage gitCache handler failed: error checking stage ↵
gitCache is empty: invalid stage image: can not find git commit in stage image labels: ↵
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.
Для некритичных окружений или локальной разработки
Версии этого канала обновлений обычно безопасно использовать в некритичных окружениях или при локальной разработке. Мы не гарантируем обратную совместимость между версиями канала обновлений Early-Access.
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.34/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.34/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.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.
Do origin fetch only when git shallow clone is detected. The complete commit history is enough for all commands except images cleanup.
[cleanup] Fix UNAUTHORIZED: authentication required
error with gitlab.com
[docker_registry] Autodetect gitlab.com implementation
The hanging case was in the lockgate library, described in the https://github.com/werf/lockgate/pull/24.
This option is not avaiable in the v2.17.1 version of git, which is the latest avaiable version for 18.04 lts ubuntu.
Specify target commit instead (which is by the way a faster and more precise approach).
[docs] Fixed github stats api usage, requests will be sent only once an hour
Backport change for v1.1.16.
{{ range $path, $content := .Files.Glob ".werf/files/**" }}
{{ $path }}: |
{{ $content | indent 2 }}
{{ end }}
Process symlinks with .Files.Glob
.Files.Glob returns the hash of regular files and their contents for the paths that are matched pattern. This function follows only symlinks pointed to a regular file (not to a directory).
.Files.Glob: has an ability to merge results
The function supports shell pattern matching + **
. Results can be merged with merge
sprig function (e.g {{ $filesDict := merge (.Files.Glob "*/*.txt") (.Files.Glob "app/
**/*.txt") }}
)
[ci_env] GitHub: fix typo os.Getenv(“IMAGES REPO”)
[cli] Fix –release and –namespace params: add WERF_RELEASE and WERF_NAMESPACE options
Automatically set gitlab docker registry implementation for stages storage and images repo.
Fix for a case when two images of the same stage for two consecutive commits are building at the same time. This can lead to the bug, because werf uses oldest stage by creation timestamp and not oldest by save-into-stages-storage timestamp.
Use selection based on saving-into-stages-storage-timestamp instead of docker-image creation timestamp.
After this change stages-storage-cache will be invalidated automatically.
Fix for a case when two images of the same stage for two consecutive commits are building at the same time. This can lead to the bug, because werf uses oldest stage by creation timestamp and not oldest by save-into-stages-storage timestamp.
Use selection based on saving-into-stages-storage-timestamp instead of docker-image creation timestamp.
After this change stages-storage-cache will be invalidated automatically.
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.
Werf automatically retries pull/push operations on internal server errors.
After this release dockerInstructions signature will change if used after gitCache. Stage-not-exists in stages-storage errors may occur in this case.
Auto reset stages-storage-cache and retry action when docker-image has been deleted from stages-storage, but exists in the stages-storage-cache.
Fix gitLatestPatch signature not stable to index line in patches.
Fix gitLatestPatch signature not stable against index-line changes in git patches.
Example of error:
Error: phase build on image frontend stage gitCache handler failed: error checking stage ↵
gitCache is empty: invalid stage image: can not find git commit in stage image labels: ↵
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.
INCOMPATIBLE CHANGE Fix stages and images isolation problem for git-latest-patch and stages-signature
gitLatestPatch stage was not isolated between different branches when the same changes
has been made in two different commits: added commits ancestry check when selecting
suitable stage from cache for gitLatestPatch. The signature of gitLatestPatch stage
has not been changed.
Stages-signature was not isolated between different branches when the same
changes has been maed in two different commits. IMPORTANT stages-signature
calculation algorithm has been changed, stages-signature will change for all projects
that use stages-signature tagging strategy (content-based).
Docker parser coverts dockerfile stage name (AS) to lowercase but in places of the name usage (COPY –from) does not.
This affected dockerfile stage signature calculation and occurred false warning messages.
Для более глубокого тестирования новых возможностей
Версии этого канала обновлений предназначены для более глубокого тестирования новых возможностей. Мы не гарантируем обратную совместимость между версиями канала обновлений Beta.
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.34/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.34/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.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.
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:
Added .Values.global.werf.version service value with werf cli util version.
Fix redundant stapel container initialization for dockerfile image
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.
https://github.com/werf/helm/pull/61
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
Add support for werf helpers templates (werf_container_image, werf_container_env) and service values for werf-deploy command when WERF_DEPLOY_HELM_V3=1
is set.
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.Werf now can be used as helm-3 replacement with helmfile as follows:
Install latest helmfile.
Install helm-diff plugin (which is needed for the helmfile):
source $(multiwerf use 1.1 alpha --as-file)
werf helm-v3 plugin install https://github.com/databus23/helm-diff
repositories:
- name: stable
url: https://kubernetes-charts.storage.googleapis.com
releases:
- name: mytraefik
namespace: aaa
createNamespace: true
wait: true
chart: stable/traefik
labels:
name: traefik-public
version: 1.86.2
WERF_HELM3_MODE=1
— this will make werf binary CLI interface helm-compatible, then run helmfile
with --helm-binary=werf
.source $(multiwerf use 1.1 alpha --as-file)
export WERF_HELM3_MODE=1
helmfile -b werf apply
werf list --namespace aaa
NOTE Helmfile does not support live output from helm binary, so werf rich live output will be available only after werf command is done. However werf output with --wait
flag is more useful than helm’s output even in that condition and werf will “fail fast” when something goes wrong during deploy process.
Refs https://github.com/werf/werf/issues/1606
Refs https://github.com/werf/helm/pull/50
[readme] Hide code coverage badge
[docs] Configuration/Cleanup: add directives overview
[docs] Configuration/Introduction: fix adding file with shell example
Ignore image names with capital letters for managed-images records.
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).
[cleanup] Gitlab registry implementation: use deleting a tag method instead of an image
More details in gitlab-org/container-registry documentation:
Use https://synchronization.werf.io by default when stages-storage not :local.
Fix manifest-cache not filled by manifests of newly built stages. Store manifest of newly built stage into manifest stage immediately after building, before storing this stage into stages storage.
{"err":"","echo":"","status":"OK"}
.{"echo": "HEY!"}
gives: {"err":"","echo":"HEY!","status":"OK"}
.https://github.com/werf/lockgate/pull/26
Do origin fetch only when git shallow clone is detected. The complete commit history is enough for all commands except images cleanup.
[cleanup] Change configuration syntax: replace createdIn/publishedIn with in
[docs] Configuration/Cleanup: replace createdIn/publishedIn with in
[tests] Cleanup Suite: update syntax
[tests] Cleanup Suite: fix checks are not compatible with monorepo implementations
[cleanup] UNAUTHORIZED error should not be ignored
[cleanup] Fail purge commands if deletion failed due to using by containers without the force option
[docs] Reference/Cleanup: more details for git history based cleanup
[managed images] Ignore artifact names
[docs] Adding href rels to topnav.html
[docs] Adding rels to slack_popup.html links for security
[dockerfile] Take into account ONBUILD instructions from base image
[tests] Cleanup Suite: fix commit commiter when overriding
[cleanup] Improve logging: shortify commit and content signature
[cleanup] Disable meta images fetching by default
Fix AWS ECR build/publish problem ‘Image has to have at least 1 layer’
Create empty zero-bytes layer for manifest-only images: managed images records and image metadata by commit id records.
[cleanup] Update default policies
[cleanup] Fix parsing of cleanup policy tag/branch parameter
[cleanup] Use creation date for annotated tags instead of head commit date
[docs] Reference/Git history based cleanup
[cleanup] Git history based cleanup: improve algorithm
cleanup:
keepPolicies:
- references:
branch: /.*/
tag: /.*/
limit:
last: 10
createdIn: 168h
operator: And
imagesPerReference:
last: 10
publishedIn: 168h
operator: And
[tests] Cleanup Suite: git history based tests
[logging] Optimize verbose output
[dockerfile] Take into account ONBUILD instructions from base image
[tests] Cleanup Suite: fix commit commiter when overriding
[cleanup] Improve logging: shortify commit and content signature
[cleanup] Disable meta images fetching by default
Fix AWS ECR build/publish problem ‘Image has to have at least 1 layer’
Create empty zero-bytes layer for manifest-only images: managed images records and image metadata by commit id records.
[cleanup] Update default policies
[cleanup] Fix parsing of cleanup policy tag/branch parameter
[cleanup] Use creation date for annotated tags instead of head commit date
[docs] Reference/Git history based cleanup
[cleanup] Git history based cleanup: improve algorithm
cleanup:
keepPolicies:
- references:
branch: /.*/
tag: /.*/
limit:
last: 10
createdIn: 168h
operator: And
imagesPerReference:
last: 10
publishedIn: 168h
operator: And
[tests] Cleanup Suite: git history based tests
[logging] Optimize verbose output
[cleanup] Fix UNAUTHORIZED: authentication required
error with gitlab.com
[docker_registry] Autodetect gitlab.com implementation
[cleanup] Fix UNAUTHORIZED: authentication required
error with gitlab.com
[docker_registry] Autodetect gitlab.com implementation
[cleanup] Fix UNAUTHORIZED: authentication required
error with gitlab.com
[docker_registry] Autodetect gitlab.com implementation
The hanging case was in the lockgate library, described in the https://github.com/werf/lockgate/pull/24.
This option is not avaiable in the v2.17.1 version of git, which is the latest avaiable version for 18.04 lts ubuntu.
Specify target commit instead (which is by the way a faster and more precise approach).
[docs] Fixed github stats api usage, requests will be sent only once an hour
Backport change for v1.1.16.
{{ range $path, $content := .Files.Glob ".werf/files/**" }}
{{ $path }}: |
{{ $content | indent 2 }}
{{ end }}
Process symlinks with .Files.Glob
.Files.Glob returns the hash of regular files and their contents for the paths that are matched pattern. This function follows only symlinks pointed to a regular file (not to a directory).
.Files.Glob: has an ability to merge results
The function supports shell pattern matching + **
. Results can be merged with merge
sprig function (e.g {{ $filesDict := merge (.Files.Glob "*/*.txt") (.Files.Glob "app/
**/*.txt") }}
)
[ci_env] GitHub: fix typo os.Getenv(“IMAGES REPO”)
[cli] Fix –release and –namespace params: add WERF_RELEASE and WERF_NAMESPACE options
Automatically set gitlab docker registry implementation for stages storage and images repo.
[dockerfile] Fix COPY –from arbitrary image (not only dockerfile stage)
Guides/GitLab CI/CD integration: added overview
Fix for a case when two images of the same stage for two consecutive commits are building at the same time. This can lead to the bug, because werf uses oldest stage by creation timestamp and not oldest by save-into-stages-storage timestamp.
Use selection based on saving-into-stages-storage-timestamp instead of docker-image creation timestamp.
After this change stages-storage-cache will be invalidated automatically.
Fix for a case when two images of the same stage for two consecutive commits are building at the same time. This can lead to the bug, because werf uses oldest stage by creation timestamp and not oldest by save-into-stages-storage timestamp.
Use selection based on saving-into-stages-storage-timestamp instead of docker-image creation timestamp.
After this change stages-storage-cache will be invalidated automatically.
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.
Werf automatically retries pull/push operations on internal server errors.
[docs] Guides/GitLab CI/CD integration
[docs] Support hiding headers in TOC
After this release dockerInstructions signature will change if used after gitCache. Stage-not-exists in stages-storage errors may occur in this case.
Detailed error messages for git submodules when submodule exists in the repo in the incorrect state.
[test] Test “Check broken links” hase been updated.
Werf now can store stages in the docker registry by specifying --stages-storage REPO
instead of --stages-storage :local
.
There is no more restriction that a single host should be used to run all werf commands for a project:
“werf ci-env gitlab” default mode now is to store stages by path CI_REGISTRY_IMAGE/stages
. All existing werf installations will continue to use :local
stages storage because --stages-storage :local
param has explicitly been specified in all CI-configs. So to use distributed builds user needs to remove this param, see guided steps below about migrating to the distributed stages storage.
Introduced a new parameter named --synchronization
, which controls how multiple werf processes are synchronized between each other. There is a stages-storage cache and locks components that werf needs to run. Stages storage cache is an internal component used to boost werf performance for idle builds when calculating stages. Locks are needed to organize correct publishing of new stages into stages-storage, publishing images into images-repo and for deploy process also.
When --synchronization :local
used (which is factually by default in the previous versions < v1.1.10), then stages-storage cache reside in the local host file system (~/.werf/shared_context/storage/stages_storage_cache/1/PROJECT
) and local file locks are used.
When --synchronization kubernetes://NAMESPACE
is used, then werf creates a ConfigMap for project in this namespace, stores stages storage cache in this ConfigMap and uses distributed locking over this ConfigMap to synchronize multiple werf processes running from multiple hosts.
By default, when non local stages-storage is used werf automatically use kubernetes://werf-synchronization
namespace and create a ConfigMap named werf-PROJECT
in this namespace. User can specify arbitrary non-standard namespace on own needs.
What about local docker images cache on hosts where werf is running? — There is such a cache, which is cleared either by the werf itself or can freely be removed by other tools (docker rmi).
werf stages sync --from=:local|REPO --to=:local|REPO
.
--remove-source
and --cleanup-local-cache
, which controls whether werf will delete synced stages from source stages-storage and wheter werf will cleanup localhost from temporary docker images created during sync process.werf stages switch-from-local --to=REPO
Let’s say you have some project in Gitlab CI, that uses werf. Steps:
--stages-storage :local
param from all werf invocations. There is no need to set this param explicitly anymore, because werf ci-env
will automatically set it to CI_REGISTRY_IMAGE/stages
.werf stages switch-from-local --to=CI_REGISTRY_IMAGE/stages
where CI_REGISTRY_IMAGE is the address of container registry for your gitlab project. After this step all werf invocations from different git branches of the project that uses --stages-storage :local
will refuse to work, because switch-from-local command sets a block to use :local.:local
stages storage.[docs] Remove –stages-storage :local from Gitlab CI docs
[ci] Cache GO modules
[tests] New tests
[tests] K8S/Cleanup Suite: test cleanup with deployed image
[tests] K8S/Guides Suite: actualize after each
Error: –stages-storage=ADDRESS param required
[tests] Helm/Render Suite: add extra annotations and labels check
[tests] Cleanup Suite: test stages storage repo
Auto reset stages-storage-cache and retry action when docker-image has been deleted from stages-storage, but exists in the stages-storage-cache.
Fix gitLatestPatch signature not stable to index line in patches.
Example of error:
Error: phase build on image frontend stage gitCache handler failed: error checking stage ↵
gitCache is empty: invalid stage image: can not find git commit in stage image labels: ↵
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
[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
[cleanup] Skip images with MANIFEST_UNKNOWN error
[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
Invalidate stages-storage-cache directory when old cache directory exists. Remove old and current stages-storage-cache directories in this case.
Fix COPY/ADD source path with trailing backslash is not counted in the signature.
For now only when building from single host. Building from multiple hosts will be available soon in v1.1.
Fix COPY/ADD source path with trailing backslash is not counted in the signature.
Support import from certain artifact/image stage
Added ability to specify stage
directive in the import directive to perform import from certain artifact or image stage:
import:
- add: /file
to: /file
artifact: myartifact
before: setup
stage: install
Note that image which imports some files from another image stage will be rebuild only if this specified stage has been rebuilt.
This feature allows to avoid unnecessary imports of unchanged files.
Implementation details
werf build -s :local ARTIFACT_NAME1 ARTIFACT_NAME2 ...
INCOMPATIBLE CHANGE Fix stages and images isolation problem for git-latest-patch and stages-signature
gitLatestPatch stage was not isolated between different branches when the same changes
has been made in two different commits: added commits ancestry check when selecting
suitable stage from cache for gitLatestPatch. The signature of gitLatestPatch stage
has not been changed.
Stages-signature was not isolated between different branches when the same
changes has been maed in two different commits. IMPORTANT stages-signature
calculation algorithm has been changed, stages-signature will change for all projects
that use stages-signature tagging strategy (content-based).
Fix werf extra labels and annotations not added to deployed resources.
Unfortunately revert fix to the problem with ‘|’ rendered as ‘|-‘ in kubernetes templates,
which was in the https://github.com/flant/werf/releases/tag/v1.1.7 release.
The fix for this problem is being investigated and will be released soon.
Fix “UNSUPPORTED: Invalid parameter at ‘maxResults’” when using ECR. Fixed by updating github.com/google/go-containerregistry, the issue: https://github.com/google/go-containerregistry/issues/681.
Added publications about werf 1.1.
Fix “UNSUPPORTED: Invalid parameter at ‘maxResults’” when using ECR. Fixed by updating github.com/google/go-containerregistry, the issue: https://github.com/google/go-containerregistry/issues/681.
Added publications about werf 1.1.
Fix “UNSUPPORTED: Invalid parameter at ‘maxResults’” when using ECR. Fixed by updating github.com/google/go-containerregistry, the issue: https://github.com/google/go-containerregistry/issues/681.
Added publications about werf 1.1.
When running werf in ci with werf ci-env
command, then either:
create cleanup config for the host:
mkdir ~/.werf/config
echo "stagesSignatureStrategyExpiryDays: 30" >> ~/.werf/config/cleanup.yaml
echo "stagesSignatureStrategyLimit: 50" >> ~/.werf/config/cleanup.yaml
export environment variables in your CI/CD system: WERF_STAGES_SIGNATURE_STRATEGY_LIMIT=50
and WERF_STAGES_SIGNATURE_STRATEGY_EXPIRY_DAYS=30
.
By default werf will not cleanup images published with stages-signature tagging strategy and related stages.
For now only when building from single host. Building from multiple hosts will be available soon in v1.1.
When running werf in ci with werf ci-env
command, then either:
create cleanup config for the host:
mkdir ~/.werf/config
echo "stagesSignatureStrategyExpiryDays: 30" >> ~/.werf/config/cleanup.yaml
echo "stagesSignatureStrategyLimit: 50" >> ~/.werf/config/cleanup.yaml
export environment variables in your CI/CD system: WERF_STAGES_SIGNATURE_STRATEGY_LIMIT=50
and WERF_STAGES_SIGNATURE_STRATEGY_EXPIRY_DAYS=30
.
By default werf will not cleanup images published with stages-signature tagging strategy and related stages.
Change gopkg.in/yaml.v2
to github.com/ghodss/yaml
in custom werf templates engine,
as github.com/ghodss/yaml
is used everywhere in the helm 2.
In the helm 3 sigs.k8s.io/yaml
is used, but it is not possible for now to switch to sigs.k8s.io/yaml
before switching to helm 3 codebase.
https://github.com/helm/helm/blob/master/pkg/engine/funcs.go#L27
Added rss feeds for werf releases.
[dockerfile] Fail build if dockerfile COPY instruction refers to nonexistent stage.
Docker parser coverts dockerfile stage name (AS) to lowercase but in places of the name usage (COPY –from) does not.
This affected dockerfile stage signature calculation and occurred false warning messages.
[dockerfile] Fix calculating context files checksum when submodule is used
Fix creating an archive fails when nested submodules is used
Fix creating an archive fails when submodule dir/file is specified in git.add
Implemented content based tagging and new stages storage architecture as a big step toward distributed and concurrent builds.
New stage name generation rule. Every build of the stage generates uniq stage-cache image name, which consists of 2 parts: signature (as in v1.0) plus unique identifier.
For example, full stage image name will look like:
werf-stages-storage/myproject:d2c5ad3d2c9fcd9e57b50edd9cb26c32d156165eb355318cebc3412b-1582656767835
werf-stages-storage/PROJECT:SIGNATURE-TIMESTAMP_MILLISEC
Signature identifier of the stage represents content of the stage and depends on git history which lead to this content.
Werf stage selection algorithm is based on the git commits ancestry detection:
Werf calculates a stage signature for some stage.
There may be multiple stages in the stages storage by this signature, werf selects all suitable stages by the signature.
If current stage is related to git (git-archive, user stage with git patch or git latest patch), then werf selects only
those stages which are relaed to the commit that is ancestor of current git commit.
Select from the remaining stages the oldest by the creation timestamp.
There may be multiple built images for a single signature.
Stage for different git branches can have the same signature, but werf will prevent cache of different git branches from
being reused for totally different branch.
For more info see documentation: https://werf.io/v1.1-beta/documentation/reference/stages_and_images.html#stage-naming.
If suitable stage has not been found during stage selection, werf starts building a new image for stage.
Note that multiple processes (on a single or multiple hosts) may start building the same stage at the same time. Werf uses optimistic locking when saving newly built image into the stages storage: when a new stage has been built werf locks stages storage and saves newly built stage image into storage stages cache only if there are no suitable already existing stages exists. Newly saved image will have a guaranteed unique identifier
by TIMESTAMP_MILLISEC
. In the case when already existing stage has been found in the stages storage werf will discard newly built image and
use already existing one as a cache.
In other words: the first process which finishes the build (the fastest one) will have a chance to save newly built stage into the stages storage. The slow build process will not block faster processes from saving build results and building next stages.
For more info see documentation: https://werf.io/v1.1-beta/documentation/reference/stages_and_images.html#stage-building-and-saving.
This new stages storage architecture opens up an opportunities to build stages concurrently and even distributely
from multiple build machines. For now there are no theoretical limitations of current werf architecture to implement
distributed or concurrent builds. So we consider this release as a big step towards distributed and concurrent builds.
Werf have an --stages-storage
and --synchronization
parameters which specify addresses of the stages storage and
synchronization lock manager. For now there is only :local
implementations of both primitives. By changing these implementations to docker-registry for the stages storage and Redis or Kubernetes server based synchronization lock manager, werf will implement distributed builds out of the box.
Werf v1.1 supports so called content based tagging. Tags of resulting docker images depend on the content of these images.
When using werf publish --tags-by-stages-signature
or werf ci-env --tagging-strategy=stages-signature
werf will tag result images by so called image stages signature. Each image tagged by own stages signature which calculated by the same rules as regular signature of image stage.
Image stages signature depends on content of the image and depends on the git history which lead to this content.
There may be dummy commits into the git repo that do not change resulting images. For example empty commits, merge commits or commits which change files that are not imported into the resulting image.
When using tagging by git-commits these dummy commits will cause werf to create new images names even if content of these images is the same. New images names in turn will cause restarts of application Pods in Kubernetes which is totally not a desired behaviour. All in all this is the reason preventing storing multiple application services in the single git repo.
Stages signature on the countrary will not change on dummy commits, so these commits will not cause restarts of application Pods in kubernetes, yet it similarly to commit-id relates to the git history of edits and depends on the content of the files.
Also tagging by stages signatures is more realiable tagging method than tagging by a git-branch for example, because resulting images content does not depend on order of pipelines execution. Stages signature leads to stable immutable images names which represent the address of the certain image content.
NOTE From now and on stages-signature is the default tagging strategy and the only recommended one for usage.
For more info see documentation: https://werf.io/v1.1-beta/documentation/reference/publish_process.html#content-based-tagging.
Idle builds when all stages are exist in the stages storage are really fast now (in the most cases build retry will run under 1sec).
Stages verification performance during werf deploy
and werf run
commands also improved a lot.
Werf Dockerfile builder signature calculation performance is improved due to using git ls-tree
checksums
for docker context files. Signature calculation does not depend on the docker context size.
Werf uses rsync server to import files from artifacts and images.
MacOS imports performance does not depend on docker implementation of volumes now. MacOS imports performance is the same as in Linux and Windows.
Added --log-debug
, --log-verbose
and --log-quiet
modes.
Removed legacy params and code (dapp secret key legacy support removed; --insecure-repo
legacy option removed, only –skip-tls-verify-registry is available).
Eliminated werf.io/recreate
annotation, werf uses helm.sh/hook-delete-policy=before-hook-creation
mode by default (as in helm 3).
Improved werf cleanup procedure not to clean images from werf.yaml defined in the different git branches,
those are not exist in the werf.yaml config of the master branch. Added new commands to control managed images: werf managed-images ls|add|rm
.
New stages storage architecture documented.
Content based tagging documented.
fromLatest/git.Branch params could be used only with herebyIAdmitThatBranchMightBreakReproducibility
and herebyIAdmitThatFromLatestMightBreakReproducibility
params;
werf images managed
subcommand renamed to werf managed-images
;
tiny logging improvements:
hide docker container output in silent mode;
initialize stapel container before preparing of stage run args.
Remove ‘Switch work tree to commit …’ messages in default mode (will be printed in –log-verbose or –log-debug).
Stages signatures was changed, pipelines that were already build will use new signatures on retry, so rebuild needed.
Calculate docker build context files checksum with git ls-tree and status.
import:
- artifact: myartifact
add: /mydir
to: /my/existing/dir
after: install
Werf will automatically merge content of /mydir
into /my/existing/dir
.
This case was broken in v1.1.0-beta.4
due to imports optimization rework: the specified config will create my/existing/dir/mydir
instead of merging directories.
v1.1.0-beta.3
was not affected by this bug.
Fixed logboek library logging performance when processing large output, e.g. from make build
command. Logging performance affects build time.
Stapel image updated to version 0.6.1.
Disabled debug logging by default.
Default logging includes minimum viable info for commands.
--log-debug
and --log-verbose
options are avaiable.
More info in --log-debug
mode.
Images that were built by werf will be remained in stages storage. For each such image managed image record created as werf-managed-images/PROJECT:IMAGE_NAME
.
During cleanup procedure werf will preserve stages cache of images that are defined in the current werf.yaml config and images from managed images list. This prevents images defined only in custom git branches from being cleaned up, when running werf cleanup
procedure main (master) branch.
Werf automatically creates records for managed images during build procedure.
Managed images list could be manually viewed and changed using commands:
werf images managed -s :local ls
werf images managed -s :local add IMAGE_NAME
werf images managed -s :local rm [IMAGE_NAME, ...]
Fix publishing of only specified in cli images by names.
Renamed --stages-storage-lock
param to --synchronization
: address of synchronizer for multiple werf processes to work with a single stages storage (:local by default).
Update kubedog: load more kubernetes client-go auth plugins: azure, exec, oidc, openstack.
The import stage image has the specific label value that is used during stages cleanup procedure. In this commit, related image/artifact signature which stored in the label is replaced on image ID.
The signature does not identify the stage since we started to use not only signature in an image tag. From v1.1, werf is building stages consistently so related image/artifact image ID is available when werf is preparing import stage.
INCOMPATIBLE change, because signature of import stage has been changed. Already built images should be rebuilt with this version of werf.
Also prevented possible bug, which may occur when artifacts are used and there are empty stages.
The import stage image has the specific label value that is used during stages cleanup procedure. In this commit, related image/artifact signature which stored in the label is replaced on image ID.
The signature does not identify the stage since we started to use not only signature in an image tag. From v1.1, werf is building stages consistently so related image/artifact image ID is available when werf is preparing import stage.
INCOMPATIBLE change, because signature of import stage has been changed. Already built images should be rebuilt with this version of werf.
Also prevented possible bug, which may occur when artifacts are used and there are empty stages.
Main changes since v1.0:
Improved performance of idle builds (from cache) nearly by one order of magnitude when git repo of the project is big.
Build cache isolation based on the git history. Build cache of different branches without same base is not overlapped. No more “rebase” related problems.
Also improved performance of stage-dependencies calculation (using git ls-tree mechanix) when large folders are specified as stage dependencies.
Content based tagging using werf publish --tag-by-stages-signature
option or werf ci-env --tagging-strategy=stages-signature
tagging strategy.
The default tagging strategy is stages-signature
, werf ci-env parameter --tagging-strategy
may be omitted to use default strategy.
IMPORTANT Following feature are not supported in the current beta version and will be repaired in the following releases very soon!
Building Dockerfile-based images. This version of werf v1.1 beta should not be used to build dockerfile-based images.
werf cleanup
command will not actually clean stages, only images, due to the bug in the cleaning procedure. werf cleanup
command can and should be used already now and will be fixed soon by automatic releases updater for 1.1 beta channel.
Stage image name format changed: werf-stages-storage/PROJECT_NAME:SIGNATURE-UNIX_TIMESTAMP_MILLISECS.
UNIX_TIMESTAMP_MILLISECS is the unique part of stage image name.
There may be multiple stages with the same SIGNATURE part. Signature is based on the content of the image, while timestamp is added to keep separately built images separate.
IMPORTANT! Multiple processes may build the same stage by the same signature simultaneously at the same time. The first builder that builds the stage will store the stage in the stages storage. Other builders will discard build results when saving newly built image into stages storage if stages storage already contains suitable image built by the other process.
There may be multiple stages with the same SIGNATURE for different git branches. Stage selection algorithm will make sure that stage is suitable for your branch.
Incompatibilities with v1.0:
Werf v1.1 will generate new stages for stages storage.
Removed legacy ruby dapp secret-key format support.
Removed –insecure-repo option, use –skip-tls-verify-registry option instead.
“helm.sh/hook-delete-policy=before-hook-creation” by default for all kinds of hooks (not only Jobs as in v1.0).
Strict yaml parsing which does not allow duplicate keys in yaml docs (affects werf.yaml, .helm/templates/**, .helm/values.yaml etc.).
It is OK to use v1.0 and v1.1 simultaneously:
v1.1 and v1.0 may exists on the same host system, without any restrictions;
v1.1 and v1.0 may be used in the different branches of the same project without any restrictions;
cleanup procedure of v1.0 will not affect v1.1 and vice versa;
build cache (stages in the stages-storage) of v1.0 and v1.0 is fully separated.
Change multiwerf use command:
type multiwerf && source <(multiwerf use 1.1 beta)
(Optional) To use content based tagging change ci-env command:
type werf && source <(werf ci-env gitlab)
Наименее стабильный канал обновлений
Версии этого канала обновлений могут содержать новые возможности, а также быть нестабильными, иметь ошибки. Мы не гарантируем обратную совместимость между версиями канала обновлений Alpha.
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.34/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.34/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.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
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.23+fix53/linux-amd64/bin/werf" -O "https://tuf.werf.io/targets/signatures/1.1.23+fix53/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.
fix(helm-v3): fixed panic in ‘werf helm-v3 *’ commands
Correction release for trdl package manager.
feat(cleanup): do not delete used initContainer images
fix(cleanup): nested git tag cannot be processed
Error: resolve revision NESTED_TAG_NAME failed: unsupported object type
rel https://github.com/go-git/go-git/issues/361
FIX: enable release publishing into the bintray mirror to support old multiwerf versions.
[go.mod] github.com/werf/logboek v0.4.7
[v1.1] Ignore broken images when checking already published images
[v1.1, ci] Disable release publisher into bintray
[v1.1,ci] Add build release scripts
[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
[v1.1] Skip blob-unknown images in werf-cleanup procedure
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.
Fix: print rsync server docker run command on imports server run failure
[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.
–git-history-based-cleanup-v1.2 option has been enabled by default: use git history based cleanup and delete images tags without related image metadata (default $WERF_GIT_HISTORY_BASED_CLEANUP_v1_2).
This info needed for v1.2’s host cleanup procedure.
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
Disable resources waiter debug env WERF_DISABLE_RESOURCES_WAITER=1
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
Introduce the following list of sprig v3 functions which was not previously avaialable in the sprig v2:
add1f
addf
all
any
bcrypt
chunk
concat
decryptAES
deepCopy
deepEqual
dig
divf
duration
durationRound
encryptAES
fromJson
genCAWithKey
genSelfSignedCertWithKey
genSignedCertWithKey
get
getHostByName
htpasswd
maxf
minf
mulf
mustAppend
mustChunk
mustCompact
mustDateModify
mustDeepCopy
mustFirst
mustFromJson
mustHas
mustInitial
mustLast
mustMerge
mustMergeOverwrite
mustPrepend
mustPush
mustRegexFind
mustRegexFindAll
mustRegexMatch
mustRegexReplaceAll
mustRegexReplaceAllLiteral
mustRegexSplit
mustRest
mustReverse
mustSlice
mustToDate
mustToJson
mustToPrettyJson
mustToRawJson
mustUniq
mustWithout
must_date_modify
osBase
osClean
osDir
osExt
osIsAbs
randBytes
randInt
regexQuoteMeta
seq
subf
toDecimal
toRawJson
urlJoin
urlParse
https://github.com/werf/werf/pull/3220
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
Ignore image-metadata-by-commit BLOB_UNKNOWN errors when WERF_EXPERIMENTAL_IGNORE_IMAGE_METADATA_BY_COMMIT_BLOB_UNKNOWN=1 is set
Do not parse values with strict yaml parser to allow usage of yaml-anchors
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:
Print “Helm values params” block when –debug has been specified.
Added .Values.global.werf.version service value with werf cli util version.
Fix redundant stapel container initialization for dockerfile image
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.
Fix –docker-options option cannot contain multiple spaces.
https://github.com/werf/helm/pull/61
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
--log-*
and --set-files
flags.
Add support for werf helpers templates (werf_container_image, werf_container_env) and service values for werf-deploy command when WERF_DEPLOY_HELM_V3=1
is set.
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.--scan-context-namespace-only=true|false
(false by default), refs https://github.com/werf/werf/pull/2660
Set werf.io/version annotation by default in werf helm-v3 upgrade/install commands.
Werf now can be used as helm-3 replacement with helmfile as follows:
Install latest helmfile.
Install helm-diff plugin (which is needed for the helmfile):
source $(multiwerf use 1.1 alpha --as-file)
werf helm-v3 plugin install https://github.com/databus23/helm-diff
repositories:
- name: stable
url: https://kubernetes-charts.storage.googleapis.com
releases:
- name: mytraefik
namespace: aaa
createNamespace: true
wait: true
chart: stable/traefik
labels:
name: traefik-public
version: 1.86.2
WERF_HELM3_MODE=1
— this will make werf binary CLI interface helm-compatible, then run helmfile
with --helm-binary=werf
.source $(multiwerf use 1.1 alpha --as-file)
export WERF_HELM3_MODE=1
helmfile -b werf apply
werf list --namespace aaa
NOTE Helmfile does not support live output from helm binary, so werf rich live output will be available only after werf command is done. However werf output with --wait
flag is more useful than helm’s output even in that condition and werf will “fail fast” when something goes wrong during deploy process.
Refs https://github.com/werf/werf/issues/1606
Refs https://github.com/werf/helm/pull/50
werf divides all images into dependent sets and runs each set in parallel.
Option -p/–parallel to enable/disable concurrency builds (by default on)
Option –parallel-tasks-limit to regulate the maximum number of images
Introspection does not support parallel builds and disables it
Ignore image names with capital letters for managed-images records.
Support kubedog-based –wait for ‘werf helm-v3 *’ commands.
For example, run install/upgrade with the following command to get kubedog output:
werf helm-v3 upgrade --namespace myproj myproj . --install --create-namespace --wait
Fix deploy meta config templates defaults.
refs https://github.com/werf/helm/pull/47
refs https://github.com/werf/werf/issues/1606
NOTE: helm v2 and v3 are avaiable at the same time in v1.1.22.
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).
[cleanup] Gitlab registry implementation: use deleting a tag method instead of an image
More details in gitlab-org/container-registry documentation:
Use https://synchronization.werf.io by default when stages-storage not :local.
Fix manifest-cache not filled by manifests of newly built stages. Store manifest of newly built stage into manifest stage immediately after building, before storing this stage into stages storage.
{"err":"","echo":"","status":"OK"}
.{"echo": "HEY!"}
gives: {"err":"","echo":"HEY!","status":"OK"}
.Autogenerate persisntent clientID and store in the stages-storage for each project.
Git history based cleanup related doc articles has been translated.
https://github.com/werf/lockgate/pull/26
The complete commit history is enough for all commands except images cleanup
[cleanup] Change configuration syntax: replace createdIn/publishedIn with in
[docs] Configuration/Cleanup: replace createdIn/publishedIn with in
[tests] Cleanup Suite: update syntax
[tests] Cleanup Suite: fix checks are not compatible with monorepo implementations
[cleanup] UNAUTHORIZED error should not be ignored
[docs] Reference/Cleanup: more details for git history based cleanup
[managed images] Ignore artifact names
[docs] Adding href rels to topnav.html
[docs] Adding rels to slack_popup.html links for security
[dockerfile] Take into account ONBUILD instructions from base image
[tests] Cleanup Suite: fix commit commiter when overriding
[cleanup] Improve logging: shortify commit and content signature
[cleanup] Disable meta images fetching by default
[cleanup] Update default cleanup policies
[docs] Git history based cleanup
Fix AWS ECR build/publish problem ‘Image has to have at least 1 layer’
Create empty zero-bytes layer for manifest-only images: managed images records and image metadata by commit id records.
[docs] Reference/Publish process: fix typo
kubernetes://NAMESPACE[:CONTEXT][@(base64:BASE64_CONFIG_DATA) | CONFIG_PATH] |
[cleanup] Git history based cleanup: improve algorithm
cleanup:
keepPolicies:
- references:
branch: /.*/
tag: /.*/
limit:
last: 10
createdIn: 168h
operator: And
imagesPerReference:
last: 10
publishedIn: 168h
operator: And
[cleanup] Fail purge commands if deletion failed due to using by containers without the force option
[logging] Optimize verbose output
[tests] Cleanup Suite: git history based tests
[ci] Enable GitHub Docker registry implementation tests
[ci] Fix shallow git clone makes several tests fail
[render] Fix stub env value ENV
Error: bad Helm release ‘project-ENV’ rendered by template ‘[[ project ]]-[[ env ]]’: helm release name should be a valid DNS-1123 subdomain and be maximum 53 chars: a DNS-1123 subdomain must consist of lower case alphanumeric characters, ‘-‘ or ‘.’, and must start and end with an alphanumeric character (e.g. ‘example.com’, regex used for validation is a-z0-9?(.a-z0-9?)*’)
Fix –synchronization-kube-context param not working.
Also print warnings when user explicitly specified –kube-config or context, but not specified –synchronization-kube-config or context.
Git history synchronization: sync tags only with git >=2.17.0.
[ci_env] GitHub: skip defaults for images repo and stages storage if werf.yaml is not found.
[cleanup] Fix UNAUTHORIZED: authentication required
error with gitlab.com
[cleanup] Policy priority
[cleanup] Fix default policy
[docker_registry] Autodetect gitlab.com implementation
Not implemented yet:
[docs] Reference/Git history based cleanup.
[cleanup] Use creation date for annotated tags instead of head commit date.
[docs] Improve stapel git directive and stapel assembly instructions reference pages grammar and wording.
[docs] Fix broken links
[completion] Improve zsh completion
[cleanup] Keep old repo images (without meta images)
[cleanup] Skip image with warning if deletion fails
[logging] More details, small fixes and improvements
[cleanup] Fix deployed docker images are not logged by default
The hanging case was in the lockgate library, described in the https://github.com/werf/lockgate/pull/24.
[tests] Cleanup Suite: update test
[ci] Tests Workflow: update go modules caching
[logging] Small improvements and fix
Cleanup legacy: dapp rolling-versions file :tada:
This option is not avaiable in the v2.17.1 version of git, which is the latest avaiable version for 18.04 lts ubuntu.
Specify target commit instead (which is by the way a faster and more precise approach).
This option is not avaiable in the v2.17.1 version of git, which is the latest avaiable version for 18.04 lts ubuntu.
Specify target commit instead (which is by the way a faster and more precise approach).
Rename flant to werf in docs and all references.
[docs] Configuration/Running assembly instructions: actualize
[git] Change git repo and worktree cache version to fix compatibility issues
{{ range $path, $content := .Files.Glob ".werf/files/**" }}
{{ $path }}: |
{{ $content | indent 2 }}
{{ end }}
Process symlinks with .Files.Glob
.Files.Glob returns the hash of regular files and their contents for the paths that are matched pattern. This function follows only symlinks pointed to a regular file (not to a directory).
.Files.Glob: has an ability to merge results
The function supports shell pattern matching + **
. Results can be merged with merge
sprig function (e.g {{ $filesDict := merge (.Files.Glob "*/*.txt") (.Files.Glob "app/
**/*.txt") }}
)
Project file wih template:
{{ tpl (.Files.Get "service/werf_partial.yaml") . }}
Environment variable with template:
{{ tpl (env "EXTERNAL_TEMPLATE") . }}
--tag-by-stages-signature
Do not check published docker-image-ID for images being published with content-based stages-signature
.
Write publish report when --publish-report-path PATH
option has been given.
There is --publish-report-format
options which accepts only json
for now.
[ci_env] GitHub: fix typo os.Getenv(“IMAGES REPO”)
[cli] Fix –release and –namespace params: add WERF_RELEASE and WERF_NAMESPACE options
Will fix errors like:
1.505658243s Error: phase build on image one stage gitLatestPatch handler failed: error preparing stage gitLatestPatch: error creating patch ↵
1.505670515s between `07bd04e9e2ad4fb03136943a2bbcb8aa50ff7471` and `07bd04e9e2ad4fb03136943a2bbcb8aa50ff7471` commits: git diff error: exit ↵
1.505684042s status 128
1.505687944s unrecognized output:
1.505692711s fatal: bad object 07bd04e9e2ad4fb03136943a2bbcb8aa50ff7471
[git] Refine git worktree switch procedure, fix remote git-mapping clone on every build if token has been specified
werf_work_tree_cache_dir
in the git-repo dir;
~/.werf/local_cache/git_repos/2/protocol-https/mydomain.mygitlab.com/grp/proj.git
.~/.werf/local_cache/git_worktrees/5/protocol-git/mydomain.mygitlab.com:22/grp/proj.git
.[docs] Guides/GitHub CI/CD Integration: open code snippets by default
[docs] Fix russian switch-to-distributed-mode guide: lost switch-from-local command example
[docs] Cli docs regen: added –virtual-merge-* options
[docs] Adding source code from git repositories sidebar: documentation: hide irrelevant documentation
Commit message with “[werf reset]” is no longer supported, but documentation section might be reused in the nearest future
[ci_env] GitHub: fix typo os.Getenv(“IMAGES REPO”)
[cli] Fix –release and –namespace params: add WERF_RELEASE and WERF_NAMESPACE options
--tag-by-stages-signature
Do not check published docker-image-ID for images being published with content-based stages-signature
.
The function supports shell pattern matching + **
. Results can be merged with merge
sprig function (e.g {{ $filesDict := merge (.Files.Glob "*/*.txt") (.Files.Glob "app/**/*.txt") }}
)
Project file wih template:
{{ tpl (.Files.Get "service/werf_partial.yaml") . }}
Environment variable with template:
{{ tpl (env "EXTERNAL_TEMPLATE") . }}
Werf stages related commands accepts following args:
--virtual-merge
;--virtual-merge-from-commit
;--virtual-merge-into-commit
.In virtual merge mode werf will try to reuse stages built for virtual merge commits.
Implement env support for some options:
Translated Guides/GitHub CI/CD integration guide.
[docs] Guides/GitHub CI/CD Integration: Up configurations and add note for weak workflows
[ci_env] GitHub: Reorganize cleanup section in env-file
[docs] Update activesupport in werf.io due to vunlerability alert
[docs] Guides/GitHub CI/CD integration: add werf-actions
[dismiss] Return exit code 0 when release is not found
[cli] Add envs support for string array flags
.Files.Glob
returns the hash of regular files and their contents for the paths that are matched pattern.Write publish report when --publish-report-path PATH
option has been given.
There is --publish-report-format
option which accepts only json
for now.
Example of publish report:
{
"Images": {
"one": {
"WerfImageName": "one",
"DockerRepo": "localhost:5000/alo/one",
"DockerTag": "a64687f43f31179cf069574a455e53d75937da81f82042fbfc7ad096",
"DockerImageID": "sha256:0151dda79c0c076aa00b4c90367d9e067e854fdb10027fc06e30ed0f1498016f"
},
"three": {
"WerfImageName": "three",
"DockerRepo": "localhost:5000/alo/three",
"DockerTag": "baff2bc90cf6c17e47e37e7b14ce0296ade95cbf35f7d33d3e72d0bb",
"DockerImageID": "sha256:c71998ef1916a6fddee0b334a28d2efa1f9f541fa0094c3f5f7aad6d2d98b44f"
},
"two": {
"WerfImageName": "two",
"DockerRepo": "localhost:5000/alo/two",
"DockerTag": "f5a8ee43e363925176e78230a467fa7e9e58324916f4be9e0b7ad6d7",
"DockerImageID": "sha256:1edd54ae5a18734a268ddeb9ea8eeb83137ac71dd8c0cf52afdc5c5039c0360d"
}
}
}
{{ range $path, $content := .Files.Glob ".werf/files/**" }}
{{ $path }}: |
{{ $content | indent 2 }}
{{ end }}
Ignore stages storage tags not matching the expected format for the remote stages storage of the werf.
Error: reading image “docker.pkg.github.com/user/repo/stages:de07eea0119baca706320aa6b7f32f887f5700b6fd82e1864867a1ee-1590064872402”: GET
https://docker.pkg.github.com/v2/user/repo/stages/manifests/de07eea0119baca706320aa6b7f32f887f5700b6fd82e1864867a1ee-1590064872402: NAME_U
NKNOWN: docker package “stages” does not exist under owner “user/repo”
Automatically set gitlab docker registry implementation for stages storage and images repo.
Add –as-env-file / –output-file-path options.
Add cli docs for ‘werf converge’ command.
Shortcut for ‘werf stages build’, ‘werf images publish’ and ‘werf deploy’ commands.
Command always builds all images defined in the werf.yaml and uses content-based-tagging and three-way-merge mode.
Command is supposed to bring your application git state into some environment of Kubernetes cluster in one shot: build and publish images defined in the werf.yaml, then release application chart.
[dockerfile] Fix COPY –from arbitrary image (not only dockerfile stage)
Guides/GitLab CI/CD integration: added overview
Fix for a case when two images of the same stage for two consecutive commits are building at the same time. This can lead to the bug, because werf uses oldest stage by creation timestamp and not oldest by save-into-stages-storage timestamp.
Use selection based on saving-into-stages-storage-timestamp instead of docker-image creation timestamp.
After this change stages-storage-cache will be invalidated automatically.
New CI/CD articles in russian:
English versions are coming soon.
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.
Werf automatically retries pull/push operations on internal server errors.
New CI/CD articles in russian:
English versions are coming soon.
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.
Werf automatically retries pull/push operations on internal server errors.
# Load zsh completion
source <(werf completion --shell=zsh)
Fixed panic during sub chart validation
After this release dockerInstructions signature will change if used after gitCache. Stage-not-exists in stages-storage errors may occur in this case.
Detailed error messages for git submodules when submodule exists in the repo in the incorrect state.
[test] Test “Check broken links” hase been updated.
Automatically set gitlab repo implementation option (--stages-storage-repo-implementation=gitlab
) in werf ci-env gitlab
.
[docs] Added three new publications about werf.
[docs] Publications on the site updated. Added three new publications about werf.
[docs] Fix README coming soon and features list
Werf now can store stages in the docker registry by specifying --stages-storage REPO
instead of --stages-storage :local
.
There is no more restriction that a single host should be used to run all werf commands for a project:
“werf ci-env gitlab” default mode now is to store stages by path CI_REGISTRY_IMAGE/stages
. All existing werf installations will continue to use :local
stages storage because --stages-storage :local
param has explicitly been specified in all CI-configs. So to use distributed builds user needs to remove this param, see guided steps below about migrating to the distributed stages storage.
Introduced a new parameter named --synchronization
, which controls how multiple werf processes are synchronized between each other. There is a stages-storage cache and locks components that werf needs to run. Stages storage cache is an internal component used to boost werf performance for idle builds when calculating stages. Locks are needed to organize correct publishing of new stages into stages-storage, publishing images into images-repo and for deploy process also.
When --synchronization :local
used (which is factually by default in the previous versions < v1.1.10), then stages-storage cache reside in the local host file system (~/.werf/shared_context/storage/stages_storage_cache/1/PROJECT
) and local file locks are used.
When --synchronization kubernetes://NAMESPACE
is used, then werf creates a ConfigMap for project in this namespace, stores stages storage cache in this ConfigMap and uses distributed locking over this ConfigMap to synchronize multiple werf processes running from multiple hosts.
By default, when non local stages-storage is used werf automatically use kubernetes://werf-synchronization
namespace and create a ConfigMap named werf-PROJECT
in this namespace. User can specify arbitrary non-standard namespace on own needs.
What about local docker images cache on hosts where werf is running? — There is such a cache, which is cleared either by the werf itself or can freely be removed by other tools (docker rmi).
werf stages sync --from=:local|REPO --to=:local|REPO
.
--remove-source
and --cleanup-local-cache
, which controls whether werf will delete synced stages from source stages-storage and wheter werf will cleanup localhost from temporary docker images created during sync process.werf stages switch-from-local --to=REPO
Let’s say you have some project in Gitlab CI, that uses werf. Steps:
--stages-storage :local
param from all werf invocations. There is no need to set this param explicitly anymore, because werf ci-env
will automatically set it to CI_REGISTRY_IMAGE/stages
.werf stages switch-from-local --to=CI_REGISTRY_IMAGE/stages
where CI_REGISTRY_IMAGE is the address of container registry for your gitlab project. After this step all werf invocations from different git branches of the project that uses --stages-storage :local
will refuse to work, because switch-from-local command sets a block to use :local.:local
stages storage.[docs] Remove –stages-storage :local from Gitlab CI docs
[ci] Cache GO modules
[tests] New tests
[tests] K8S/Cleanup Suite: test cleanup with deployed image
[tests] K8S/Guides Suite: actualize after each
Error: –stages-storage=ADDRESS param required
[tests] Helm/Render Suite: add extra annotations and labels check
[tests] Cleanup Suite: test stages storage repo
[ci-env] GitHub support.
[testing] CI-env Suite: add github.
werf ci-env github --as-file
https://github.com/flant/lockgate/pull/12
Refactor and fix kubernetes cm key name
Fix provided shell ‘WERF_SHELL’ not supported.
Retry docker pull/push when specific errors occur.
[logging] Turn off Docker Registry API debug messages by default.
[ci] Fix Cleanup Docker Hub test repositories.
[ci] Split test workflow into two independent workflows.
[ci] Disable GitHub Packages in cleanup test suite.
[docs] Regen commands cli documentation reference.
-S
shorthand;--synchronization kubernetes://mynamespace
.Fix gitLatestPatch signature not stable to index line in patches.
Distributed builds can be used now by specifying –stages-storage=REPO_ADDRESS.
Added –as-file option, which is more portable way to use werf ci-env. Example:
. $(werf ci-env gitlab --as-file)
Changed all docs and guides to use --as-file
.
-S
shorthand;--synchronization kubernetes://mynamespace
.Fix gitLatestPatch signature not stable to index line in patches.
Fix problems related to changes introduced in v1.1.10-alpha.2: signatures has been accidentally changed in v1.1.10-alpha.2.
Fixes that were made in v1.1.10-alpha.2 are also available in this v1.1.10-alpha.3 release:
[cleanup] Skip images with MANIFEST_UNKNOWN error
[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 checksum calculation algorithm does not count ignored files (.gitignore).
https://github.com/flant/werf/issues/2315
werf switch-from-local –to registry.mycompany.com/mygroup/myproject
This command will:
--synchronization=:kubernetes
has been specified.
--synchronization=:kubernetes
has been specified.When --synchronization=:kubernetes
werf will use kubernetes-locks in
ConfigMap for project: cm/werf-PROJECT_NAME.
[cleanup] Skip images with MANIFEST_UNKNOWN error
[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
Invalidate stages-storage-cache directory when old cache directory exists. Remove old and current stages-storage-cache directories in this case.
~/.werf/shared_context/storage/stages_storage_cache/1/
.For now only when building from single host. Building from multiple hosts will be available soon in v1.1.
werf build -s :local ARTIFACT ARTIFACT
;stage
directive in imports.Fix gitLatestPatch signature differs in different worktrees: handle git-diff patch index line in v1.1 compatible manner.
gitLatestPatch stage was not isolated between different branches when the same changes
has been made in two different commits: added commits ancestry check when selecting
suitable stage from cache for gitLatestPatch. The signature of gitLatestPatch stage
has not been changed.
Stages-signature was not isolated between different branches when the same
changes has been maed in two different commits. IMPORTANT stages-signature
calculation algorithm has been changed, stages-signature will change for all projects
that use stages-signature tagging strategy (content-based).
~/.werf/local_cache/manifests/1/DOCKER_IMAGE_NAME_SHA256
.~/.werf/local_cache/stages_storage_v3
, while deleting images from stages-storage. This behaviour lead to unexpected error during build-procedure, like: “Error response from daemon: No such image: sha256:69dcb14a44993b7…”.Support registry or Docker Hub account as –images-repo value.
Support registry or Docker Hub account as –images-repo value.
fixed panic ‘should_be_built_phase.go:47 +0x45’;
working werf build --stages-storage=REPO
command on the single host for now.
Added ability to cleanup images published into dockerhub.
Specify following params for werf build-and-publish
or werf publish
commands:
--images-repo-docker-hub-password='':
Docker Hub password for images repo implementation (default $WERF_IMAGES_REPO_DOCKER_HUB_PASSWORD or
$WERF_REPO_DOCKER_HUB_PASSWORD).
--images-repo-docker-hub-username='':
Docker Hub username for images repo implementation (default $WERF_IMAGES_REPO_DOCKER_HUB_USERNAME or
$WERF_REPO_DOCKER_HUB_USERNAME).
--images-repo-implementation='':
Choose images repo implementation.
The following docker registry implementations are supported: ecr, default, dockerhub, gcr, github, gitlab, quay.
Default $WERF_IMAGES_REPO_IMPLEMENTATION, $WERF_REPO_IMPLEMENTATION or auto mode (detect implementation by a registry).
For example:
source <(multiwerf use 1.1 alpha)
...
export WERF_IMAGES_REPO_DOCKER_HUB_USERNAME=myuser
export WERF_IMAGES_REPO_DOCKER_HUB_PASSWORD=password
export WERF_IMAGES_REPO_IMPLEMENTATION=dockerhub
source <(werf ci-env gitlab)
werf build-and-publish -s :local
It is better to define WERF_IMAGES_REPO_DOCKER_HUB_USERNAME
, WERF_IMAGES_REPO_DOCKER_HUB_PASSWORD
and WERF_IMAGES_REPO_IMPLEMENTATION
variables as gitlab secret environment variables.
When running werf in ci with werf ci-env
command, then either:
create cleanup config for the host:
mkdir ~/.werf/config
echo "stagesSignatureStrategyExpiryDays: 30" >> ~/.werf/config/cleanup.yaml
echo "stagesSignatureStrategyLimit: 50" >> ~/.werf/config/cleanup.yaml
export environment variables in your CI/CD system: WERF_STAGES_SIGNATURE_STRATEGY_LIMIT=50
and WERF_STAGES_SIGNATURE_STRATEGY_EXPIRY_DAYS=30
.
By default werf will not cleanup images published with stages-signature tagging strategy and related stages.
Change gopkg.in/yaml.v2
to github.com/ghodss/yaml
in custom werf templates engine,
as github.com/ghodss/yaml
is used everywhere in the helm 2.
In the helm 3 sigs.k8s.io/yaml
is used, but it is not possible for now to switch to sigs.k8s.io/yaml
before switching to helm 3 codebase.
https://github.com/helm/helm/blob/master/pkg/engine/funcs.go#L27
Set WERF_DISABLE_GIT_MIN_VERSION_CONSTRAINT=1 to disable min git version constraint.
Added rss feeds for werf releases.
[dockerfile] Fail build if dockerfile COPY instruction refers to nonexistent stage.
Docker parser coverts dockerfile stage name (AS) to lowercase but in places of the name usage (COPY –from) does not.
This affected dockerfile stage signature calculation and occurred false warning messages.
[dockerfile] Fix calculating context files checksum when submodule is used
Fix creating an archive fails when nested submodules is used
Fix creating an archive fails when submodule dir/file is specified in git.add
Implemented content based tagging and new stages storage architecture as a big step toward distributed and concurrent builds.
New stage name generation rule. Every build of the stage generates uniq stage-cache image name, which consists of 2 parts: signature (as in v1.0) plus unique identifier.
For example, full stage image name will look like:
werf-stages-storage/myproject:d2c5ad3d2c9fcd9e57b50edd9cb26c32d156165eb355318cebc3412b-1582656767835
werf-stages-storage/PROJECT:SIGNATURE-TIMESTAMP_MILLISEC
Signature identifier of the stage represents content of the stage and depends on git history which lead to this content.
Werf stage selection algorithm is based on the git commits ancestry detection:
Werf calculates a stage signature for some stage.
There may be multiple stages in the stages storage by this signature, werf selects all suitable stages by the signature.
If current stage is related to git (git-archive, user stage with git patch or git latest patch), then werf selects only
those stages which are relaed to the commit that is ancestor of current git commit.
Select from the remaining stages the oldest by the creation timestamp.
There may be multiple built images for a single signature.
Stage for different git branches can have the same signature, but werf will prevent cache of different git branches from
being reused for totally different branch.
For more info see documentation: https://werf.io/v1.1-beta/documentation/reference/stages_and_images.html#stage-naming.
If suitable stage has not been found during stage selection, werf starts building a new image for stage.
Note that multiple processes (on a single or multiple hosts) may start building the same stage at the same time. Werf uses optimistic locking when saving newly built image into the stages storage: when a new stage has been built werf locks stages storage and saves newly built stage image into storage stages cache only if there are no suitable already existing stages exists. Newly saved image will have a guaranteed unique identifier
by TIMESTAMP_MILLISEC
. In the case when already existing stage has been found in the stages storage werf will discard newly built image and
use already existing one as a cache.
In other words: the first process which finishes the build (the fastest one) will have a chance to save newly built stage into the stages storage. The slow build process will not block faster processes from saving build results and building next stages.
For more info see documentation: https://werf.io/v1.1-beta/documentation/reference/stages_and_images.html#stage-building-and-saving.
This new stages storage architecture opens up an opportunities to build stages concurrently and even distributely
from multiple build machines. For now there are no theoretical limitations of current werf architecture to implement
distributed or concurrent builds. So we consider this release as a big step towards distributed and concurrent builds.
Werf have an --stages-storage
and --synchronization
parameters which specify addresses of the stages storage and
synchronization lock manager. For now there is only :local
implementations of both primitives. By changing these implementations to docker-registry for the stages storage and Redis or Kubernetes server based synchronization lock manager, werf will implement distributed builds out of the box.
Werf v1.1 supports so called content based tagging. Tags of resulting docker images depend on the content of these images.
When using werf publish --tags-by-stages-signature
or werf ci-env --tagging-strategy=stages-signature
werf will tag result images by so called image stages signature. Each image tagged by own stages signature which calculated by the same rules as regular signature of image stage.
Image stages signature depends on content of the image and depends on the git history which lead to this content.
There may be dummy commits into the git repo that do not change resulting images. For example empty commits, merge commits or commits which change files that are not imported into the resulting image.
When using tagging by git-commits these dummy commits will cause werf to create new images names even if content of these images is the same. New images names in turn will cause restarts of application Pods in Kubernetes which is totally not a desired behaviour. All in all this is the reason preventing storing multiple application services in the single git repo.
Stages signature on the countrary will not change on dummy commits, so these commits will not cause restarts of application Pods in kubernetes, yet it similarly to commit-id relates to the git history of edits and depends on the content of the files.
Also tagging by stages signatures is more realiable tagging method than tagging by a git-branch for example, because resulting images content does not depend on order of pipelines execution. Stages signature leads to stable immutable images names which represent the address of the certain image content.
NOTE From now and on stages-signature is the default tagging strategy and the only recommended one for usage.
For more info see documentation: https://werf.io/v1.1-beta/documentation/reference/publish_process.html#content-based-tagging.
Idle builds when all stages are exist in the stages storage are really fast now (in the most cases build retry will run under 1sec).
Stages verification performance during werf deploy
and werf run
commands also improved a lot.
Werf Dockerfile builder signature calculation performance is improved due to using git ls-tree
checksums
for docker context files. Signature calculation does not depend on the docker context size.
Werf uses rsync server to import files from artifacts and images.
MacOS imports performance does not depend on docker implementation of volumes now. MacOS imports performance is the same as in Linux and Windows.
Added --log-debug
, --log-verbose
and --log-quiet
modes.
Removed legacy params and code (dapp secret key legacy support removed; --insecure-repo
legacy option removed, only –skip-tls-verify-registry is available).
Eliminated werf.io/recreate
annotation, werf uses helm.sh/hook-delete-policy=before-hook-creation
mode by default (as in helm 3).
Improved werf cleanup procedure not to clean images from werf.yaml defined in the different git branches,
those are not exist in the werf.yaml config of the master branch. Added new commands to control managed images: werf managed-images ls|add|rm
.
New stages storage architecture documented.
Content based tagging documented.
fromLatest/git.Branch params could be used only with herebyIAdmitThatBranchMightBreakReproducibility
and herebyIAdmitThatFromLatestMightBreakReproducibility
params;
werf images managed
subcommand renamed to werf managed-images
;
tiny logging improvements:
hide docker container output in silent mode;
initialize stapel container before preparing of stage run args.
Remove ‘Switch work tree to commit …’ messages in default mode (will be printed in –log-verbose or –log-debug).
Stages signatures was changed, pipelines that were already build will use new signatures on retry, so rebuild needed.
Calculate docker build context files checksum with git ls-tree and status.
import:
- artifact: myartifact
add: /mydir
to: /my/existing/dir
after: install
Werf will automatically merge content of /mydir
into /my/existing/dir
.
This case was broken in v1.1.0-beta.4
due to imports optimization rework: the specified config will create my/existing/dir/mydir
instead of merging directories.
v1.1.0-beta.3
was not affected by this bug.
Fixed logboek library logging performance when processing large output, e.g. from make build
command. Logging performance affects build time.
Stapel image updated to version 0.6.1.
Disabled debug logging by default.
Default logging includes minimum viable info for commands.
--log-debug
and --log-verbose
options are avaiable.
More info in --log-debug
mode.
Images that were built by werf will be remained in stages storage. For each such image managed image record created as werf-managed-images/PROJECT:IMAGE_NAME
.
During cleanup procedure werf will preserve stages cache of images that are defined in the current werf.yaml config and images from managed images list. This prevents images defined only in custom git branches from being cleaned up, when running werf cleanup
procedure main (master) branch.
Werf automatically creates records for managed images during build procedure.
Managed images list could be manually viewed and changed using commands:
werf images managed -s :local ls
werf images managed -s :local add IMAGE_NAME
werf images managed -s :local rm [IMAGE_NAME, ...]
Fix publishing of only specified in cli images by names.
Renamed --stages-storage-lock
param to --synchronization
: address of synchronizer for multiple werf processes to work with a single stages storage (:local by default).
Update kubedog: load more kubernetes client-go auth plugins: azure, exec, oidc, openstack.
The import stage image has the specific label value that is used during stages cleanup procedure. In this commit, related image/artifact signature which stored in the label is replaced on image ID.
The signature does not identify the stage since we started to use not only signature in an image tag. From v1.1, werf is building stages consistently so related image/artifact image ID is available when werf is preparing import stage.
INCOMPATIBLE change, because signature of import stage has been changed. Already built images should be rebuilt with this version of werf.
Also prevented possible bug, which may occur when artifacts are used and there are empty stages.
The import stage image has the specific label value that is used during stages cleanup procedure. In this commit, related image/artifact signature which stored in the label is replaced on image ID.
The signature does not identify the stage since we started to use not only signature in an image tag. From v1.1, werf is building stages consistently so related image/artifact image ID is available when werf is preparing import stage.
INCOMPATIBLE change, because signature of import stage has been changed. Already built images should be rebuilt with this version of werf.
Also prevented possible bug, which may occur when artifacts are used and there are empty stages.
Main changes since v1.0:
Improved performance of idle builds (from cache) nearly by one order of magnitude when git repo of the project is big.
Build cache isolation based on the git history. Build cache of different branches without same base is not overlapped. No more “rebase” related problems.
Also improved performance of stage-dependencies calculation (using git ls-tree mechanix) when large folders are specified as stage dependencies.
Content based tagging using werf publish --tag-by-stages-signature
option or werf ci-env --tagging-strategy=stages-signature
tagging strategy.
The default tagging strategy is stages-signature
, werf ci-env parameter --tagging-strategy
may be omitted to use default strategy.
IMPORTANT Following feature are not supported in the current beta version and will be repaired in the following releases very soon!
Building Dockerfile-based images. This version of werf v1.1 beta should not be used to build dockerfile-based images.
werf cleanup
command will not actually clean stages, only images, due to the bug in the cleaning procedure. werf cleanup
command can and should be used already now and will be fixed soon by automatic releases updater for 1.1 beta channel.
Stage image name format changed: werf-stages-storage/PROJECT_NAME:SIGNATURE-UNIX_TIMESTAMP_MILLISECS.
UNIX_TIMESTAMP_MILLISECS is the unique part of stage image name.
There may be multiple stages with the same SIGNATURE part. Signature is based on the content of the image, while timestamp is added to keep separately built images separate.
IMPORTANT! Multiple processes may build the same stage by the same signature simultaneously at the same time. The first builder that builds the stage will store the stage in the stages storage. Other builders will discard build results when saving newly built image into stages storage if stages storage already contains suitable image built by the other process.
There may be multiple stages with the same SIGNATURE for different git branches. Stage selection algorithm will make sure that stage is suitable for your branch.
Incompatibilities with v1.0:
Werf v1.1 will generate new stages for stages storage.
Removed legacy ruby dapp secret-key format support.
Removed –insecure-repo option, use –skip-tls-verify-registry option instead.
“helm.sh/hook-delete-policy=before-hook-creation” by default for all kinds of hooks (not only Jobs as in v1.0).
Strict yaml parsing which does not allow duplicate keys in yaml docs (affects werf.yaml, .helm/templates/**, .helm/values.yaml etc.).
It is OK to use v1.0 and v1.1 simultaneously:
v1.1 and v1.0 may exists on the same host system, without any restrictions;
v1.1 and v1.0 may be used in the different branches of the same project without any restrictions;
cleanup procedure of v1.0 will not affect v1.1 and vice versa;
build cache (stages in the stages-storage) of v1.0 and v1.0 is fully separated.
Change multiwerf use command:
type multiwerf && source <(multiwerf use 1.1 beta)
(Optional) To use content based tagging change ci-env command:
type werf && source <(werf ci-env gitlab)
Use yaml strict unmarshal everywhere
This change may broke existing 1.0 installations with bad yaml-configs.
Dry-run mode is forced by default for stages-cleanup procedure in commands: werf stages cleanup
, werf cleanup
.
Images cleanup is not affected and enabled as always in werf cleanup
.
To enable stages-cleanup forcefully set: WERF_STAGES_CLEANUP_ENABLED=1
.
Dry-run by default will be disabled when stages-cleanup procedure bug is fixed.
--ssh-key
option.Optimize more stage dependencies checksum calculation (update go-git library).
werf publish --tag-by-stages-signature
and werf ci-env --tagging-strategy=stages-signature
.Calculate stage dependencies checksum with git ls-tree.
werf publish –tag-by-signatures=true | false option to tag images by last stage signatures, which is current method of content-based tagging. |
Fix case when stages storage cache has been invalidated:
By manual or accidental cleaning of docker image from stages storage while this image exists in stages storage cache.
Werf will refresh this stage cache from stages storage in this case.
Always refresh stage cache in stages storage cache when this stage has been newly built.
Commit affects next stages signatures.
Optimistic locking when saving stage into stages storage: discard already built temporary image when saving into stages storage if there is existing suitable image for this signature.
New build conveyor architecture.
Generate image id as: <sha-3-224>-<timestamp-up-to-millisecs>
.
–stages-storage-cache renamed to –stages-storage-lock, only :local value is supported for now, :local is default value.
Experimental stages cache rework