Commit Graph

309 Commits

Author SHA1 Message Date
Hubertbits 1c59d0a539 Integrate include-crd flag for diff and depending commands
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-04-17 07:30:37 +08:00
Hubertbits e8a4380e66 Run make fmt
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-04-17 07:30:37 +08:00
Hubertbits 4aa54423b6 Adds include-crds and refactor using flagRegistrar and generic flag system
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-04-17 07:30:37 +08:00
André Arnqvist c9a2e76200
fix: Check needs with context and namespace (#1986)
* fix: Check needs with context and namespace

Signed-off-by: André Arnqvist <andrearnqvist@gmail.com>

* fix: Ensure releases have overrides

Signed-off-by: André Arnqvist <andrearnqvist@gmail.com>

* fix: Run go fmt

Signed-off-by: André Arnqvist <andrearnqvist@gmail.com>

* fix: Add tests checking needs with same name in different namespaces

Signed-off-by: André Arnqvist <andrearnqvist@gmail.com>

* fix: Simplify setting overrides

Signed-off-by: André Arnqvist <andrearnqvist@gmail.com>

---------

Signed-off-by: André Arnqvist <andrearnqvist@gmail.com>
2025-04-07 21:57:02 +08:00
yxxhero e4273d050e
feat: add labels for helm release (#1046)
feat: add labels for k8s resources

Signed-off-by: yxxhero <aiopsclub@163.com>
2025-03-30 19:24:41 -04:00
dependabot[bot] d26d909a5e
build(deps): bump golangci/golangci-lint-action from 6 to 7 (#1975)
* build(deps): bump golangci/golangci-lint-action from 6 to 7

Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6 to 7.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* refactor(.github/workflows/ci.yaml): update golangci-lint version to v2.0.2

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

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: yxxhero <aiopsclub@163.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: yxxhero <aiopsclub@163.com>
2025-03-28 07:52:06 +08:00
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
jayme-github 410d84bba5
Don't warn if this and the needed release set installed: false (#1958)
When the evaluated release has installed: false it's perfectly fine that
a needed release is installed: false as well.

fixes #1464

Signed-off-by: jayme-github <jayme-github@users.noreply.github.com>
2025-03-06 22:52:26 +08:00
yxxhero a89803521d
refactor(state): optimize HelmState flags handling (#1937)
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-02-15 12:17:44 +08:00
yxxhero 8b15c30cf2
docs: add skipSchemaValidation to index.md and update related structs (#1935)
* docs: add skipSchemaValidation to index.md and update related structs

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

* feat: add SkipSchemaValidation to config and state handling

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

---------

Signed-off-by: yxxhero <aiopsclub@163.com>
2025-02-14 11:57:50 -05:00
Connor Hindley 2c38611acd
feat: Add support for --wait-retries flag. (#1922)
* feat: Add support for --wait-retries flag.

This change wires up waitRetries option to set the helm --wait-retries flag.

--wait-retries was added in helm 3.15.0 and makes waiting more robust to registry errors.
https://github.com/helm/helm/commit/fc74964
https://github.com/helm/helm/releases/tag/v3.15.0

Resolves #1522

Signed-off-by: Connor Hindley <connor.hindley@tanium.com>
2025-02-12 07:28:37 +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
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
Justin Lai afe18e8031
feat: Add "--no-hooks" to helmfile template (#1813)
* Adding support for no-hooks in template cmd

Signed-off-by: Justin Lai <justin.lai@invitae.com>
2025-01-15 13:33:16 +08:00
Purple Clay 2333f093c1
fix: ensure development versions of charts can be used across helmfile commands (#1865)
Signed-off-by: purpleclay <purpleclaygh@gmail.com>
2025-01-13 20:55:23 +08:00
Purple Clay 2e21e2fa0b
fix: ensure plain http is supported across all helmfile commands (#1858)
fix: ensure plain http is supported across helmfile commands

Signed-off-by: purpleclay <purpleclaygh@gmail.com>
2025-01-12 15:31:12 +08:00
yxxhero 22ad21c1ae
feat: add --take-ownership flag to apply and sync commands (#1863)
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-01-11 08:41:10 -06:00
yxxhero bd12fa1cc3
feat(state): add support for setString in ReleaseSpec and HelmState (#1821)
* feat(state): add support for setString in ReleaseSpec and HelmState

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

* docs: add setString section to index.md for helm configuration

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

* tests: fix more tests

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

---------

Signed-off-by: yxxhero <aiopsclub@163.com>
2024-12-09 10:37:56 -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 1464bd2bfa
feat: refactor label creation in state.go (#1758)
* feat: refactor label creation in state.go

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

* fix more

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

* fix test

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

* fix more issue

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

---------

Signed-off-by: yxxhero <aiopsclub@163.com>
2024-11-10 18:28:01 -05: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
Zubair Haque d1416ec7b4
feat: add skip json schema validation during the install /upgrade of a Chart (#1737)
* open PR for --skip-schema-validation flag

Signed-off-by: zhaque44 <haque.zubair@gmail.com>
2024-10-24 20:53:18 +08:00
Shane Starcher dea501cb10
[feature] --skip-refresh to pass through to deps (#1740)
--skip-refresh right now disables adding new repos, but in addition it
should pass down to helm deps update to not refresh the actual values

Signed-off-by: Shane Starcher <shane.starcher@gmail.com>
Co-authored-by: Shane Starcher <shane.starcher@gmail.com>
2024-10-15 22:26:59 +08:00
Felipe Santos fbf40b600f
feat: improve summary for releases failed to delete (#1735)
Signed-off-by: Felipe Santos <felipecassiors@gmail.com>
2024-10-14 10:49:05 -04:00
Shane Starcher b6ab825d3c
[feature] add --skip-refresh to globals (#1736) 2024-10-12 19:56:55 +08:00
Felipe Santos 4beb2ac042
fix: duration of delete failures are always 0s (#1734) 2024-10-12 06:58:38 +08:00
yxxhero b375a31f20
feat: update go version and adjust dependencies in Dockerfile and go.mod (#1722)
* feat: update go version and adjust dependencies in Dockerfile and go.mod

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

* fix lint

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

* fix lint

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

---------

Signed-off-by: yxxhero <aiopsclub@163.com>
2024-09-30 09:21:44 -04:00
yxxhero 8988892c53
build(deps): bump dario.cat/mergo from 0.3.16 to 1.0.1 (#1714)
Signed-off-by: yxxhero <aiopsclub@163.com>
2024-09-19 18:47:24 -05:00
yxxhero 5c6572b492
Add hide notes support (#1710)
* add --hide-notes support

Signed-off-by: yxxhero <aiopsclub@163.com>
2024-09-17 20:24:19 +08:00
yxxhero 5ccb35df5a
fix verify stage for helmfile when use oci as chart (#1661)
* fix verify stage for helmfile when use oci as chart

Signed-off-by: yxxhero <aiopsclub@163.com>
2024-09-04 08:17:58 +08:00
ennekein 2cc995e508
feat: adding ability for for charts to be pulled with plain HTTP (#1672)
* eat: adding ability for for charts to be pulled without HTTPS

accomplished by:

- Adding PlainHttp attribute to RepositorySpec., HelmDefault, ReleaseSpec
- Adding UnitTests for getOCIChart Flags.
- Adding funciton and unitTests for getChartDownload
- Changing and refactoring how Flags are added to getOCIChart.

Resolves #1224

Signed-off-by: Peter Halliday <peter.halliday@servicenow.com>

* Pass PlainHttp to OCI repo options, fix unit test

Signed-off-by: Pascal Rivard <privard@rbbn.com>

* Fix doc

Signed-off-by: Pascal Rivard <privard@rbbn.com>

* Use repository fields in non-OCI chart download options

Signed-off-by: Pascal Rivard <privard@rbbn.com>

* Update hashes in TestGenerateID

Signed-off-by: Pascal Rivard <privard@rbbn.com>

* Make sure repo exists when using its options

Signed-off-by: Pascal Rivard <privard@rbbn.com>

* Do not add TLS options if PlainHttp is set, adapt unit tests

Signed-off-by: Pascal Rivard <privard@rbbn.com>

* Fix doc

Signed-off-by: Pascal Rivard <privard@rbbn.com>

* Remove 'else if' from appendChartDownloadFlags

Signed-off-by: Pascal Rivard <privard@rbbn.com>

---------

Signed-off-by: Peter Halliday <peter.halliday@servicenow.com>
Signed-off-by: Pascal Rivard <privard@rbbn.com>
Co-authored-by: Peter Halliday <peter.halliday@servicenow.com>
Co-authored-by: Pascal Rivard <privard@rbbn.com>
2024-08-27 08:00:20 +08:00
Henrik Huitti 066a558303
fix(oci): use output-dir-template in path if specified (#1648)
* fix(oci): use output-dir-template in path if specified
Signed-off-by: Henrik Huitti <henrik.huitti@henhu.fi>
2024-07-31 07:32:09 +08:00
yxxhero 75ad24e6dc
feat: use helm status to find helm release (#1640)
* feat: use helm status to find helm release

Signed-off-by: yxxhero <aiopsclub@163.com>
2024-07-30 13:40:44 +08:00
Adam Talbot a684d1424d
feat: add support for OCI auth through registry-config flag (#1630)
Signed-off-by: Adam Talbot <adam.talbot@venafi.com>
2024-07-17 12:34:04 +08:00
yxxhero 56dad58180
feat: add namespace info in syncRelease and diffRelease (#1609) 2024-07-16 09:47:00 +08:00
Thomas Loubiou f77dc3d5b2
fix: inject KubeVersion and ApiVersions in Chartify rendering (#1624)
* fix: inject KubeVersion and ApiVersions in Chartify rendering

fixes #1623

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

* test: appendApiVersionsFlags

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

* test: add case for appendApiVersionsFlags

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

---------

Signed-off-by: Thomas Loubiou <thomas.loubiou@mirakl.com>
2024-07-12 22:28:20 +08:00
yxxhero 59ee3ce862
fix windows glob issue (#1572) 2024-06-26 13:03:09 +08:00
jim-barber-he f73da1e2a1
Add helmfile template --show-only (#1494)
Add a `--show-only` parameter to the `helmfile template` command to pass
on to the `helm template` command.

Signed-off-by: Jim Barber <jim.barber@healthengine.com.au>
2024-05-12 07:02:02 +08:00
yxxhero ac2e132482
add NAMESPACE filed for diff (#1460)
* add namespace filed for diff

Signed-off-by: yxxhero <aiopsclub@163.com>
2024-04-18 17:43:59 +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
Nick Van Dyck 2155fce121
Allow for conditions to have a deeper nested structure. (#1360)
* allow conditions to have a deeper nested structure

Signed-off-by: Nick Van Dyck <vandyck.nick@outlook.com>
2024-03-12 10:04:04 +08:00
yxxhero 590486446f
fix needs issue when release installed is false (#997)
* fix needs issue when release installed is false

Signed-off-by: yxxhero <aiopsclub@163.com>
2024-03-04 10:30:03 +08:00
Tim Ramlot 7ccacb7ee5
Add the SyncArgs option and --sync-args flag (#1375)
* add the SyncArgs option

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

* add syncArgs to helmDefaults and update index.md

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

* add --sync-args flags to helmfile sync

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

* add tests for appendExtraDiffFlags and appendExtraSyncFlags

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

---------

Signed-off-by: Tim Ramlot <42113979+inteon@users.noreply.github.com>
2024-02-29 20:49:48 +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
yxxhero 43fec2d599
fix: version path issue (#1344)
Signed-off-by: yxxhero <aiopsclub@163.com>
2024-02-16 09:08:28 +09:00
Steven Davidovitz a027b23698
fix: use finer-grained locking when listing releases for diff (#1343)
`isReleaseInstalled` will call `helm list` which can take a bit of time.
in order to allow parallelism, we need to use a finer mutex lock.

Signed-off-by: Steven Davidovitz <steven.davidovitz@dominodatalab.com>
2024-02-14 07:56:16 +08:00
Eduardo Naves 430677d43c
Fix the password display problem when passing the chart link (#1281)
* Fix the password display problem when passing the
chart link

Signed-off-by: Eduardo Naves <eduardonaves41@gmail.com>
2024-01-24 09:01:04 +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