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

Published by flant-team-sysdev over 3 years ago

Giterminism refinements: full support for symlinks

[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

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.23+fix11

Published by flant-team-sysdev over 3 years ago

Fixes

Do not parse values with strict yaml parser to allow usage of yaml-anchors

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.4+fix18

Published by flant-team-sysdev over 3 years ago

Docs

  • Update guides template and overview page.
  • Correct a grammar mistake.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.4+fix17

Published by flant-team-sysdev over 3 years ago

Fixes

[giterminism] Fix env allowance check

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.4+fix16

Published by flant-team-sysdev over 3 years ago

Docs fixes

Fixed russian guides hot link.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.4+fix15

Published by flant-team-sysdev over 3 years ago

werf - werf v1.2.4+fix14

Published by flant-team-sysdev over 3 years ago

Bundles

[bundles] Fix bundle not republished by the same tag

The bug is in the deislabs/oras: https://github.com/deislabs/oras/pull/215

Use fix from the fork for now: https://github.com/werf/oras/tree/v0.8.1+fix1

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.4+fix13

Published by flant-team-sysdev over 3 years ago

Fixes

[follow] Fix follow mode does not reinitialize giterminism manager

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.4+fix12

Published by flant-team-sysdev over 3 years ago

Giterminism

[giterminism] Refactoring: simplify error messages and the corresponding code

the '' not found in the project git repository
=>
unable to read : the file "" not found in the project git repository

the uncommitted configuration found in the project directory: the '' must be committed
=>
unable to read : the file "" must be committed

[giterminism] Fix doublestar.Match matches system-dependent path

Custom project-dir related fixes

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.

Fixes and other

[doc] Fix the "Documentation" link in the site header. Fix jekyll custom filter.

Internals

[tests] Giterminism Suite: actualize tests
[giterminism] Remove unused giterminism inspector

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.0.13+fix5

Published by flant-team-sysdev over 3 years ago

DEPRECATION WARNING

Add deprecation warning for the fromImageArtifact directive.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.23+fix10

Published by flant-team-sysdev over 3 years ago

DEPRECATION WARNING

Add deprecation warning for the fromImageArtifact directive.

Fixes

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:

  • --set + WERF_SET_*;
  • --set-string + WERF_SET_STRING_*;
  • --set-file + WERF_SET_FILE_*;
  • --add-label + WERF_ADD_LABEL_*;
  • --add-annotation + WERF_ADD_ANNOTATION_*;
  • --ssh-key + WERF_SSH_KEY_*;
  • --secondary-repo + WERF_SECONDARY_REPO_*;

Process params as follows:

  1. Sort WERF__* environment variables alphanumerically.
  2. Merge all params passed by environment variables with CLI-params (CLI-params have more priority).

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.4+fix11

Published by flant-team-sysdev over 3 years ago

Fixes

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

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.4+fix10

Published by flant-team-sysdev over 3 years ago

Giterminism

werf-giterminism.yaml giterminsimConfigVersion could be number 1 or string "1".

Helm update

Update helm to v3.5.0.

Guides has been translated to English

https://werf.io/guides/

Fixes

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:

  • --set + WERF_SET_*;
  • --set-string + WERF_SET_STRING_*;
  • --set-file + WERF_SET_FILE_*;
  • --add-label + WERF_ADD_LABEL_*;
  • --add-annotation + WERF_ADD_ANNOTATION_*;
  • --ssh-key + WERF_SSH_KEY_*;
  • --secondary-repo + WERF_SECONDARY_REPO_*;

Process params as follows:

  1. Sort WERF__* environment variables alphanumerically.
  2. Merge all params passed by environment variables with CLI-params (CLI-params have more priority).

DEPRECATION WARNINGS

  • werf_image will be removed in the v1.3;
  • --loose-giterminism will be removed in the v1.2.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.3+fix12

Published by flant-team-sysdev over 3 years ago

Guides has been translated to English

Fixed all links to guides: https://werf.io/applications_guide

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.4+fix9

Published by flant-team-sysdev over 3 years ago

Giterminism

This release contains complete support for werf-giterminism.yaml.

  • Read the giterminism config from git.
  • Remove --non-strict-giterminism-inspection option.
  • Lookup for the .git directory in the current working dir or parent directories, or use --git-work-tree option to specify work tree manually (or WERF_GIT_WORK_TREE env var).
  • Inspect uncommitted build context files
    • implement multi path matcher
    • inspect uncommitted build context files with giterminism manager:
      • dockerfile context
      • stapel git mappings
    • status: fix untracked files not detected
    • cache git status result in git repo instance

Bundles

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

Other

  • [deploy] Deprecate werf_image template in favor of .Values.werf.image.NAME.
  • [dismiss] Do not lock release on dismiss when --with-namespace option has been specified for now.

Internals

[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

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.1.23+fix9

Published by flant-team-sysdev almost 4 years ago

Add deploy values debug info

Print "Helm values params" block when --debug has been specified.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.4+fix8

Published by flant-team-sysdev almost 4 years ago

More werf-giterminism.yaml options

  • Refactoring and fixes:
    • Update common error message
    • Update not found the werf config error message
    • Generalize code: readConfigurationFile, checkConfigurationFileExistence, isConfigurationFileExist
    • Change configurationFilesGlob method args
    • Fix error handling
    • Fix and refactor optional werf.yaml handling
  • Support for the config dockerfile allowUncommitted / allowUncommittedDockerignore.
  • Support for the helm chart files.
  • Do not wrap globes in / (/**/*/).

Bundles

[bundle] Add support for automatic dependencies building on bundle-apply

Internals

[tests] Giterminism Suite: config dockerfile / dockerignore tests
[tests] Giterminism Suite: helm chart files tests

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.4+fix7

Published by flant-team-sysdev almost 4 years ago

Docs fixes

  • Fix links to install binary package on install page according to selected channel
  • Fix docs tests suite.
  • Fix links in topnav.

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.4+fix6

Published by flant-team-sysdev almost 4 years ago

Giterminism

[tests] Giterminism Suite: the config and templates tests

[giterminism] Change helm giterministic files loader logic for subcharts

  • automatically perform dependency build operation for provided Chart.lock;
  • the result of dependency build is cached by the Chart.lock's digest;
  • load standard .helm/charts dir and charts dir using dependency build operation result.

[giterminism_manager] Update error messages for the config and templates.
[giterminism manager] Implement manager for werf configuration and templates

Fixes and other

  • Fix glob pattern wrapped in ^ and $.

  • [config] Fix naming for the user template

    The template name is the path relative to the templates directory.
    {{ include ".werf/templates/1.tmpl" . }} => {{ include "templates/1.tmpl" . }}

Installation

Linux amd64

Darwin amd64

Windows amd64

werf - werf v1.2.4+fix5

Published by flant-team-sysdev almost 4 years ago

New v1.2 deprecations

[config] Deprecate support for the nameless image
[config] Deprecate the fromArtifact directive

Fixes

[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

Small features

Added .Values.global.werf.version service value with werf cli util version.

Installation

Linux amd64

Darwin amd64

Windows amd64