werf

A solution for implementing efficient and consistent software delivery to Kubernetes facilitating best practices.

APACHE-2.0 License

Stars
4.2K
Committers
64

Bot releases are hidden (Show)

werf - werf v1.2.13+fix4

Published by flant-team-sysdev about 3 years ago

Complete ghcr.io support related improvements

Installation

Linux amd64

Linux arm64

Darwin amd64

Darwin arm64

Windows amd64

werf - werf v1.2.13+fix3

Published by flant-team-sysdev about 3 years ago

Complete ghcr.io support related improvements

feat(ci_env): perform authorization for old GitHub registry users
fix(container_registry): raise errors properly

Installation

Linux amd64

Linux arm64

Darwin amd64

Darwin arm64

Windows amd64

werf - werf v1.2.13+fix2

Published by flant-team-sysdev about 3 years ago

Completely move from docker.pkg.github.com to ghcr.io

feat(container_registry): drop support for old GitHub container registry (docker.pkg.github.com)
feat(container_registry): update required token scopes for ghcr.io
feat(container_registry): handle forbidden error working with GitHub API

Installation

Linux amd64

Linux arm64

Darwin amd64

Darwin arm64

Windows amd64

werf - werf v1.2.13+fix1

Published by flant-team-sysdev about 3 years ago

ghcr.io registry support

feat(ci_env): perform docker login for ghcr.io registry specified by the user (WERF_REPO)
feat(container_registry): full support for ghcr.io

Fixes

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

Internals

ci: trdl releaser workflow

Installation

Linux amd64

Linux arm64

Darwin amd64

Darwin arm64

Windows amd64

werf - werf v1.1.23+fix48

Published by flant-team-sysdev about 3 years ago

Fixes

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

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.13

Published by flant-team-sysdev about 3 years ago

Full support for untracked files in the dev-mode and follow-mode

feat(dev): drop dev modes (--dev-mode option) and always use the worktree state of the repository
test(true_git): test service worktree branch
feat(dev): untracked files support
refactor(true_git): rename dev_branch with service_branch
ci(tests): init git user for unit tests

feat(dev): add --dev-ignore option to ignore tracked and untracked changes

The option allows adding rules to ignore tracked and untracked changes in development mode and can be specified multiple times.
Also, can be specified with $WERF_DEV_IGNORE_* (e.g. $WERF_DEV_IGNORE_TESTS=*_test.go, $WERF_DEV_IGNORE_DOCS=path/to/docs).

feat(follow): track all changes in development mode

Introduce cache-repo params

Cache-repos will be used as pull-through cache. Newly built images will also be published into all specified cache repos.

feat(multirepo): introduce cache repos support

  • New [--cache-repo REPO --cache-repo REPO ...] params to specify list of cache registries.
  • Refactor storage manager: use single struct to manage stages storages operations, there is no separate stages-storage-manager, it is a single man
    ager by design.
  • Improve local manifests cache: store manifest into the cache immediately after fetch process or build process of the new image.
  • Use local manifests cache for cache-repos as well.
  • Refactor StagesStorage interface: move filter stages method into the local stages storage impl only.
  • Use stages-storage-cache all stages ids listing in StorageManager.GetStageDescriptionList, do not bypass stages-storage-cache for such operation,
    because it will allow faster detection of invalid stages-storage-cache state and faster stages-storage-cache reset (on cleanup for example).
  • Optimize fetch operation: do not perform excess get-manifest operation when image exists locally and will not be actually fetched.

Internals

Update deislabs/oras OCI library to v0.11.1.

Installation

Linux amd64

Linux arm64

Darwin amd64

Darwin arm64

Windows amd64

werf - werf v1.2.12+fix2

Published by flant-team-sysdev over 3 years ago

Fixes

fix: panic in ci-env, dismiss, managed-images and stage-image cmds

Fixed uninitialized --platform param setup code.

Installation

Linux amd64

Linux arm64

Darwin amd64

Darwin arm64

Windows amd64

werf - werf v1.2.12+fix1

Published by flant-team-sysdev over 3 years ago

Support registry mirrors

feat(docker_registry): generic api with registry mirrors support
feat(docker_registry): init docker registry after docker for getting daemon info

Support arm64 builds

  • Added darwin and linux arm64 werf builds.

Support for platform=linux/amd64 emulation

  • Werf only supports building linux/amd64 images at the moment.
  • When running werf on arm64 platform werf requrires explicit param --platform=linux/arm64 (or WERF_PLATFORM, or DOCKER_DEFAULT_PLATFORM env. variable).
    • With this param werf would use buildkit to build Dockerfile-based images and also build stapel-based images using regular docker-run & docker-commit mechanics.

Other

Update Helm 3 from v3.6.0 to v3.6.3.

Fixes

fix(cleanup): host cleanup removes base images pulled by full name (REPO:TAG@DIGEST)

  • remove images that do not have any tags and digests instead of dangling

fix(compose): fix host cleanup gc panics in werf compose command

  • Added forgotten cli-options related to host cleanup procedure.

Internals

test(docker_registry): refactor
refactor(docker_registry): parse reference parts

Installation

Linux amd64

Linux arm64

Darwin amd64

Darwin arm64

Windows amd64

werf - werf v1.2.12

Published by flant-team-sysdev over 3 years ago

Support registry mirrors

feat(docker_registry): generic api with registry mirrors support
feat(docker_registry): init docker registry after docker for getting daemon info

Support arm64 builds

  • Added darwin and linux arm64 werf builds.

Support for platform=linux/amd64 emulation

  • Werf only supports building linux/amd64 images at the moment.
  • When running werf on arm64 platform werf requrires explicit param --platform=linux/arm64 (or WERF_PLATFORM, or DOCKER_DEFAULT_PLATFORM env. variable).
    • With this param werf would use buildkit to build Dockerfile-based images and also build stapel-based images using regular docker-run & docker-commit mechanics.

Fixes

fix(cleanup): host cleanup removes base images pulled by full name (REPO:TAG@DIGEST)

  • remove images that do not have any tags and digests instead of dangling

fix(compose): fix host cleanup gc panics in werf compose command

  • Added forgotten cli-options related to host cleanup procedure.

Internals

test(docker_registry): refactor
refactor(docker_registry): parse reference parts

Installation

Linux amd64

Linux arm64

Darwin amd64

Darwin arm64

Windows amd64

werf - werf v1.2.11+fix16

Published by flant-team-sysdev over 3 years ago

Fixes

fix(render): insert stub images names when rendering a project without --repo param, remove debug printf
docs: fix config version documentation descriptions
fix(build): fix error "lstree result is empty when writing tar archive"

Internals

cleanup(build): unused ArchiveDescriptor
infra(release_publisher): upload built binaries to S3

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.11+fix15

Published by flant-team-sysdev over 3 years ago

Fixes

fix(render): insert stub images names when rendering a project without --repo param, remove debug printf
docs: fix config version documentation descriptions
fix(build): fix error "lstree result is empty when writing tar archive"

Internals

cleanup(build): unused ArchiveDescriptor
infra(release_publisher): upload built binaries to S3

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.11+fix14

Published by flant-team-sysdev over 3 years ago

Fixes

  • fix(kubedog): add support for ErrImageNeverPull;
  • fix(host cleanup GC): enable auto cleanup in werf-compose commands;
  • fix(host cleanup GC): Do not print wrongly estimated size of images before delete performed;
  • fix(build): print store stage message when pushing a stage into repo;
  • fix(werf.yaml): fix default path to .helm;
    • should be relative to werf.yaml location so that custom werf.yaml location also specifies custom .helm path automatically.

Docs

  • docs: fix docs installation for macos;

Internals

  • fix(helm): remove usage of ghodss yaml, use sigs.k8s.io/yaml instead;
    • only for helm-related part, do not change legacy ansible pkg which uses ghodss.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.11+fix13

Published by flant-team-sysdev over 3 years ago

Fixes

  • fix(kubedog): add support for ErrImageNeverPull;
  • fix(host cleanup GC): enable auto cleanup in werf-compose commands;
  • fix(host cleanup GC): Do not print wrongly estimated size of images before delete performed;
  • fix(build): print store stage message when pushing a stage into repo;
  • fix(werf.yaml): fix default path to .helm;
    • should be relative to werf.yaml location so that custom werf.yaml location also specifies custom .helm path automatically.

Docs

  • docs: fix docs installation for macos;

Internals

  • fix(helm): remove usage of ghodss yaml, use sigs.k8s.io/yaml instead;
    • only for helm-related part, do not change legacy ansible pkg which uses ghodss.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.11+fix12

Published by flant-team-sysdev over 3 years ago

Add ability to publish miscellaneous files for bundles

feat(bundles): add ability to publish miscellaneous files existing in .helm dir

.helm/files for example will be published into the bundle.

Fixes https://github.com/werf/werf/issues/3593

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.11+fix11

Published by flant-team-sysdev over 3 years ago

Change behaviour of .Release.IsInstall

Changed .Release.IsInstall logic for a release which has not been installed successfully yet: .Release.IsInstall will be true until we successfully installed release.

Docs

[docs] UI tweaks

Fixed error messages

[git_mapping] Verbose error when archive creation failed
[helm] Add more info about resource kind when patching of resource has failed

Update warn message when a stage dependency not found in git

Replace relative dependency path with absolute one in git repo.
Previously, the message used a relative path (stageDependencies value) and the warning was less informative.

WARNING: stage install dependency path <STAGE_DEPENDENCY_PATH> has not been found in own git

=>

WARNING: stage install dependency path "<ADD_PATH/STAGE_DEPENDENCY_PATH>" has not been found in own git

Other fixes

[process_exterminator] Fix WERF_ENABLE_PROCESS_EXTERMINATOR=0|false

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.23+fix47

Published by flant-team-sysdev over 3 years ago

Fixes

[v1.1][helm] Fix strict values yaml parsing introduced into werf

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.23+fix46

Published by flant-team-sysdev over 3 years ago

[v1.1] Fix werf resources tracker exits before resources are ready

Fixed in kubedog, updated werf to use latest kubedog.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.11+fix10

Published by flant-team-sysdev over 3 years ago

[dev] Fix incorrect behavior when project repository has a dirty submodule

Error: unable to sync staged changes: git command /usr/local/bin/git -C ~/.werf/local_cache/git_worktrees/9/local/9787063286a09974befa8dc3de81e63edb79c5304621035136d181f2ca792dd7/worktree -c core.autocrlf=false -c [email protected] -c user.name=werf commit -m 2021-06-03 20:00:52.409615 +0400 +04 m=+1.173176433 failed: exit status 1
On branch werf-dev-b90c24d97bcca2b4a69c4f78e85507fe925ab3f0
nothing to commit, working tree clean

Fix werf resources tracker exits before resources are ready

Fixed in kubedog, updated werf to use latest kubedog.

Docs

[docs] Overview: fix punctuation
[docs] Channel info: fix stable channel
[docs] Update werf compose commands help: added full example

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.11+fix9

Published by flant-team-sysdev over 3 years ago

Fixes

Fix werf automatical namespace creation RBAC issue

Werf internally uses --create-namespace flag of helm, which is broken.

Fixed in the werf/helm fork for now: https://github.com/werf/helm/pull/96.

Created PR into upstream helm: https://github.com/helm/helm/pull/9775.

Site and docs

[site] Landing page refinements
[docs] Fix installation guide typo

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.11+fix8

Published by flant-team-sysdev over 3 years ago

werf.io site updates

Docs: minor tweaks for Giterminism section of landing page

[web] Fix broken links on the main page and update CLI pages (#3567)

Bundles

[bundle] Support insecure registry for bundles publishing

Update Helm to v3.6.0

Git mapping configuration section fixes

[git] add file with to: / disallowed, warning for trailing slash in to:

Docs actualization

[docs] Stapel/Advanced/Git directive: remove the old text
[docs] Advanced/Giterminism: fix link to env function

Update logging and dev mode

[dev] Use arbitrary name for dev branch (added option)

[ci_env] Default log terminal width to 130

[logging] Detailed image info

│ Use cache image for test/setup
│      name: localhost:5000/test:a0ba487f58eca11aeac33046f233304901b955c7a9cf3a5c650bcdd1-1622627292899
│        id: b3b86c474e43
│   created: 2021-06-02 10:48:12 +0100 BST
│      size: 2.7 MiB (+377 B)

[logging] Repo handle: detailed error
[logging] Debug GetStagesByDigest log message

Internals

[ci] PR Validation: remove commit type check and rename workflow
[tests][helm] Atomic resources update process tests

Installation

Linux amd64

Darwin amd64

Windows amd64