Commit Graph

234 Commits

Author SHA1 Message Date
yxxhero 5d29f03782
Remove all v0.x references (#1919)
* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* refactor(two_pass_renderer): remove unused imports and functions

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

---------

Signed-off-by: yxxhero <aiopsclub@163.com>
2025-03-08 07:43:21 -06:00
Vince-Chenal e33b4725ea
feat: inject cli state values (--state-values-set) into environment templating context (#1917)
* feat: inject cli state values (--state-values-set) into environment templating context

Signed-off-by: Vincent Chenal <vincent.chenal@protonmail.com>

* test: added envvals_loader unit test for environment values

Signed-off-by: Vincent Chenal <vincent.chenal@protonmail.com>

* test: added 'state values set cli args in environments' integration test

Signed-off-by: Vincent Chenal <vincent.chenal@protonmail.com>

* fix: merge environments before loadValuesEntries

Signed-off-by: Vincent Chenal <vincent.chenal@protonmail.com>

* fix: 'state values set cli args in environments' integration test

Signed-off-by: Vincent Chenal <vincent.chenal@protonmail.com>

---------

Signed-off-by: Vincent Chenal <vincent.chenal@protonmail.com>
2025-02-14 20:49:07 +08:00
yxxhero 63e2684ade
Revert "cleanup: remove all about v0.x" (#1918)
Revert "cleanup: remove all about v0.x (#1903)"

This reverts commit d7bcd5e998.

Signed-off-by: yxxhero <aiopsclub@163.com>
2025-02-08 18:25:16 +08:00
yxxhero d7bcd5e998
cleanup: remove all about v0.x (#1903)
* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* refactor(two_pass_renderer): remove unused imports and functions

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>

---------

Signed-off-by: yxxhero <aiopsclub@163.com>
2025-02-05 13:50:16 -05:00
S Code Man 8afffa5c98
Chartify v0.20.8 update (#1908)
* fix: use chartify v0.20.8 with relevant fix for import-values

Signed-off-by: GitHub <noreply@github.com>

* chore: add test

Signed-off-by: GitHub <noreply@github.com>

---------

Signed-off-by: GitHub <noreply@github.com>
2025-02-05 21:42:05 +08:00
Guillaume Le Blanc 09c9ceb075
Use a regex to match --state-values-set-string arguments (#1902)
Signed-off-by: Guillaume Le Blanc <gleblanc@proton.me>
2025-02-04 07:59:31 +08:00
Matthias Baur d059b28fb3
Ensure 'helm repo add' is also not pollute on helmfile template (#1887)
When having multiple helmfiles in one helmfile.d folder and multiple of
them having repositories defined, the errors mention in #1749 still
existed.

Fixes #1749 (again)

Signed-off-by: Matthias Baur <m.baur@syseleven.de>
2025-01-22 20:42:33 +08:00
yxxhero 2784a4fbd7
build: update helm-diff to v3.9.14 in Dockerfiles and init.go (#1877)
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-01-17 19:54:04 -05:00
Thomas Loubiou 8891439cdc
fix: inject global values in Chartify (#1805)
* fix: inject global values in Chartify

Signed-off-by: Thomas Loubiou <thomas.loubiou@mirakl.com>

* test: add integration tests for template --values

Signed-off-by: Thomas Loubiou <thomas.loubiou@mirakl.com>

---------

Signed-off-by: Thomas Loubiou <thomas.loubiou@mirakl.com>
2024-12-04 18:51:21 +08:00
yxxhero 96d716ae00
fix: update helm-diff to version 3.9.12 in CI and Dockerfiles (#1792)
Signed-off-by: yxxhero <aiopsclub@163.com>
2024-11-17 17:34:10 -05:00
yxxhero eebcca002c
fix: update acme chart URL in input.yaml (#1773) 2024-11-07 09:59:15 +08:00
Matthias Baur d23dc8a9de
Add integration tests for #1749 (#1766)
* Add integration tests for #1749

Signed-off-by: Matthias Baur <m.baur@syseleven.de>

* Reset extra args on a higher level to only affect subsequent helmfiles

With the implementation before, extra args has been reset after each
helm.exec which leads to problems with multiple charts in a helmfile
since the correct args are only set once in Template(). But Template()
calls helm.exec(template) multiple times.

Signed-off-by: Matthias Baur <m.baur@syseleven.de>

---------

Signed-off-by: Matthias Baur <m.baur@syseleven.de>
2024-11-06 08:12:20 +08:00
Ceriath fc3a5ea374
fix(integration-tests): read correct minikube status (#1768) (#1769)
Resolves #1768 by using the correct status fields

Signed-off-by: Niklas Ott <n.ott@syseleven.de>
2024-11-05 22:24:36 +08:00
Zeyad Saber Refaei Kenawi 06795346aa
fix: this url doesn't work anymore (#1760)
It fixes the error when trying the helmfile.
Error: repo "https://kubernetes-charts-incubator.storage.googleapis.com" is no longer available; try "https://charts.helm.sh/incubator" instead

Signed-off-by: Zeyad Saber Refaei Kenawi <Zeyad.Kenawi@enefit.ee>
2024-10-29 21:57:11 +08:00
yxxhero 04b5151285
feat(pkg/app): Update Helm Diff version to v3.9.11 (#1720)
Signed-off-by: yxxhero <aiopsclub@163.com>
2024-09-26 09:46:58 -05:00
yxxhero 18529ab7c5
fix: two releases using the same chart in different version fails (#1685)
* fix: two releases using the same chart in different version fails

Signed-off-by: yxxhero <aiopsclub@163.com>
2024-09-12 20:26:45 +08:00
yxxhero 224e0f6c6a
feat: bump chartify versions (#1693)
* feat: bump chartify versions

Signed-off-by: yxxhero <aiopsclub@163.com>
2024-09-07 12:39:42 +08:00
yxxhero d9eb271ab7
feat: upgrade helm-diff plugin version to 3.9.10 (#1688) 2024-09-03 09:05:22 +08:00
yxxhero 56dad58180
feat: add namespace info in syncRelease and diffRelease (#1609) 2024-07-16 09:47:00 +08:00
Tim Ramlot 824e5a8b92
Use logger for helm output (#1585)
* use logger for helm output

Signed-off-by: Tim Ramlot <42113979+inteon@users.noreply.github.com>

* update integration test output

Signed-off-by: Tim Ramlot <42113979+inteon@users.noreply.github.com>

* make logging output configurable

Signed-off-by: Tim Ramlot <42113979+inteon@users.noreply.github.com>

* also compare stderr in integration tests

Signed-off-by: Tim Ramlot <42113979+inteon@users.noreply.github.com>

---------

Signed-off-by: Tim Ramlot <42113979+inteon@users.noreply.github.com>
2024-07-04 13:53:31 +09:00
yxxhero c7f0fe5d14
bump helm-diff to 3.9.8 (#1582)
Signed-off-by: yxxhero <aiopsclub@163.com>
2024-06-21 13:45:16 +08:00
yxxhero 2f408163cf
bump helm-diff to 3.9.7 (#1536)
Signed-off-by: yxxhero <aiopsclub@163.com>
2024-05-27 08:48:56 +08:00
yxxhero f2a0467b05
bump helm-diff to v3.9.6 (#1517)
Signed-off-by: yxxhero <aiopsclub@163.com>
2024-05-11 10:51:14 +08:00
xtphate a15a1b0731
Feature/support env hcl and interpolations (#1423)
* support HCL language for env variables

Signed-off-by: xtphate <65117176+XT-Phate@users.noreply.github.com>
2024-04-22 08:02:14 +08:00
Cyril Jouve 8aa524cd93
skip helm dep up for kustomizations (#1424)
skip helm dep up deps for kustomizations

Signed-off-by: Cyril Jouve <jv.cyril@gmail.com>
2024-03-26 07:45:39 +08:00
yxxhero 7c0134fa66
bump helm-diff to 3.9.5 (#1384)
Signed-off-by: yxxhero <aiopsclub@163.com>
2024-03-03 09:45:57 +08:00
yxxhero 9203641f03
feat: add suppress output line regex support (#1329)
* feat: add suppress output line regex support

Signed-off-by: yxxhero <aiopsclub@163.com>
2024-02-18 12:10:14 +08:00
Cyril Jouve 268a4808e9
run deps without chart preparation (#1011)
* nonreg for #1011

Signed-off-by: Cyril Jouve <jv.cyril@gmail.com>

* run deps without chart preparation

Signed-off-by: Cyril Jouve <jv.cyril@gmail.com>

---------

Signed-off-by: Cyril Jouve <jv.cyril@gmail.com>
2024-02-14 17:16:48 +08:00
yxxhero 9192562e1b
feat: Bump helm-diff to 3.9.4 (#1316)
Signed-off-by: yxxhero <aiopsclub@163.com>
2024-01-27 20:40:55 +09:00
coderkou f66fbd7c84
Bump helm diff to 3.9.2 (#1291) 2024-01-17 22:52:12 +08:00
yxxhero 09aced6cb0
feat: bump helm-diff to v3.9.1 (#1286) 2024-01-14 09:33:15 +08:00
yxxhero 3576e7d36b
feat: include func support more template functions (#1277) 2024-01-09 14:33:50 +08:00
Seonghoi Lee 4871a92b8c
fix: prevent preparing chart for disabled releases (#1210)
* fix: prevent preparing chart for disabled releases

Previously, PrepareCharts does not filter any releases whose condition
is disabled with no selectors.

Prevent following things from
- using any unnecessary computing resources for disabled charts
- throwing any error from wrong configurations for disabled charts

Signed-off-by: Seonghoi lee <mighty1231@gmail.com>

* fix: working for integration test about list and build

Some tests require that PrepareCharts without any selector
may not add any labels on the release.

make markExcludedReleases do not add any label without any selectors

Signed-off-by: Seonghoi lee <mighty1231@gmail.com>

* fix: prevent resolved chart version loss

State loss the resolved chart version info from st.Releases
when st.GetSelectedReleases() be called

update st.Releases after st.GetSelectedReleases() in prepareCharts

Signed-off-by: Seonghoi lee <mighty1231@gmail.com>

* fix: preserve resolved version from resolveDeps

In PrepareCharts, the version, resolved from resolveDeps,
is removed after invoking GetSelectedReleases.

Do updateDeps at the first before GetSelectedReleases call

Signed-off-by: Seonghoi lee <mighty1231@gmail.com>

---------

Signed-off-by: Seonghoi lee <mighty1231@gmail.com>
2024-01-02 08:56:07 +08:00
Vladan Pavlovic 22c05f9ed9
feat: respect helmfile.lock with ad-hoc kustimzation (#1244)
* Resolve dependencies before releases are created

Signed-off-by: vlpav030 <vpav.030@gmail.com>

* Add test

Signed-off-by: vlpav030 <vpav.030@gmail.com>

---------

Signed-off-by: vlpav030 <vpav.030@gmail.com>
2023-12-27 19:25:30 +08:00
yxxhero 7d6ed97333
feat: include func support (#1187)
* feat: include func support

Signed-off-by: yxxhero <aiopsclub@163.com>
2023-12-04 21:51:01 +08:00
Maarten Boekhold d0b8d7ee5e
Add "PostRendererArgs" option to be passed to helm (#1133)
* Add "PostRendererArgs" option to be passed to helm

This allows using PowerShell scripts on Windows as Post Renderer.

Signed-off-by: Maarten Boekhold <maarten.boekhold@finastra.com>
2023-11-21 21:32:14 +08:00
yxxhero 0c3951097e
fix #1095 (#1100)
* fix #1095

Signed-off-by: yxxhero <aiopsclub@163.com>
2023-11-01 11:55:55 +08:00
yxxhero 54da9dab87
fix chartify with non-chart dir (#1105)
* fix chartify with non-chart dir

Signed-off-by: yxxhero <aiopsclub@163.com>
2023-10-31 13:45:10 +08:00
yxxhero 9c1cf61559
enable run skip-diff-output tests (#1104) 2023-10-28 21:04:02 +08:00
Felipe Santos 9596790a51
test: fix running tests locally (#1088) 2023-10-23 05:51:40 +08:00
Felipe Santos d58c664776
feat: add duration to failed releases summary (#1066)
Signed-off-by: Felipe Santos <felipecassiors@gmail.com>
2023-10-12 18:49:07 -05:00
Alessio Dionisi ad258463b6
feat: add an option to set a custom kustomize binary (#1012)
Signed-off-by: Alessio Dionisi <me@alessiodionisi.com>
2023-09-13 06:58:53 -05:00
yxxhero e4184a48b4
update keyring docs (#986)
* update docs about keyring

Signed-off-by: yxxhero <aiopsclub@163.com>
2023-08-23 01:17:07 -05:00
yxxhero c3292f141c
fix snapshot tests random error (#985)
* fix snapshot tests random error

Signed-off-by: yxxhero <aiopsclub@163.com>
2023-08-22 21:00:10 -05:00
yxxhero 48e48aa568
feat: add friendly tips for helmfile config order (#710)
* feat: add kindful tips for helmfile config order

Signed-off-by: yxxhero <aiopsclub@163.com>
2023-08-06 22:22:36 +08:00
yxxhero aac734ffd5
fix re-using environment state in sub-helmfiles issue (#951)
* fix re-using environment state in sub-helmfiles issue

Signed-off-by: yxxhero <aiopsclub@163.com>
2023-08-06 21:49:55 +08:00
yxxhero 67ab08ab5e
fix: oci pull directory conflict when download twice (#914)
* fix: oci pull directory conflict when download twice

Signed-off-by: yxxhero <aiopsclub@163.com>

* add test cases
2023-07-23 21:10:03 +08:00
Yusuke Kuoka 858c233272
Cancel rendering helmfile parts once the missing env is detected in the previous part (#941)
* Cancel rendering helmfile parts once the missing env is detected in the previous part

Fixes #913

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
2023-07-23 17:23:41 +08:00
Jan-Otto Kröpke d1c260af5f
feat: Allow to skip diff output on release base (#906)
* feat: Allow to skip diff output on release base

Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>

* fix tests

Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de>

* feat: Allow to skip diff output on release base

Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>

* fix tests

Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de>

* s/skipDiffOutput/suppressDiff

Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de>

* s/skipDiffOutput/suppressDiff

Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de>

* fix tests

Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>

---------

Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de>
2023-07-02 07:50:59 +08:00
yxxhero c55fa0f765
Replace interface{} by any (#901)
Signed-off-by: yxxhero <aiopsclub@163.com>
2023-06-16 10:49:05 +09:00
yxxhero afcc9e4b80
fix: chartifyOpts ignore release set values (#896)
* fix: chartifyOpts ignore release set values

Signed-off-by: yxxhero <aiopsclub@163.com>
2023-06-13 23:28:27 +08:00
yxxhero 1843cc447e
Add insecure skip tls verify support (#882)
* feat: add insecure-skip-tls-verify support

Signed-off-by: yxxhero <aiopsclub@163.com>
2023-06-04 16:34:24 +08:00
yxxhero e67eb0c973
Upgrade helm diff version (#883)
feat: bump helm diff to v3.8.0

Signed-off-by: yxxhero <aiopsclub@163.com>
2023-06-04 10:29:32 +08:00
yxxhero ae77967bf2
cleanup: remove tls configures about helm v2 (#880) 2023-06-03 22:02:46 +08:00
xiaomudk c498af3f52
Fix set flag are ignored when used in conjunction with jsonPatches (#867)
* Fix set flag are ignored when used in conjunction with jsonPatches

Signed-off-by: xiaomudk <xiaomudk@gmail.com>
2023-05-24 07:29:19 +08:00
yxxhero 643f888703
fix: loadBases overrodeEnv issue (#838) 2023-05-08 05:24:32 +08:00
Dmitry Chepurovskiy aa5be82834
Make helmfile respect signals send by kill command (not only Ctrl+C in terminal) (#750)
Fixes #746 

Signed-off-by: Dmitry Chepurovskiy <me@dm3ch.net>
Signed-off-by: yxxhero <aiopsclub@163.com>
Co-authored-by: yxxhero <aiopsclub@163.com>
2023-04-29 15:25:29 +09:00
yxxhero bfb94314be
bump chartify to v0.14.0 (#759)
Signed-off-by: yxxhero <aiopsclub@163.com>
2023-03-21 18:52:42 +08:00
yxxhero 95c56d87fc
v1: Fix --state-values-set to override values of environments colocated with releases (#705) 2023-03-05 16:03:00 +08:00
xiaomudk a8574ba0cf
Fix post-renderer flag not working in diff and template subcommand (#691)
Signed-off-by: xiaomudk <xiaomudk@gmail.com>
2023-02-14 10:47:24 +08:00
Yusuke Kuoka fc027d1538
breaking: Fix the inherit feature to support multi-inheritance (#674)
* breaking: Fix the inherit feature introduced in Helmfile v0.150.0 for multi-inheritance

Follow-up for #435
Addresses https://github.com/helmfile/helmfile/discussions/656#discussioncomment-4877360 towards Helmfile v1

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>

* Print a deprecation warning on releases[].inherit of map

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>

---------

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
2023-02-07 08:18:19 +08:00
yxxhero b44aaf90f7
remove helm v2 code in tests (#648)
Signed-off-by: yxxhero <aiopsclub@163.com>

Signed-off-by: yxxhero <aiopsclub@163.com>
2023-01-24 07:02:57 +09:00
yxxhero 1664edd0b9
add --skip-charts for destroy for disable prepare charts (#637)
* add --skip-charts for destroy for disable prepare charts

Signed-off-by: yxxhero <aiopsclub@163.com>

* add --skip-charts for delete subcmd

Signed-off-by: yxxhero <aiopsclub@163.com>

* add docs and e2e test

Signed-off-by: yxxhero <aiopsclub@163.com>

Signed-off-by: yxxhero <aiopsclub@163.com>
2023-01-21 11:54:59 +09:00
yxxhero a724ab73f6
fix inherit chart empty check issue (#635)
Signed-off-by: yxxhero <aiopsclub@163.com>

Signed-off-by: yxxhero <aiopsclub@163.com>
2023-01-19 09:37:22 +08:00
xiaomudk 1f134d931f
fix fetch does not work with kustomized releases (#624)
* fix fetch does not work with kustomized releases

Signed-off-by: xiaomudk <xiaomudk@gmail.com>

* add tests

Signed-off-by: yxxhero <aiopsclub@163.com>

Signed-off-by: xiaomudk <xiaomudk@gmail.com>
Signed-off-by: yxxhero <aiopsclub@163.com>
Co-authored-by: yxxhero <aiopsclub@163.com>
2023-01-15 09:19:01 +08:00
Yusuke Kuoka 4688cf0132
Use gopkg.in/yaml.v2 for Helmfile v0.x (#609)
This should fix #435 for Helmfile v0.x releases since the next v0.150.0.
We introduce a new envvar to opt-in to the new YAML library, so that you can give it a shot before upgrading your Helmfile to v1. The same envvar can be used to opt-out of the new YAML library after you upgrade to Helmfile v1, giving you a more flexible migration story.

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
2023-01-04 18:17:24 +09:00
Yusuke Kuoka 490bb5d147
feat: `inherit` field for release template inheritance (#606)
* feat: `inherit` field for release template inheritance

Ref https://github.com/helmfile/helmfile/issues/435#issuecomment-1364749414

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>

* Fix wording

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>

* Comment on releaseWithInheritedTemplate

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>

* Update Release Template doc with the new `inherit` feature

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>

* Fix a typo in code comment

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
2022-12-28 10:01:04 +09:00
yxxhero d8cb740dcf
fix env value lost in environment values (#605)
* fix env value lost in environment values

Signed-off-by: yxxhero <aiopsclub@163.com>

* add more test

Signed-off-by: yxxhero <aiopsclub@163.com>

Signed-off-by: yxxhero <aiopsclub@163.com>
2022-12-27 09:48:07 +08:00
Yusuke Kuoka 6664f01596
Use goccy/go-yaml for v1 / Prep bringing back go-yaml v2 for v0.x (#604)
This is a successor to #596. We need a smooth migration path from `gopkg.in/yaml.v2`, and this pull request moves it forward with `goccy/go-yaml` instead of `gopkg.in/yaml.v3`. Merging this unblocks users stuck in Helmfile v0.146.x or earlier due to #435, so that they can upgrade to 0.147.x or greater without updating their helmfile configs.

We previously tried to upgrade to `yaml.v3` (https://github.com/helmfile/helmfile/issues/394) in Helmfile v0.x, presuming it won't break anything. Apparently, it broke use-cases where you want to layer release's `values` field over three or more release templates and releases (#435).

We then tried to bring back `yaml.v2` for Helmfile v0.x and keep `yaml.v3` for the upcoming Helmfile v1. However, it failed due to incompatibility in the Unmarshaller interface between `yaml.v2` and `yaml.v3` (https://github.com/helmfile/helmfile/pull/596).

`goccy/go-yaml` is, from my observation, a well-maintained alternative to `yaml.v2`. One of its premises is that it enables us to swap the implementation from `gopkg.in/yaml.v2` to `goccy/go-yaml` just by replacing the import directive. It seems to use the same `Unmarshaller` interface as yaml.v2 too.

Once this PR gets merged, I'd like to follow-up with adding a new build-time variable and an envvar to set the proper default for the yaml parser Helmfile uses and the ability to switch the parser at runtime. All in all, the next Helmfile release, v0.150.0 will get reverted to use `gopkg.in/yaml.v2` by default which resolves #435.

New users who started using Helmfile since any of v0.148.0, v0.148.1, and v0.149.0 might be already relying on the new behavior, They might need to specify a new envvar to enable `goccy/go-yaml`.

Signed-off-by: yxxhero <aiopsclub@163.com>
Signed-off-by: yxxhero <aiopsclub@163.com>
Co-authored-by: yxxhero <aiopsclub@163.com>
2022-12-27 10:14:35 +09:00
yxxhero d8d0bf830a
Add helmfile state validate policy (#592) 2022-12-21 10:49:31 +08:00
yxxhero 36c91c5427
optimize lint logic (#586)
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-12-18 08:39:45 +08:00
yxxhero 5da1200a8b
add post render integration test (#576)
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-12-14 11:38:47 +08:00
Quan TRAN 7860ac988a
Remove temporary dir as well (#563)
Fixes #540

Signed-off-by: Quan TRAN <account@itscaro.me>
Signed-off-by: yxxhero <aiopsclub@163.com>
Co-authored-by: yxxhero <aiopsclub@163.com>
2022-12-14 08:33:07 +09:00
Yusuke Kuoka a93035a3e5 Revert "Add e2e test for helmfile-diff with post-renderer"
This reverts commit a3e8c0426c.

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
2022-12-13 07:12:48 +00:00
yxxhero 89d9a9b3a2
Merge branch 'main' into main 2022-12-13 13:18:13 +08:00
yxxhero 773b0d6fc4 fix e2e
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-12-13 13:12:07 +08:00
yxxhero 04729b027a fix e2etest
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-12-13 13:12:07 +08:00
Yusuke Kuoka a3e8c0426c Add e2e test for helmfile-diff with post-renderer
Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-12-13 13:12:07 +08:00
Yusuke Kuoka 9f702280ae Add e2e test for post-renderer
Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-12-13 13:12:07 +08:00
yxxhero 9b0eeaad94 Update output.yaml
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-12-13 13:12:07 +08:00
Indrek Juhkam 608bb0b525 Avoid --skip-refresh on local charts (#541)
All the dependencies get correctly installed when dealing with remote
charts.

If there's a local chart that depends on remote dependencies then those
don't get automatically installed. See #526. They end up with this
error:

```
Error: no cached repository for helm-manager-b6cf96b91af4f01317d185adfbe32610179e5246214be9646a52cb0b86032272 found. (try 'helm repo update'): open /root/.cache/helm/repository/helm-manager-b6cf96b91af4f01317d185adfbe32610179e5246214be9646a52cb0b86032272-index.yaml: no such file or directory
```

One workaround for that would be to add the repositories from the local
charts. Something like this:

```
cd local-chart/ && helm dependency list $dir 2> /dev/null | tail +2 | head -n -1 | awk '{ print "helm repo add " $1 " " $3 }' | while read cmd; do $cmd; done
```

This however is not trivial to parse and implement.

An easier fix which I did here is just to not allow doing
`--skip-refresh` for local repositories.

Fixes #526

Signed-off-by: Indrek Juhkam <indrek@urgas.eu>

Signed-off-by: Indrek Juhkam <indrek@urgas.eu>
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-12-13 13:12:07 +08:00
Indrek Juhkam bdc6982172
Avoid --skip-refresh on local charts (#541)
All the dependencies get correctly installed when dealing with remote
charts.

If there's a local chart that depends on remote dependencies then those
don't get automatically installed. See #526. They end up with this
error:

```
Error: no cached repository for helm-manager-b6cf96b91af4f01317d185adfbe32610179e5246214be9646a52cb0b86032272 found. (try 'helm repo update'): open /root/.cache/helm/repository/helm-manager-b6cf96b91af4f01317d185adfbe32610179e5246214be9646a52cb0b86032272-index.yaml: no such file or directory
```

One workaround for that would be to add the repositories from the local
charts. Something like this:

```
cd local-chart/ && helm dependency list $dir 2> /dev/null | tail +2 | head -n -1 | awk '{ print "helm repo add " $1 " " $3 }' | while read cmd; do $cmd; done
```

This however is not trivial to parse and implement.

An easier fix which I did here is just to not allow doing
`--skip-refresh` for local repositories.

Fixes #526

Signed-off-by: Indrek Juhkam <indrek@urgas.eu>

Signed-off-by: Indrek Juhkam <indrek@urgas.eu>
2022-12-12 16:43:10 +09:00
dependabot[bot] a6df2f8148
build(deps): bump k8s.io/apimachinery from 0.25.4 to 0.26.0 (#568)
* build(deps): bump k8s.io/apimachinery from 0.25.4 to 0.26.0

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-10 13:26:40 +08:00
yxxhero 70a1b3b513
Fix snapshot tests to pass regardless of helm version (#572)
* Fix snapshot tests to pass regardless of helm version

Signed-off-by: yxxhero <aiopsclub@163.com>
2022-12-10 10:54:03 +08:00
Quan TRAN 398c812e49
Use go-getter with secrets as well (#560)
* Use go-getter with secrets as well

Signed-off-by: Quan TRAN <account@itscaro.me>
2022-12-09 07:46:28 +08:00
yxxhero 211852cd38
use dyff as yamldiff tool (#542)
Signed-off-by: yxxhero <aiopsclub@163.com>

Signed-off-by: yxxhero <aiopsclub@163.com>
2022-11-27 09:47:09 +09:00
yxxhero 36996df980 fix unit test
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-11-24 21:05:16 +08:00
yxxhero 5c5dc42ef5
Refactor integration tests (#531)
* refactor integrations

Signed-off-by: yxxhero <aiopsclub@163.com>

* Update the integration test directory structure to better correlate the test script with testdata

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>

* Undo the test-cases directory renaming to make the diff more easy to understand

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>

* fix ci

Signed-off-by: yxxhero <aiopsclub@163.com>

Signed-off-by: yxxhero <aiopsclub@163.com>
Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
Co-authored-by: Yusuke Kuoka <ykuoka@gmail.com>
2022-11-23 14:44:16 +09:00
xiaomudk 7844145ee3
Allow helmfile statefile to passed by stdin (#520)
* Allow helmfile statefile to passed by stdin

Signed-off-by: xiaomudk <xiaomudk@gmail.com>
2022-11-22 11:34:05 +08:00
xiaomudk 766c1c951f Remove redundant metadata fields from test samples
Signed-off-by: xiaomudk <xiaomudk@gmail.com>
2022-11-22 10:33:05 +08:00
yxxhero 143f85b4f1 fix: helmfile template fails when selector matches a chart fetched with go-getter
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-11-13 15:10:57 +08:00
Lassi Pölönen 0f44cfacc4
Add the ability to specify a lock file (#432)
Allow configuring the lockfile in the state. This makes it possible for
example maintain a lock per environment.

Signed-off-by: Lassi Pölönen <lassi.polonen@iki.fi>

Signed-off-by: Lassi Pölönen <lassi.polonen@iki.fi>
2022-11-12 08:59:56 +09:00
yxxhero 1513035718 test: add template anchors merge e2e test
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-11-04 20:56:56 +08:00
yxxhero b0bb03a0ea fix unittest
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-11-04 12:53:38 +08:00
yxxhero 82004b53f9
split run.sh to make run.sh be more clear. (#485)
split run.sh

Signed-off-by: yxxhero <aiopsclub@163.com>

Signed-off-by: yxxhero <aiopsclub@163.com>
2022-11-04 10:51:57 +09:00
xiaomudk 6dcde20d7a
Add subcommand init for checks and installs helmfile deps (#389)
* Add subcommand init for checks and installs helmfile deps

Signed-off-by: xiaomudk <xiaomudk@gmail.com>
2022-11-03 14:51:30 +08:00
Quan TRAN e919b4b1d2
fix oci:// chart (#477)
* fix oci:// chart

Signed-off-by: Quan TRAN <itscaro@users.noreply.github.com>
2022-11-01 13:50:05 +08:00
Quan TRAN 414f899c28
use fs.Getwd() to get working dir for sub helmfile (#471)
* use fs.Getwd() to get working dir for sub helmfile

Signed-off-by: Quan TRAN <itscaro@users.noreply.github.com>
2022-10-29 07:40:40 +08:00
yxxhero 2e7261426a fix chart needs test issue
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-10-28 14:45:24 +08:00
yxxhero bc255f3e51 fix: fix need logic in chart stage
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-10-24 09:51:04 +08:00