Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Helm v3.6.3 for werf #99

Open
wants to merge 32 commits into
base: release-3.6
Choose a base branch
from
Open

Helm v3.6.3 for werf #99

wants to merge 32 commits into from

Conversation

distorhead
Copy link
Member

No description provided.

 - change "main" package name to "helm_v3";
 - make all top-level helm commands constructors exportable for helm_v3 package.
 - Added helm cmd creation options to redefine:
    - postrenderer;
    - create-namespace, wait, atomic flags;
    - value-opts.
…erfChart extensions, added custom loader options support

 - Patched loader package to accept ChartExtender-interfaced object and factory to create extender for subcharts using loader.GlobalLoadOptions structure.
 - Added support for custom chart files loader, chart locator and values-related files reader using loader.LoadOptions.
    - Needed to implement determinism mode in the werf: werf/werf#2874.
 - ChartExtender allows adding extra templates and values, generation of Chart.yaml.
 - Exported 'helm chart' subcommand.
errPending on upgrade could occur when some deploy has been interrupted by a signal.

In this case helm leave release in inconsistent state which could not be healed by automatical redeploy.

Werf uses own distributed release locking by release name using Kubernetes configmap annotations to synchronize multiple deploy processes. Werf implementation supports interrupting of werf-deploy process by some signal.

helm#8987
Also added ability to export chart into exactly specified directory (helm uses DESTINATION/CHART_NAME by default).
…or DOCKER_CONFIG variable) for 'helm chart *' commands
 - Put all loader function callbacks into extender.
 - Fix subchart loading.
 - Refactor chart.Extender interface functions itself.
Allow case when namespace already exists in the cluster and user does not have a permission to create namespaces. `helm install --create-namespace` would not try to create namespace in such case.

This change makes `--create-namespace` flag behaviour moreidempotent.
…en installed successfully yet

.Release.IsInstall will be true until we successfully installed release.
@distorhead distorhead changed the base branch from release-3.6 to release-2.2 July 22, 2021 13:01
@distorhead distorhead changed the base branch from release-2.2 to release-3.6 July 22, 2021 13:02
ilya-lesikov and others added 2 commits August 26, 2021 12:55
…reached on initial installation

Fixed old releases rotation procedure to not require a deployed release to exists.

An error will arise when there are no successfully deployed release yet, but releases history limit has been reached. In such situation helm will refuse to upgrade release anymore with "... has no deployed releases" error.

Furthermore, release rotation procedure already expecting lastDeployedRelease to be either nil, or not nil. So it is assumed that deployed release may exist or may not and these both outcomes were already expected as a valid situation rather than a failure.
…_limit_hit_for_werf

fix: "... has no deployed releases" error when release history limit reached on initial installation
feat(helm for werf): support post-renderer chaining
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants