Skip to content

@flant-team-sysdev flant-team-sysdev released this Nov 25, 2019 · 140 commits to master since this release

Highlights

Improved OS support

  • Basic working version for Windows.
  • Better MacOS support.

E2E tests

For all supported OS (linux, macos, win).

60% code coverage.

Improved and optimized Git subsystem

  • Optimized git worktree switch procedure (especially when submodules are used).
  • Fixed some bugs related to empty dirs existing in the files added using git-mappings.

Changed deploy subsystem

  • Rejected generation of temporal helm-chart to be deployed by the helm subsystem. Now werf adds additional go-templates and values, excludes unnecessary chart files (like Chart.yaml) in runtime and deploy helm chart directly from PROJECT_ROOT/.helm dir.
  • Improved resource trackers synchronization with status-table to fix bugs related to inaccurate indicators of resource readiness, replicas counter and other indicators in the status-table, out of sync with the real resources state.
  • Access environment variables from helm templates with env function (http://masterminds.github.io/sprig/os.html).

Stapel and ansible

Updated and rebuilt stapel image to fix some problems and add new ansible modules support.

Working gpg module, unzip, unarchive when used in the alpine.

Add groupadd and useradd utils to the stapel for ansible modules to work in the alpine.

Add more docker layers to the stapel image itself (flant/werf-stapel) to speed up downloading.

Full changelog

5ff654c [ci] Self-hosted macOS runners
2ef0ea3 [ci] Change integration tests runner command
81724fa [deploy] Add image digest to auto generated helm values
7da2230 [git] Handle invalid work tree cache when git repo of the work tree gone (2)
cdd1e40 [git] Handle invalid work tree cache when git repo of the work tree gone
f2b8e34 [docs] Configuration/Introduction: .Files.Get shell example
d9f6964 [docs] Deploy into kubernetes/Service values: up is_nameless_image
ef5825e [docs] Configuration/Introduction/Minimal config example: up
1548882 [windows] Fix auto-convert eol when checking out code in git worktree (core.autocrlf=false)
fb15daf [windows] Fix introspection does not work
a83b80f [windows] Fix repo symlinks cannot be added
fb1ca09 [tests] utils.RunCommandWithOptions && refactor
8a6f918 [3-way-merge,docs] Fix typo
d423f98 [3-way-merge] Correct 3wm modes dates: use onlyNewReleases mode since 01.12.2019, enabled mode — since 15.12.2019
974c5dc [3-way-merge] Correct 3wm modes dates: use onlyNewReleases mode since 01.12.2019
23dc868 [tests] Cleanup Suite: cleanup/purge commands
75801ef [tests] Util Suite
c0510b0 [codeclimate] Remove unused code, tiny fixes and refactor
06c6eb9 [true_git] Fix typo
547089a [tests] Helm/Get Suite
4133875 [tests] Helm/Lint Suite
c339afc [tests] Helm/Render Suite
a99b518 [tests] Helm/Dependency Suite
fe359f3 [tests] Helm/Repo Suite
b36147f [tests] Docs Suite
86293d3 [docs] docs/regen.sh
69d7c16 [tests] Refactor
fc6b55e [tests] Config Suite
327591a Git work tree switch strikes back: rework and speedup git work tree cache
1affdcd [tests] Fix on windows
7e3725f [tests] Refactor
ebfd78c [windows] Disable color output in windows shell by default
3e32d67 [windows] Fix git archive logic
481a726 [windows] Fix GC with linux container
4c9f0ef [windows] Fix artifact import
9f624db [windows] Fix default werf home dir
ec6b811 [windows] Fix working with paths
b82d4b7 fix typo
2dad732 [kubedog] Update kubedog: synchronize trackers statuses when Added, Failed or Ready signals received
eae15a9 [stapel image] Reject docker.STOPSIGNAL stopsignal is not a valid change command
d93e4bf [tests] Stapel Image/Docker Instructions Suite: base
c5016ac [tests] Refactor
950c64f [stapel image] Fix image from validation
02f05b2 [tests] Stapel Image/Base Image Suite: fromImage and fromImageArtifact
ae1a9d7 [tests] Secret Suite
2a87b10 [tests] Refactor
e8cefd7 [tests] Stapel Image/Mount Suite: base
0820235 [3-way-merge] Move dates: 15.11->25.11, 05.12->15.12
d26530c [docs] Three way merge and resources adoption note
a407473 [3-way-merge] Fix owner release refs inconsistent state on helm rollback
4ae2c3a [ci] Use golang 1.13.4, update builder image to flant/werf-builder:1.2.0
8edcb06 [ci] go 1.13
b210e23 [3-way-merge,tests] Single test suite for release server, test rollback bug
1dd2323 [tests] Stapel Image/Base Image Suite: complete from and from latest test cases
8105dc9 [tests] Refactor
1dceb13 [stapel image] Reject remote git url validation
759e8b9 [3-way-merge] Fix before-hook-creation delete policy hook delete timeout
9594712 [3wm] Helm hooks delete timeout tests and fixes, update helm to 2.16.0
092d7ff [docs] Small readme fixes and regen
1d3c6b7 Added note about bash limitations
2ffd77b add script for boostraping tests infrastructure
12a27b4 fixed landing markup
7147d73 [docs] werf.io landing rework
3feee5d [docs] Fix typo paramters -> parameters
a15ebd9 Update werf_deploy.md
4edcd7d [docs] Fix broken auto-generated markup
5a21478 [docs] ./docs/regen.sh
9a473a0 [docs] Resources update methods and adoption info
9a8e94e [docs] Describe werf resources manifests validation
ac25fa4 [docs] Refactor differences with helm page
a4a6217 [helm] Update helm to v2.15.2
589f818 [3-way-merge] Move 3wm modes dates: onlyNewReleases 10.11=>15.11, enabled 1.12=>5.12
d820b58 [tests] Fix node local docker registry cleanup
be8f489 [ci] Upload coverage job does not wait for macOS integration tests
b86b1ae [ci] Sequential run of integration tests on macOS
bb47975 [ci] Verbose output for macOS integration tests runner script
46789e6 [ci] Disable securely storing docker logins in macOS keychain on server
fb0a653 [3-way-merge] Update option to use 3 way merge patch, ability to adopt existing resources
fc101ed [docs] Configuration/Adding source code from git repositories: upd
c0e8819 [tests] Upd deploytracking suite * Build actual or use certain binary (e.g. werf with coverage) * Random project name
09de85c [tests] Upd deploytracking suite * Build actual or use certain binary (e.g. werf with coverage) * Random project name
3e5c347 [docs] Add publication https://medium.com/flant-com/rewriting-your-app-to-golang-2839e8920ace
87ad758 [docs] Add publication https://medium.com/flant-com/building-and-deploying-lots-of-microservices-using-werf-and-gitlab-ci-3ce2b7d19450
1ae9a47 [docs] Configuration/Adding docker instructions: upd
a33276d [ci] Run integration tests on macOS using ssh
5ead27f [tests] The only one docker registry per node
34f9114 [tests] Integration Build/Stapel Image/Base Image Suite: from and fromLatest
09e4ea5 Fix logger manages CLI command error
dcf87c2 Implement werf stage image command
57ae057 [ci] Download go modules for windows and refactor
ad09ddb [tests] Extra debug output
e4c86d5 [stapel image] Fix fromLatest does not work
a1c6886 [tests] Recover environment after each spec
1287e6f [tests] Integration Build/Stapel Image/Git Suite
82f4b43 [ci] Create integration_tests_tools artifact by each os
39f8c5b [ci] Run unit tests only in cmd/..., pkg/... packages
288e784 [ci] Skip windows unit tests coverage
59d2d83 [tests] Unique project name between parallel nodes
a124e97 [tests] Remove excess build tag
c30aa85 [tests] Refactor
4c20a1c [tests] Fix deploytracking tests projects names
994d5db [tests] Deploy tracking tests
2bef7e1 [tests] Integration Cleanup Suite: go tests
9eefd03 Override project name with $WERF_PROJECT_NAME variable
c77591b [images cleanup] Support env variable for '--without-kube' option
38f6f40 [ci] Cache go modules and test tools
7d3405f [docs] Add publication https://habr.com/ru/company/flant/blog/469541/
5c1b2c1 [stages purge] Remove containers that use werf images with force option
07d13f1 [docs] Deploy process/Differences with Helm: refactor
98c4794 [git] Refactor remote git repo clone path; fix 'invalid cross-device link' error
4d2ec89 [ansible] Fix error: 'LiveStdoutListener' object has no attribute '_reader'
7ad1cfd [stapel image] Update LFS packages versions to latest stable
b5a5a2e [ci] Update Github Actions workflow
7da3edd [tests] Integration Guides Suite: go tests
d99152a [ci] Cache integration tests tools
a0238ac [tests] Test simple repair-patch cases
337f580 [ci] Cache integration tests tools
dc5ea40 Fix false-positive repair-patches (part 2)
409327c [stapel image] Fix mount arbitrary file using mount[].fromPath
5335176 [docs] Fix minikube setup guide: docker registry proxy not worked anymore
35825ad [stapel] Fix 'APTPKG_5.0 not defined in file libapt-pkg.so.5.0 with link time reference'
bbba8aa [github actions] Run integration tests on 1.11-1.16 k8s clusters
15acf0e [tests] Guides/Deploy into kubernetes: Actualize
1676ac2 [docs] Actualize Deployment manifests
c5bd4b3 [tests] git/files-names-with-arbitrary-chars fix for WINDOWS
190d6b1 [tests][git] Test arbitrary chars in git files
25fa8b6 [3-way-merge][doc] Describe werf.io/set-resources-only-on-creation and werf.io/set-replicas-only-on-creation
5142ada [tests] Stapel image/build/git: remove empty directories
b612f97 [stapel] Fix PATH redefined in stapel container builder
9c09220 [stapel image] Git patch stages: improve rmEmptyChangedDirsCommand * support special symbols in directory names
584821c [stapel image] Git stages: fix argument list too long error
963e148 [3-way-merge] Fix panic: interface conversion: interface {} is nil, not []interface {}
0d34554 [3-way-merge] Create two pass 3wm repair patch: fix false-positive repair patches
2b91774 [lint] Add werf.io/set-replicas-only-on-creation/werf.io/set-resources-only-on-creation
3e1353a [3-way-merge] Create two pass 3wm repair patch: fix false-positive repair patches
53ec85b [tests] Cleaning: images cleanup/purge
b17232b [tests] Stapel image/build/git: gitArchive, gitCache and gitLatestPatch stages
27fabd6 Fix /.werf/ansible-workdir/lib/werf/.logboek.so: cannot open shared: no such file
21e1dee [deploy] Fix printStatus panic
c7e8fdb [deploy] Hide secret values in error
d5b22ab [ci] GitHub Actions Main workflow
9035c1d [stapel image] Fix sudo error: sudo: unable to stat /.werf/stapel/etc/sudoers: No such file or directory
67614da [ci] Abandon Travis CI
3d1bc0a [tests] Implement first k8s test
047c930 [tests] Refactoring
9317c76 [tests] Fix ansible tests error: repository 'repo' does not exists
e736aa2 [tests] Skip first application test till FIXME #1820
b23dbe2 [docs] Reference/Build process: add section How stapel builder processes CMD and ENTRYPOINT
4923a7e [tests] Ansible tests refactor: use BATS_TEST_DIRNAME
980305b [tests] Fix coverage runner: run from project root
a47d15e [docs] Publications: add articles about chart dependencies
d047968 Add ansible integration tests and some fixes
0212083 [stapel image] Fix empty ENTRYPOINT processing for UCP * support old and new reset ENTRYPOINT value formats for CE and EE Docker Engine * use new one for other solutions from docker (e.g. UCP)
5ddc820 [insecure docker registry] Fix http: server gave HTTP response to HTTPS client
40eda4f [tests] Improve werf test binary with coverage * ignore service lines PASS coverage: 6.6% of statements in ./...
0eb9a88 Fix tabs rendering on Stages and Images reference
89c9f8a [docs] Update Gemfile to fix rubyzip vulnerability
a5ff6f3 Rework stapel image, fixes #1490
329c261 [tests] Use default WERF_HOME for all tests
2dbe7e0 [tests] Run all tests with run_integration_tests.sh script
3b7e427 [tests] Update werf project name for each test * should be uniq and has prefix werf-test-
2c2d832 [tests] Export tmp WERF_HOME for each test
6e61016 [tests] Cover stages cleanup/purge with integration tests
18fcdef [tests] Cover secrets with integration tests
7f7cc45 [tests] Turn off debug
c344337 [stapel image] Fix bash: -H: command not found
1d46833 [tests] Travis and codeclimate integration
1850c87 [tests] Tests coverage solutions
89e865f [tests] Scripts to run tests
e40b7fd [tests] Cover guides with integration tests
6b93163 Add info about composer issue
5655470 [true-git] Tiny fix
515467a [playground] Remove deploy-helm-chart
24a90f5 Pin image versions in some guides
942c67c [tests] Simple werf.io getting-started test
d7b2b44 Update flant/werf-builder:1.1.0 build cache image
2ac3d3f [go.mod] Update flant/helm and flant/kubedog to use k8s.io/kubernetes v1.16.0
82c9801 [go.mod] Pin github.com/containerd/containerd to v1.2.3
00bbbd3 [docs] Rework README and main page werf.io werf intro
e132924 [stapel image] Fix warning: unable to access '/root/.config/git/attributes': Permission denied
2ee79a6 [werf_secret_key] Use only relative path as argument + legacy via include
fd08d7a [cleanup commands] Skip broken tags
a76e408 [stapel image] Fix images duplicates after stage cache invalidation
f79d8b2 [stapel image] Fix werf removes user's empty directories during adding patch with binary
e1b9421 [dockerfile] Fix BuildKit RUN --mount flag does not work
ffee3b9 [docs] Up auto annotations docs
c84d2a8 [docs] Reference/Working with secrets: up
15a168c [docs] Fix example of copying file with ansible
4c7c630 [deploy] Refuse temporary helm chart generation
05751bb [deploy] Remove werf helm generate chart command * Use werf helm render instead
869ed28 [deploy] Reject auto replace of chart path in helm errors
4a55821 [docs] Rework werf.io and README into text
7367bd8 [docs] Publications: add articles about --images-repo-mode
a692e6c [docs] Hide absolute keyring path in CLI reference
c26b9fb [docs] Hide absolute helm home path in CLI reference
49db90d [lint] Actualize werf anno validation
3f6b1b9 Git work tree switch strikes back: rework and speedup git work tree cache
14d5dfd [deploy] Update chart templates werf helpers * werf_container_image: add imagePullPolicy: Always for custom tag strategy * werf_container_env: set DOCKER_IMAGE_ID only for git branch and custom tag strategies
5bf687b [render] Optional variables and saving rendered chart to the file
510e7fb [deploy] Enable environment access functions in chart templates

Installation

Linux amd64

Darwin amd64

Windows amd64

Assets 2
You can’t perform that action at this time.