helmfile/pkg/remote
yxxhero 6191f821eb
fix: restore s3:: vhost-style remote source support (#2643) (#2644)
go-getter v2 (used since v1.4) removed its built-in S3 getter, so helmfile's own AWS-SDK-v2 S3Getter was added to compensate. However the routing only handled the s3://bucket/key form (Getter==normal, Scheme==s3); the go-getter forced-getter vhost form s3::https://bucket.s3.region.amazonaws.com/key fell through to go-getter v2, which can no longer download S3 at all, producing 'error downloading'.

This restores 1.2.x behavior by:

- routing u.Getter==s3 URLs to the built-in S3Getter

- extending ParseS3Url to parse vhost/path-style amazonaws.com URLs (region/bucket/key), modeled on go-getter v1

- stripping the helmfile @<file> selector before deriving the S3 key

- auto-decompressing archive objects (tar.gz/zip/...) via go-getter v2 decompressors so the @<file> selector resolves inside a tarball, as go-getter v1 did

- cleaning up the cache dir on download/decompress failure (matching the GoGetter branch) and avoiding a nil-response panic in GetObject error handling

Fixes #2643

Signed-off-by: yxxhero <aiopsclub@163.com>
2026-06-17 09:07:30 +08:00
..
remote.go fix: restore s3:: vhost-style remote source support (#2643) (#2644) 2026-06-17 09:07:30 +08:00
remote_test.go fix: restore s3:: vhost-style remote source support (#2643) (#2644) 2026-06-17 09:07:30 +08:00
remote_windows_test.go fix: prevent local absolute paths from being treated as remote URLs (#2397) 2026-02-12 14:52:51 +08:00