Commit Graph

435 Commits

Author SHA1 Message Date
Grégory SANCHEZ 62747378ca feat: allow --validate on sync command
This will permit usage of `--validate` options with sync command

Signed-off-by: Grégory SANCHEZ <gregory.sanchez@icloud.com>
2022-05-17 14:00:55 +02:00
yxxhero 10c3eb61a5 fix issue in context_funcs.go
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-05-17 17:37:47 +08:00
yxxhero d83e9214e6 rename execEnvs to envExec
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-05-17 08:30:46 +08:00
Quan TRAN f7ef07ff94
Merge pull request #95 from yxxhero/add_execEnvs
[feat] add execEnvs
2022-05-16 17:13:57 +02:00
yxxhero a320fccdd2 update unittest for execEnvs
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-05-16 22:54:31 +08:00
yxxhero 1258c9ed10 add execEnvs
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-05-14 09:59:08 +08:00
yxxhero faef77d143 add unittest for error.go in pkg/app
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-28 09:01:02 +08:00
Yusuke Kuoka cc6edc18b6
Merge pull request #69 from yxxhero/remote_temp_rand
remove temp_rand and use k8s.io/apimachinery/pkg/util/rand
2022-04-28 06:07:43 +09:00
yxxhero 218d7a6f0a remove temp_rand and use k8s.io/apimachinery/pkg/util/rand
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-27 13:54:06 +08:00
yxxhero eeb2eee099 fix unittest issue for context.go
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-27 10:57:26 +08:00
yxxhero e2cb7fe176 add unittest for context.go
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-27 09:30:40 +08:00
yxxhero 04d364a467 add unittest for ValidateConfig
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-27 07:38:22 +08:00
Yusuke Kuoka aef233489f
Merge pull request #62 from yxxhero/newExecutionID_unittest
Add unittest for newExecutionID
2022-04-25 08:40:45 +09:00
yxxhero 45c983a0bb Add unittest for newExecutionID
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-24 13:55:28 +08:00
Yusuke Kuoka 1bcf6a7bb1
Merge pull request #52 from yxxhero/feat_inherit_environment_variables_for_Exec
add unittest for Exec
2022-04-22 12:21:31 +09:00
yxxhero 33f733026b remove cmd.Env set
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-22 08:36:02 +08:00
yxxhero d26f83c460 add unittest for Exec and add feature that inherit the environment variables from the parent process for Exec
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-21 19:29:32 +08:00
yxxhero 88f17e6c9a fix more go lint warn
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-20 16:26:06 +08:00
yxxhero 8b15272cbc fix go lint warn
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-20 15:59:12 +08:00
yxxhero a0d4047cc7 remove gotest deps
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-19 08:02:21 +08:00
yxxhero b895f75198 add unittest for constants.go
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-18 17:15:04 +08:00
Yusuke Kuoka 42ad7beb6e
Merge pull request #24 from helmfile/auto-detect-term-for-color-diff
feat: Auto-detect term for coloring helm-diff output
2022-04-15 07:24:42 +09:00
Yusuke Kuoka a4542265ca
Merge pull request #23 from helmfile/fix-helmfile-deps-chartify
Fix helmfile deps not to remove entries for charts that are being chartified
2022-04-15 07:24:20 +09:00
Yusuke Kuoka f84ab66ba0 Make --color and --no-color exclusive
Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
2022-04-13 23:43:41 +00:00
Yusuke Kuoka 47e13fcdad
Merge pull request #34 from dol/feature/redacted-url-in-chart-name
Redact sensitive informations like password in chart url
2022-04-14 08:28:25 +09:00
Yusuke Kuoka 7af57add9d
Merge pull request #37 from itscaro/qtran/fix-temp-dir
Fix non-existent custom temp dir
2022-04-14 08:27:41 +09:00
Yusuke Kuoka d0841c72aa
Merge pull request #22 from itscaro/qtran/issue-2118
(fix) chartify process when chart path is absolute
2022-04-14 08:25:13 +09:00
Lüchinger Dominic f89234e5dc
Redact sensitive informations like password in chart url
Signed-off-by: Lüchinger Dominic <dev@snowgarden.ch>
2022-04-13 00:47:32 +02:00
Quan TRAN 12e103d510 (fix) non-existent custom temp dir
Signed-off-by: Quan TRAN <account@itscaro.me>
2022-04-12 22:27:59 +02:00
Quan TRAN 88127d641b [fix] chartify process when chart path is absolute
Signed-off-by: Quan TRAN <account@itscaro.me>
2022-04-11 23:34:52 +02:00
yxxhero 9c0c021dc9 fix typo in state.go
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-11 23:33:25 +02:00
Yusuke Kuoka 97e0ca73ca feat: Auto-detect term for coloring helm-diff output
Since helm-diff has added an ability to auto-detect the term to decide if it should output with color or not, helmfile had been defaulted to no-color.
This resoloves that, by adding a term-detection logic that is same as helm-diff.

As a part of this work, I have also implemented a new global flag `--color`, which is used for forcing color without relying on the term-detection logic implemented in helmfile or explicitly setting the HELM_DIFF_COLOR envvar. I hope it is useful for folks.

Ref https://github.com/roboll/helmfile/issues/2043

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
2022-04-06 02:38:36 +00:00
Yusuke Kuoka 8e50dbc46d Fix helmfile deps not to remove entries for charts that are being chartified
When chartify is involved due to the use of `forceNamespace`, `strategicMergePatches`, `jsonPatches`, and so on, We had been internally mutating the Release.Chart with the path to the local temporary directory that contains the modified version of the chart.

This resulted in us unintentionally making `helmfile deps` to remove entries for the chart being modified out of helmfile.lock file, which resulted in issues like #2110.

To be clear, although the original issue is reported to occur for `strategicMergePatches`, I believe that it occurered also for any remote charts using `jsonPatches` and `forceNamespace` too.

I also believe this has been the issue since our introduction of chartify (maybe a year or so ago??), and I guess why it took so much time to be found and reported is that not so many people with chartify in combination with `helmfile deps` 🤔

Lastly, this changes chart names surfaced in the various log output from Helmfile, from temporary chart paths to the chart name/path declared in the helmfile.yaml. I think this is generally a good change, no fear of being a breaking change. But if anyone has any concern about that, please feel free to comment/report/etc.

Ref https://github.com/roboll/helmfile/issues/2110

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
2022-04-06 02:12:08 +00:00
Yusuke Kuoka f49d181b41
Merge pull request #20 from itscaro/qtran/fix-decrypted-file
[fix] unclosed file stream when creating temporary decrypted files
2022-04-06 08:37:13 +09:00
Yusuke Kuoka 3f1d01a688
Merge pull request #18 from yxxhero/add_unittest_RequiredEnv
add unittest for RequiredEnv func
2022-04-06 08:35:26 +09:00
Yusuke Kuoka e8212276d5
Merge pull request #17 from yxxhero/update_args_unitest
update args_test.go unittest
2022-04-06 08:32:35 +09:00
Quan TRAN a793797404 [fix] unclosed file stream when creating temporary decrypted files
Signed-off-by: Quan TRAN <account@itscaro.me>
2022-04-05 22:52:17 +02:00
yxxhero 5cb82ec3d1 add unittest for RequiredEnv func
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-05 22:53:07 +08:00
yxxhero 8e5c779626 update args_test.go unittest
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-05 06:26:42 +08:00
yxxhero 02058cc1f5 add unittest for load_opts.go
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-04 17:20:54 +08:00
yxxhero e0244bc341 mv captureStdout as public func
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-03 22:24:38 +08:00
yxxhero 7f70138b5f add unit for formatters.go
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-03 17:31:59 +08:00
yxxhero 303ef9cd80 remove ioutil usage in all project
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-03 15:53:19 +08:00
yxxhero d4a7b3bfff
fix little issue (#2126)
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-04-03 09:16:59 +09:00
Yusuke Kuoka be5af8e3b7
Enhance support for kube-version and api-versions (#2121)
This adds support for `kube-version` and `api-versions` to be available to `chartify` so that it works even if your release requires `chartify` due to that you use features like `forceNamespace`, `jsonPatches`, `strategicMergePatches`, and so on.

This also enhances `ReleaseSpec` which corresponds to each item of `releases[]` in your `helmfile.yaml` to also accept `kubeVersion` and `apiVersions`, in addition to the top-level `kubeVersion` and `apiVersions` we have today.

The top-level ones works as the default values for release-specific ones. If you have been using the top-level ones, keep using it. It is backward-compatible. If you want to specify it per release, because, for example, your releases are deployed across clusters(in case you differentiate `kubeContext` fields), try the new fields added to the release spec.

Resolves #1864
2022-03-31 11:02:36 +09:00
Quan TRAN ed436ba68b
Add template function isFile (#2045)
* Add template function isFile

* Update context_funcs.go
2022-03-31 10:59:10 +09:00
Quan TRAN 45be24da53
Add .StateValues as alias of .Values in EnvironmentTemplateData (#2056) 2022-03-31 10:57:33 +09:00
Anton Bretting b1928e585d
Stop panic when deduplicating releases (#2067)
* Stop panic when deduplicating releases
* Add testdata for new testcases
2022-03-10 18:57:58 +09:00
Yusuke Kuoka dbc40f68b8
Make release template to work on `needs` (#2099)
It turned out that Helmfile has never had support for release template on `needs`.
This adds that, along with the new end-to-end test suite to verify helmfile template output with snapshot testing involving a real `helmfile build` command.

Ref #2098
2022-03-10 18:42:55 +09:00
Anton Bretting 0105ed4df3
Allow more characters in label selectors (#2064)
Label selectors also allows ".", "/" and "+" now

Fixes #970
2022-03-09 20:38:29 +09:00
Anton Bretting 2f04831817
Fix various golangci-lint errors (#2059) 2022-02-12 20:28:08 +09:00
Quan TRAN baafe702b2 use user cache directory for remote helmfiles
Signed-off-by: Quan TRAN <account@itscaro.me>
2022-02-12 17:52:52 +09:00
Quan TRAN 242e601898 add subcommands `cache info` `cache cleanup`
Signed-off-by: Quan TRAN <account@itscaro.me>
2022-02-12 17:52:52 +09:00
Quan TRAN cf02442591 goGetterChart() downloads to user cache dir instead of working dir 2022-02-12 17:52:52 +09:00
Quan TRAN 766b03047c
Enable get() to be used with alias $.StateValues (#2081) 2022-02-09 09:18:46 +09:00
Sören Jentzsch 19927fc147
feat: Add --suppress option for diff and apply commands (#2077) 2022-02-03 08:46:39 +09:00
Yusuke Kuoka 061644c5d0
Fix readdir regression while merging (#2061)
Ref https://github.com/roboll/helmfile/pull/2058#issuecomment-1019439394
2022-01-23 20:37:46 +09:00
Nils 1d70130ab9
Fix ReadDir templating function to respect base path (#2058)
Ref https://github.com/roboll/helmfile/pull/1934#issuecomment-1018663764
2022-01-23 12:20:56 +09:00
drivelikebrazil debd3c0eea
Add `--skip-tests` to helmfile template command (#2057)
* Add skip-tests to helmfile template command

* Fix formatting
2022-01-22 15:26:17 +09:00
Yusuke Kuoka 9e9a90f8ef
Fix panic on normalizing path containing .. (#2042)
Fixes #2039
2022-01-10 17:45:44 +09:00
Quan TRAN c069fbf268
add cleanup to write-values & lint to harmonise this flag (#2021) 2022-01-10 17:32:02 +09:00
Christoph Petrausch 346e318fd0
Correct enabled property in helmfile list (#1921)
Use the value of the `condition` field instead of the `installed` field of a release in the `enabled` column of helmfile list.
The value of the `installed` field is shown in a new `installed` column.

Fixes #1920

Co-authored-by: Yusuke Kuoka <ykuoka@gmail.com>
2022-01-10 17:24:07 +09:00
Nils 753de35ee0
Add readDir as a templating function (#1934)
Adds a new templating function called `readDir`. With `readDir` users can read the contents of a specified directory and get a list of all contained files. This is useful when reading a bunch of files from a directory. The following example shows a snippet of a values file for configuring a Logstash deployment. Using only `readFile`, a user must specify each file by hand and adjust this list as the number of files to be read grows.
```yaml
logstash:
  configs:
    logstash.yml: |
      {{- tpl (readFile "config/logstash.yml.gotmpl") . | nindent 6 }}
    jvm.options: |
      {{- readFile "config/jvm.options" | nindent 6 }}
    pipelines.yml: |
      {{- readFile "config/pipelines.yml" | nindent 6 }}
  pipelines:
    beats-log4j.conf: |
      {{- readFile "config/pipelines/beats-log4j.conf" | nindent 6 }}
    nginx-access.conf: |
      {{- readFile "config/pipelines/nginx-access.conf" | nindent 6 }}
    nginx-error.conf: |
      {{- readFile "config/pipelines/nginx-error.conf" | nindent 6 }}
    syslog-logs.conf: |
      {{- readFile "config/pipelines/syslog-logs.conf" | nindent 6 }}
    tcp-logs.conf: |
      {{- readFile "config/pipelines/tcp-logs.conf" | nindent 6 }}
    udp-debug.conf: |
      {{- readFile "config/pipelines/udp-debug.conf" | nindent 6 }}
    udp-logs.conf: |
      {{- readFile "config/pipelines/udp-logs.conf" | nindent 6 }}
  certificates:
    ca.crt: |
      {{- readFile "config/certificates/ca.crt" | nindent 6 }}
    logstash.crt: |
      {{- readFile "config/certificates/logstash.crt" | nindent 6 }}
    logstash.key: |
      {{- readFile "config/certificates/logstash.key" | nindent 6 }}
```
With `readDir` the above snippet can be rewritten as follows:
```yaml
logstash:
  configs:
  {{- range readDir "config" }}
    {{ base . }}: |
      {{- if hasSuffix "gotmpl" . }}
          {{- tpl (readFile .) $ | nindent 6 }}
      {{- else }}
          {{- readFile . | nindent 6 }}
      {{- end }}
  {{- end }}
  pipelines:
  {{- range readDir "config/pipelines" }}
    {{ base . }}: |
      {{- readFile . | nindent 6 }}
  {{- end }}
  certificates:
  {{- range readDir "config/certificates" }}
    {{ base . }}: |
      {{- readFile . | nindent 6 }}
  {{- end }}
```
2022-01-10 17:22:24 +09:00
Samo Jelovšek 16f19613fb
Set postsync and cleanup error (#2009)
Fixes #1272
2022-01-10 17:11:13 +09:00
Mårten Svantesson fe8a176db5
feat: Option to pass kubeVersion to helm template (#2002) 2022-01-07 09:05:03 +09:00
Babis K d34dc7bb64
Add support for --insecure-skip-tls-verify flag on helm repo add command (#1990)
Parses a new field in repositories named `skipTLSVerify` and if set to `true`, it appends `--insecure-skip-tls-verify` in `helm repo add` command.

This should be useful with internal self-signed repos, mitm proxies etc.

Resolves #1871
2021-12-21 09:18:57 +09:00
Jonas Rutishauser 1986cb37aa
feat: Add go-getter support to load base helmfiles (#1998)
Resolves #1193
2021-12-21 09:16:24 +09:00
Yusuke Kuoka 9efb7afb47
Do fail on a possible typo in `needs` entries (#2026)
* Do fail on a possible typo in `needs` entries

Helmfile kindly fails with a friendly error when you made a typo in a `needs` entry, i.e. a `needs` entry included a reference to a release that is not defined in the helmfile config.

Example Output:

```
in ./helmfile.needs.yaml: release(s) "app" depend(s) on an undefined release "infrastructure/cert-manager2". Perhaps you made a typo in `needs` or forgot defining a release named "cert-manager2" with appropriate `namespace` and `kubeContext`?
```

This prevents issues like #1959

* Fix regression in helmfile-diff (This may break when you had two or more duplicated releases that are intended to be de-duplicated before DAG calculation using selectors

* Fix regression when you used selector to deduplicate releases before DAG calculation

* Comments

* Fix regressions in helmfile-apply and helmfile-sync

* Fix regression in duplicate release detection
2021-12-18 17:44:55 +09:00
pjotre86 ca6dd7a60f
Make .Environment values available in .gotmpl files. (#2000)
Currently it's not possible to use `.Environment` values in `*.gomtpl` files. The documentation states the opposite: 
https://github.com/roboll/helmfile#environment (2nd paragraph).
The problem is already described in #1090.
This PR fixes this bug.
Fixes #1090

Co-authored-by: Peter Aichinger <petera@topdesk.com>
2021-11-04 10:04:01 +09:00
pjotre86 9354c38a0a
Process feedback for pr 1983 (#1992)
* Guard collectNeeds-method against infinite recursion.

* Also check for namespace and kubecontext when collecting needs.

Co-authored-by: Peter Aichinger <petera@topdesk.com>
2021-10-22 08:29:33 +09:00
pjotre86 77e6268bcb
Add support for transitive dependencies. (#1983)
Co-authored-by: Peter Aichinger <petera@topdesk.com>
2021-10-20 17:55:08 +09:00
Aditya Menon 9a0ce53608
Support Helm 3.7.0's reworked OCI support (#1970)
Signed-off-by: Aditya Menon <aditya.menon@spin.pm>
2021-10-04 09:19:15 +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 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 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 97bab23e0c
Fix --skip-cleanup to work with chartify (#1860) 2021-05-24 08:30:58 +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 794ab9fc66
Fix lint and status not to fail with selector and needs (#1834)
Fixes #1830
2021-05-08 21:23:09 +09:00
katsew 58954109fb
fix kubeContext does not globally defaulting its value (#1829)
Ref #1810
2021-05-08 17:35:46 +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
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 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 eabda4cf28
Fix delete on release of `uninstalling` status (#1786)
* Fix helmfile destroy/delete not deleting `uninstalling` release

Ref https://github.com/roboll/helmfile/issues/1750#issuecomment-823677950

* Cover helm3 in helmfile-destroy test
2021-04-21 09:39:14 +09:00
Yusuke Kuoka 5617b593c8
Add test for helmfile-destroy with selector (#1785)
* Add test for helmfile-destroy with selector

I was curious if destroy with a selector is working at all while reading https://github.com/roboll/helmfile/issues/1750#issuecomment-823521572. So I added this test for verification. From the test result, it is working, though.

* Add one more test case for destroying disabled but installed release
2021-04-21 09:07:08 +09:00
Yusuke Kuoka 5d43b30a7c
Add --{include,skip}-needs to various helmfile commands (#1772)
* Add --{include,skip}-needs to helmfile-sync and helmfile-apply

* Add --include-needs to helmfile-template

* Add TODO related to #1018

* Add a few new test files to cover new functionalities

* Update apply test to incorporate the change that the destroy and sync steps target affected releases only
2021-04-20 23:06:51 +09:00
Yusuke Kuoka 368dd13e16
Fix destroy not reversing the order of releases (#1777)
Fixes #1775
2021-04-20 13:27:45 +09:00