Commit Graph

900 Commits

Author SHA1 Message Date
vseryozhenko 787e6c80d1
ubuntu docker based image for helmfile (#1863)
Co-authored-by: Valera Seryozhenko <vseryozhenko@healthjoy.com>
2021-09-14 16:01:34 +09:00
Nicolas Sterchele 724b4b36f3
readme: fix wrong paths for environments on conf example (#1885)
As we are using "environments" all over the place this allows to add
clarity
2021-09-14 15:58:53 +09:00
James Christian 2792ef75d1
bug: write-values deletes provided --values files. (#1905)
This fixes the bug by not including provided values files in the array of generated values, which is evalutated in a defered block.
Resolves #1904
2021-09-14 14:51:22 +09:00
Yusuke Kuoka f57b510d01
Fix json patches and strategic patches to do work when there was only one resource in the targeted chart/directory (#1962)
Ref https://github.com/roboll/helmfile/issues/1954
2021-09-14 14:48:20 +09:00
Yusuke Kuoka 7845cccd23
Stop integration test for Helm 2.17.0 (#1961)
It turned out the Helm 2.17.0 binary is nowhere now. I considered a bit about checking for a newer Helm 2.x releases as an alternative but I resisted as it is almost a year since EoL of Helm 2. Thanks Helm 2. Long live Helm 3!
2021-09-14 05:19:53 +09:00
Yusuke Kuoka e1cabc82e3
Add support for --validate on chartify (#1960)
Apparently we needed to pass `--validate` on helm-template run by chartify when the targeted chart contains Capabilities.APIVersions in a chart template. Otherwise, you can never make such chart work with chartify, as at apply time helm template expressions that involved Capabilities.APIVersions are already nowhere.
2021-09-14 04:48:21 +09:00
Alex Meddin 0f91f2c9cf
Add IKEA to users. (#1925) 2021-09-14 04:41:19 +09:00
George Gaál 8594944f63
Update writing-helmfile.md (#1937)
fix small typo
2021-09-14 04:36:40 +09:00
Rei ae438c8e9e
Add more examples for remote env value files (#1938) 2021-09-14 04:36:05 +09:00
Jake Hill ad2f8e87e6
Add debian docker image, drop helm2, upgrade packages. (#1956)
- Add debian image based on `stable-slim`, desire for this is largely
  around my use case using Azure DevOps which makes it challenging to
  use images which are not glibc based.
- Drop support for helm2 in the docker images. This is a tricky one but
  given that I was having errors during the docker build for helm2 and
  the fact that it has been EoL for a long time now made me think that
  this was the correct move.
- As a "while I'm in here" I've upgraded kubectl and helm. I've popped
  on the most current patch of the last release (v1.20.3) to give a
  slightly broader support for different Kubernetes versions.
- Reworked CI to support pushing a debian and alpine base, and dropped
  support for the helm2 versions.
2021-09-14 04:30:32 +09:00
Yusuke Kuoka ccd81de77e Set longer no_output_timeout for release
Ref https://support.circleci.com/hc/en-us/articles/360007188574-Build-has-hit-timeout-limit
2021-07-26 00:04:11 +00:00
Evgenii Tereshkov d8247e6543
Update writing-helmfile.md: fix typos (#1892) 2021-07-02 07:31:47 +09:00
Alex Meddin 46b17e2cdb
feat: pass-credentials to repo (#1899)
This adds the ability to include the --pass-credentials flag to the helm add repo command by:

- Adding repo.passCredentials to the helmfile yaml
- Changing state, helmexec, and app to include RepositorySpec.PassCredentials

Resolves #1898

Co-authored-by: almed4 <alexandre.meddin@ingka.ikea.com>
2021-07-02 07:31:16 +09:00
Yusuke Kuoka c623730374
Bump golang.org/x/crypto (#1877)
Resolves #1876
2021-06-10 09:16:11 +09:00
Yusuke Kuoka 72e71608b1
Fix chartify regression of missing chart dependencies (#1869)
* Fix chartify regression of missing chart dependencies

Fixes https://github.com/roboll/helmfile/issues/1867

* Add integration test cases for issues #1857 and #1867
2021-06-08 13:06:26 +09:00
dudicoco 0d4adfedab
Document hooks events expressions (#1870)
Docs for https://github.com/roboll/helmfile/pull/882

Ref https://github.com/roboll/helmfile/issues/1868#issuecomment-854530386
2021-06-08 10:59:21 +09:00
Yusuke Kuoka 1a109f7400
Fix chartify inability to disable chart dependency (#1861)
Fixes #1857
2021-05-24 08:31:09 +09:00
Yusuke Kuoka 97bab23e0c
Fix --skip-cleanup to work with chartify (#1860) 2021-05-24 08:30:58 +09:00
Yusuke Kuoka c881544255
Update README.md 2021-05-22 18:17:28 +09:00
dudicoco 92ba347d6f
Add --skip-diff-on-install to helmfile diff (#1841)
* Add --skip-diff-on-install to helmfile diff
2021-05-16 14:02:53 +09:00
Yusuke Kuoka f502a0a779
fix: Do not fail on deps when chart is fetched by go-getter (#1852)
Fixes #1847
2021-05-16 13:43:59 +09:00
Radon Rosborough 77241607fa
Fix Helmfile swallowing secrets decryption errors (#1849) 2021-05-14 09:19:32 +09:00
Quan TRAN f38958d6d7
Fix cache path issue on Windows (#1846) 2021-05-13 09:00:43 +09:00
Yusuke Kuoka 212e6acf23
Fix helmfile-lint not to stop on fisrt error (#1836)
Fixes #1826
2021-05-09 13:33:36 +09:00
Yusuke Kuoka efa404e275
Make `--skip-needs=true` the default option (#1835)
Ref https://github.com/roboll/helmfile/issues/1830#issuecomment-835632716
Ref #1692
Follow-up for #1772
2021-05-09 12:09:58 +09:00
Yusuke Kuoka 794ab9fc66
Fix lint and status not to fail with selector and needs (#1834)
Fixes #1830
2021-05-08 21:23:09 +09:00
Yusuke Kuoka 48bd5c0979 Update go.sum for successful build 2021-05-08 08:49:57 +00:00
Quan TRAN e39a0b3639
bump Go to 1.16.3 and cover helm 3.5.4 (#1825)
* bump go to 1.16.3

* add helm 3.5.4 to integration tests
2021-05-08 17:37:58 +09:00
katsew 58954109fb
fix kubeContext does not globally defaulting its value (#1829)
Ref #1810
2021-05-08 17:35:46 +09:00
Yusuke Kuoka cb7fa6bf63
Bump vals to 0.14.0 (#1832)
This release includes new `ref+tfstates3://` and `ref+tfstategs://` backends for reading terraform states stored in s3 and google cloud storage, and features a new aws-sdk-go that supports AWS SSO, and the fix to allow referencing a local tfstate file by the absolute path.

See https://github.com/variantdev/vals/releases/tag/v0.14.0 for all the changes.
2021-05-08 17:33:37 +09:00
Yusuke Kuoka 44fb68b7e0
Use the incubator chart repo instead of chartcenter (#1833)
As ChartCenter has been shut down.

Ref https://github.com/roboll/helmfile/pull/1829#issuecomment-833330609
2021-05-08 17:33:24 +09:00
Quan TRAN ded0f1049a
Fix filepath handling on Windows (#1754) 2021-05-02 09:22:25 +09:00
Yusuke Kuoka 08db073958
Fix broken selector and DAG calculation logic after --{include,skip}-needs addition with correct Release IDs (#1823)
#1772 broke `--selector` with `needs` in many ways.

The two biggest problems I've encountered were:

- duplicate releases even if you've provided a proper `selector` to deduplicate
- sync/deletion ordering broken when you have `needs`

For the first issue, we had to update `getSelectedReleases` function to also calculate the "selected releases and releases needed by the selected releases", and use that to calculate the DAG. That should have been done in #1772.

The latter started happening after I've fixed the first issue. The source of the issue was that `needs` turned out to be ambiguous in a few cases.

Previously, `needs: ["foo/bar"]` had two meanings. One for "needs release bar in kubecontext foo", another for "needs release bar in namespace foo".

Moreover, `needs: ["foo/bar/baz"]` had three meanings.

- `needs release baz in tiller namespace foo and namespace baz`
- `needs release baz in namespace bar in kubecontext foo`
- `needs release baz in tiller namespace bar in kubecontext foo`.

Especially, the first meaning doesn't make sense at all. Helm 2 solely use tillerNamespace for namespacing the release and Helm 3 uses namespace for that.

This fix sorts all the bugs and issues I've found so far around that, by changing the meanings of the above two examples as follows:

- `foo/bar` means `namespace=foo,name=bar` for Helm 3 and `tillerNamespace=foo,name=bar` for Helm 2
  - `needs release bar in kubecontext foo` is now `foo//bar`. Notice the extra `/` between `foo` and `bar`.
- `foo/bar/baz` means `kubecontext=foo,namespace=bar,name=baz` for Helm 3 and `kubecontext=foo,tillerNamespace=bar,name=baz` in Helm 2

Fixes #1818
2021-05-01 21:59:25 +09:00
Yusuke Kuoka de8644a504
Fix --selector results to correctly deduplicate releases (#1822)
Fixes #1818
2021-05-01 15:06:07 +09:00
katsew f28ad5af23
Fix defaulting and overriding kubeContext (#1814)
Ref #1810

* fix defaulting and overriding kubeContext

* make defaulting kubeContext side-effect free

* checkDuplicates should check releases with overriden values
2021-05-01 12:42:29 +09:00
dudicoco 77ee239db2
Lock helm plugin versions in Dockerfile (#1821) 2021-05-01 12:26:54 +09:00
Vladimir Avdoshka d9e15754b7
Add documentation about re-using the environment state from parent in sub-helmfile (#1808)
Ref #762

Co-authored-by: Vladimir Avdoshka <vavdoshka@kyriba.com>
Co-authored-by: Quan TRAN <itscaro@users.noreply.github.com>
2021-05-01 12:26:00 +09:00
Yusuke Kuoka dabd7ad99f
Fix repo sync to work on repos duplicated between helm v2 and v3 (#1816)
Fixes #1815
2021-04-30 09:27:23 +09:00
Yusuke Kuoka 204f78c8ff
Fix --set and --set-file flags are not passed to chartify (#1803)
Fixes #1681
Ref 286ed08a27
2021-04-24 22:27:53 +09:00
Yusuke Kuoka 59b91a45a0
Fix adhoc dependencies not working with remote chart (#1802)
Fixes #1680

Ref 8ff30374cb
2021-04-24 21:11:07 +09:00
Yusuke Kuoka 5a3bd7d649
Fix destory, delete, and test to work with chartify on local chart with dependencies that are not yet downloaded (#1801)
Fixes #1800
2021-04-24 20:50:16 +09:00
Yusuke Kuoka ce6a621414
Bump chartify to 0.8.3 to fix it not to break when two or more releases sharing the same chart and the namespace, but kubeContext (#1799)
Fixes #1695
2021-04-24 19:03:13 +09:00
Yusuke Kuoka 20f6c68108 Fix code format 2021-04-24 07:47:27 +00:00
astorath 3367822e89
feat: Move chartify logs to Debug (#1794)
Co-authored-by: Andrey Tuzhilin <andrey@zelf.co>
2021-04-24 16:06:21 +09:00
katsew 8702639510
fix: spec.KubeContext does not fallback to HelmDefaults.KubeContext (#1789)
* fix: spec.KubeContext does not fallback to HelmDefaults.KubeContext

Fixes #1782

* Add testcases to test without default kubecontext
2021-04-24 16:02:58 +09:00
katsew 41cbc25c35
fix: can't evaluate field KubeContext in type state.releaseTemplateDataRelease (#1797)
Fixes #1796
2021-04-24 15:28:20 +09:00
astorath 83189dbad3
Enable `helmfile-diff` to pass the output format to helm-diff (#1784)
* tests: fix vagrant test run

* feat: added an option to specify the different diff output format

* renamed diff-output to output

* renamed diff-output to output

Co-authored-by: Andrey Tuzhilin <andrey@zelf.co>
2021-04-24 08:07:24 +09:00
Yusuke Kuoka 28ade19419
Bump chartify to 0.8.2 (#1793)
* Bump chartify to 0.8.2

This version fixes charitfy not to fail when you used the combination of (1)helm 3 and (2)strategicMergePatches/jsonPatches/transformers etc that triggers chartify on (3)a chart that contains CRDs.

See https://github.com/roboll/helmfile/issues/1778#issuecomment-824451990 for details of the issue.

The chartify-side of this fix is 55b23f9e9d

Fixes #1778
2021-04-23 09:53:52 +09:00
Yujun Zhang 378ae4ad72
Fix typo (#1788) 2021-04-23 09:27:37 +09:00
Yusuke Kuoka 30e0356ad6
Bump chartify to 0.8.1 (#1787)
This version fixes that chartify not to fail when the target chart misses `templates` directory.
2021-04-23 09:16:59 +09:00