helmfile/test/integration/test-cases
Aditya Menon 5d9db12a99
fix: resolve issues #2295, #2296, #2297 and OCI registry login
This PR fixes four related bugs affecting chart preparation, caching,
and OCI registry authentication.

Issue #2295: OCI chart cache conflicts with parallel helmfile processes
- Added filesystem-level locking using flock for cross-process sync
- Implements double-check locking pattern for efficiency
- Retry logic with 5-minute timeout and 3 retries
- Refactored into reusable acquireChartLock() helper function
- Added refresh marker coordination for cross-process cache management

Issue #2296: helmDefaults.skipDeps and helmDefaults.skipRefresh ignored
- Check both CLI options AND helmDefaults when deciding to skip repo sync

Issue #2297: Local chart + transformers causes panic
- Normalize local chart paths to absolute before calling chartify

OCI Registry Login URL Fix:
- Added extractRegistryHost() to extract just the registry host from URLs
- Fixed SyncRepos to use extracted host for OCI registry login
- e.g., "account.dkr.ecr.region.amazonaws.com/charts" ->
        "account.dkr.ecr.region.amazonaws.com"

Test Plan:
- Unit tests for issues #2295, #2296, #2297
- Unit tests for OCI registry login (extractRegistryHost, SyncRepos_OCI)
- Integration tests for issues #2295 and #2297
- All existing unit tests pass (including TestLint)

Fixes #2295
Fixes #2296
Fixes #2297

Signed-off-by: Aditya Menon <amenon@canarytechnologies.com>
2025-11-27 11:08:47 +01:00
..
chart-needs feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
chartify feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
chartify-jsonPatches-and-strategicMergePatches Remove all v0.x references (#1919) 2025-03-08 07:43:21 -06:00
chartify-with-non-chart-dir build: update Helm and plugin versions in CI and Dockerfiles (#2059) 2025-05-30 11:45:28 +08:00
cli-overwrite-environment-values Remove all v0.x references (#1919) 2025-03-08 07:43:21 -06:00
deps-kustomization-i-1402/input skip helm dep up for kustomizations (#1424) 2024-03-26 07:45:39 +08:00
deps-mr-1011/input run deps without chart preparation (#1011) 2024-02-14 17:16:48 +08:00
diff-args feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
fetch-forl-local-chart/input refactor(filesystem): add CopyDir method and optimize Fetch function (#2111) 2025-07-28 16:10:25 -04:00
happypath Remove all v0.x references (#1919) 2025-03-08 07:43:21 -06:00
hcl-secrets Feature/support env hcl and interpolations (#1423) 2024-04-22 08:02:14 +08:00
helmfile-double-fetch/input fix: oci pull directory conflict when download twice (#914) 2023-07-23 21:10:03 +08:00
include-template-func feat: include func support more template functions (#1277) 2024-01-09 14:33:50 +08:00
issue-1749/input Ensure 'helm repo add' is also not pollute on helmfile template (#1887) 2025-01-22 20:42:33 +08:00
issue-1893/input Chartify v0.20.8 update (#1908) 2025-02-05 21:42:05 +08:00
issue-2247 Fix four critical bugs: array merging (#2281), AWS SDK logging (#2270), helmDefaults skip flags (#2269), and OCI chart versions (#2247) (#2288) 2025-11-22 09:27:51 +08:00
issue-2271/input 🐛 Fix four critical issues: environment merging, kubeVersion detection, lookup() with kustomize, and Helm 4 color flags (#2276) 2025-11-21 08:32:54 +08:00
issue-2275/input 🐛 Fix four critical issues: environment merging, kubeVersion detection, lookup() with kustomize, and Helm 4 color flags (#2276) 2025-11-21 08:32:54 +08:00
issue-2280/input 🐛 Fix four critical issues: environment merging, kubeVersion detection, lookup() with kustomize, and Helm 4 color flags (#2276) 2025-11-21 08:32:54 +08:00
issue-2281-array-merge Fix four critical bugs: array merging (#2281), AWS SDK logging (#2270), helmDefaults skip flags (#2269), and OCI chart versions (#2247) (#2288) 2025-11-22 09:27:51 +08:00
issue-2291/input test: add integration test for issue #2291 (CRD preservation with strategicMergePatches) (#2292) 2025-11-25 09:19:41 +08:00
issue-2297-local-chart-transformers/input fix: resolve issues #2295, #2296, #2297 and OCI registry login 2025-11-27 11:08:47 +01:00
kustomized-fetch/input fix fetch does not work with kustomized releases (#624) 2023-01-15 09:19:01 +08:00
oci-parallel-pull/input fix: resolve issues #2295, #2296, #2297 and OCI registry login 2025-11-27 11:08:47 +01:00
postrender feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
regression/input Remove all v0.x references (#1919) 2025-03-08 07:43:21 -06:00
secretssops Remove all v0.x references (#1919) 2025-03-08 07:43:21 -06:00
skip-diff-output build: update Helm and plugin versions in CI and Dockerfiles (#2059) 2025-05-30 11:45:28 +08:00
state-values-set-cli-args-in-environments feat: inject cli state values (--state-values-set) into environment templating context (#1917) 2025-02-14 20:49:07 +08:00
suppress-output-line-regex test: add integration test for issue #2291 (CRD preservation with strategicMergePatches) (#2292) 2025-11-25 09:19:41 +08:00
v1-subhelmfile-multi-bases-with-array-values Remove all v0.x references (#1919) 2025-03-08 07:43:21 -06:00
yaml-overwrite Use gopkg.in/yaml.v2 for Helmfile v0.x (#609) 2023-01-04 18:17:24 +09:00
chart-needs.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
chartify-jsonPatches-and-strategicMergePatches.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
chartify-with-non-chart-dir.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
chartify.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
cli-overwrite-environment-values.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
deps-kustomization-i-1402.sh skip helm dep up for kustomizations (#1424) 2024-03-26 07:45:39 +08:00
deps-mr-1011.sh run deps without chart preparation (#1011) 2024-02-14 17:16:48 +08:00
diff-args.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
fetch-forl-local-chart.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
happypath.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
hcl-secrets.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
helmfile-double-fetch.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
include-template-func.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
issue-1749.sh Add integration tests for #1749 (#1766) 2024-11-06 08:12:20 +08:00
issue-1893.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
issue-2247.sh test: add integration test for issue #2291 (CRD preservation with strategicMergePatches) (#2292) 2025-11-25 09:19:41 +08:00
issue-2271.sh 🐛 Fix four critical issues: environment merging, kubeVersion detection, lookup() with kustomize, and Helm 4 color flags (#2276) 2025-11-21 08:32:54 +08:00
issue-2275.sh 🐛 Fix four critical issues: environment merging, kubeVersion detection, lookup() with kustomize, and Helm 4 color flags (#2276) 2025-11-21 08:32:54 +08:00
issue-2280.sh 🐛 Fix four critical issues: environment merging, kubeVersion detection, lookup() with kustomize, and Helm 4 color flags (#2276) 2025-11-21 08:32:54 +08:00
issue-2281-array-merge.sh Fix four critical bugs: array merging (#2281), AWS SDK logging (#2270), helmDefaults skip flags (#2269), and OCI chart versions (#2247) (#2288) 2025-11-22 09:27:51 +08:00
issue-2291.sh test: add integration test for issue #2291 (CRD preservation with strategicMergePatches) (#2292) 2025-11-25 09:19:41 +08:00
issue-2297-local-chart-transformers.sh fix: resolve issues #2295, #2296, #2297 and OCI registry login 2025-11-27 11:08:47 +01:00
kustomized-fetch.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
oci-parallel-pull.sh fix: resolve issues #2295, #2296, #2297 and OCI registry login 2025-11-27 11:08:47 +01:00
postrender.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
regression.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
secretssops.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
skip-diff-output.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
state-values-set-cli-args-in-environments.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
suppress-output-line-regex.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
v1-subhelmfile-multi-bases-with-array-values.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
yaml-overwrite.sh feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00