~bigbes/ci-cacher: 35e3d35f

Fix Garage compat: PingBucket via ListObjects, fixed config path, delimited list

Three issues surfaced when first running doctor against the real
s3.bigb.es Garage instance:

* HeadBucket returned 403 even with valid creds. Garage doesn't
  implement HeadBucket the way AWS does. Switch the doctor smoke
  test to a 1-key ListObjectsV2 — matches what aws s3 ls does, which
  the existing shell helper used.

* Config landed in ~/Library/Application Support/cacher on macOS
  via os.UserConfigDir. cacher is a CI tool that needs the same
  path on a dev mac and on a Linux build runner, so hard-code
  ~/.config/cacher/config.toml unconditionally.

* cacher list flat-listed every object under the configured prefix.
  Add Delimiter="/" semantics by default (matches aws s3 ls), with
  --recursive for the previous behaviour and --root to ignore the
  configured prefix and list at the bucket root.

Eugene Blikh <bigbes@gmail.com> — 2026-05-25 13:37:24 UTC

Commit 35e3d35fa942c39ddf0fcb3306c07458e5920391view raw patch

Parent(s): 0ad1486d

4 changed file(s)

FileStatus+
cmd/doctor.go M +2 -2
cmd/file.go M +19 -4
internal/config/config.go M +8 -4
internal/s3/client.go M +54 -11