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.10+fix1

Published by flant-team-sysdev over 3 years ago

Internals

Path matchers

  • Remove irrelevant legacy methods: TrimFileBaseFilepath and BaseFilepath
  • Redesign path matchers and divide them into simple entities
    • base path
    • include
    • exclude
    • dockerignore patterns
    • true
    • false
    • complex
    • multi
  • Add factory constructor for easy and clear use
  • Add the ID method to determine the path matcher parameters unambiguously
  • Fix multi path matcher the ShouldGoThrough 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)
  • Complete test coverage

Git

  • Generalization of the calculating git repository files checksum
    • Simplify the GetOrCreateChecksum method
      • the method creates or gets a checksum from the cache
      • the previous logic was specific to git mapping (it is taken out and based on the new implementation)
    • The logic of stapel and dockerfile checksum calculation is reduced to one mechanism
  • Archive/Patch/LsTree: add the PathScope option to limit paths and determine the base directory/file (similar to <pathspec> in the git commands).

Other

  • [util] Fix IsSubpathOfBasePath helper
    • Incorrect processing of empty ("") and root ("/") basePath
    • Checking for identical paths returns true

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.10

Published by flant-team-sysdev over 3 years ago

[GC] Basic garbage collection for build host images and containers

  • Experimental feature: automatical host cleaning GC procedure will be activated only when WERF_ENABLE_HOST_STORAGE_GC=1 is set.
  • Werf may perform GC procedure in main commands (werf-build, werf-converge, etc.).
  • To manually call GC procedure use werf host cleanup command.
  • Algorithm and options:
    • Werf will try to maintain 80% disk usage by default and perform deletion of old images build by werf (and containers, and dangligh images as well). User may specify different threshold percentage with --allowed-volume-usage=N (WERF_ALLOWED_VOLUME_USAGE) option.
    • Werf tries to detect docker storage volume to check volume usage. User may specify --docker-server-storage-path (WERF_DOCKER_SERVER_STORAGE_PATH) option manually to specify volume where docker storage directory reside.

Fixes

[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

Docs

[web] Fix some redirects (#3347)

[docs] Update the version of werf actions
werf/actions/deploy@master -> werf/actions/[email protected]

[docs] Tune sitemaps (#3337, #3336)

[docs] Renaming the translation of the term "bundle"

Internals

[git_repo] Use PatchMatcher instead of FilterOptions
[path_matcher] Update multiPathMatcher string format
[ci] Delete namespace on review dismiss (#3333)

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.9+fix10

Published by flant-team-sysdev over 3 years ago

Fixes

[bundle] Fix werf-bundle-apply command does not use --env param

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.9+fix9

Published by flant-team-sysdev over 3 years ago

Docs

[docs] Advanced/Supported container registries

[docs] Advanced/Bundles: update supported container registries section

[docs] Using the term container registry instead of docker registry implementation

  • rename Advanced/Supported registry implementations to Advanced/Supported container registries
    • /documentation/advanced/supported_registry_implementations.html -> /documentation/advanced/supported_container_registries.html
  • correct all occurrences

[docs] Fix russian bundles doc

[docs] Exclude 404 pages from sitemaps (#3330)

Internals

[ci] More convenient job names (#3332)

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.8+fix14

Published by flant-team-sysdev over 3 years ago

Docs

[docs] Advanced/Bundles: update supported container registries section
[docs] Advanced/Supported container registries

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.9+fix8

Published by flant-team-sysdev over 3 years ago

Fixes

[helm] Enable secret-values in 'werf helm *' commands, fix lint command

  • Refactored pkg/deploy/helm/chart_extender.
    • Separation of chart-extenders itself and helpers.
    • Common code for secret loader.
  • Refactored secrets-manager: accept working dir param only when reading secret-key.
  • Fixed 'werf helm lint' command (disabled linting of an optional .helm/Chart.yaml file).

[helm] Fix additional --secret-values param files should redefine previously defined secret-values

Internals

[ci] Don't deploy backend to the test env (#3327)

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.9+fix7

Published by flant-team-sysdev over 3 years ago

Fixes

[bundles] Fix bundle-publish ignores .helm/values.yaml and uses .helm/secret-values.yaml

Update Helm

[helm] Update helm v3.5.0 -> v3.5.2

https://github.com/helm/helm/releases/tag/v3.5.2

Internals

[ci] Website review environments (#3315)

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.8+fix13

Published by flant-team-sysdev over 3 years ago

Fixes

[bundles] Fix bundle-publish command ignoring .helm/values.yaml and publishing .helm/secret-values.yaml

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.9+fix6

Published by flant-team-sysdev over 3 years ago

Fixes

[helm] Fix chart dependencies loader missing error reports

[helm] Add support for .helm/requirements.yaml and .helm/requirements.lock older format

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.8+fix12

Published by flant-team-sysdev over 3 years ago

Fixes

[helm] Fix chart dependencies loader missing error reports

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.8+fix11

Published by flant-team-sysdev over 3 years ago

Docs

[docs] What's new in v1.2: describe mounts rejection cases
[docs] Advanced/bundles: added supported registry implementations

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.9+fix5

Published by flant-team-sysdev over 3 years ago

Giterminism

[giterminism] Separate processing for untracked and uncommitted files

Docs

[docs] What's new in v1.2: describe mounts rejection cases
[docs] Advanced/bundles: added supported registry implementations

Other

Kubedog update: disable events informer with KUBEDOG_DISABLE_EVENTS=1

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.23+fix21

Published by flant-team-sysdev over 3 years ago

Debug release

Kubedog update: disable events informer with KUBEDOG_DISABLE_EVENTS=1

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.9+fix4

Published by flant-team-sysdev over 3 years ago

Docs: refine whats_new_in_v1_2 documentation chapter and translate to russian (2)

(links will be available very soon)

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.8+fix10

Published by flant-team-sysdev over 3 years ago

Docs: refine whats_new_in_v1_2 documentation chapter and translate to russian (2)

(links will be available very soon)

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.9+fix3

Published by flant-team-sysdev over 3 years ago

Docs: refine whats_new_in_v1_2 documentation chapter and translate to russian

(links will be available very soon)

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.8+fix9

Published by flant-team-sysdev over 3 years ago

Docs: refine whats_new_in_v1_2 documentation chapter and translate to russian

(links will be available very soon)

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.9+fix1

Published by flant-team-sysdev over 3 years ago

Developer mode change for follow mode and docs

[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.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.8+fix8

Published by flant-team-sysdev over 3 years ago

Add WERF_DISABLE_RESOURCES_WAITER=1 support

Specify env var to fully disable kubedog waiter.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.9

Published by flant-team-sysdev over 3 years ago

Support for modified/tracked files for the dev mode

  • Introduced --dev-mode simple|strict option.
  • --dev-mode simple — default mode when --dev option has been specified, to use strict mode specify --dev-mode strict.
  • In simple dev mode werf will use only files which are staged for commit (files which has been added with the git add command) and also modified files changes, which has not been staged for commit.
  • In strict mode werf will use only files which are staged for commit (files which has been added with the git add command).

Fix glob DIR/** not working in stage-dependencies

[path_matcher] Fix Simple/GitMappingPathMatcher.IsMatched method logic

Several sets of globes are used when comparing paths:

  • The globes as they are.
  • The globes without asterisks on the right (path//dir/**/, path//dir/**, path//dir///** -> path/*/dir).
  • The globes from the previous set with the universal part **/* (path//dir/**/).

Installation

Linux amd64

Darwin amd64

Windows amd64