• v0.3.12 0a1bcc129f

    v0.3.12 Stable

    pipeline-bot released this 2026-07-28 07:37:54 +00:00 | 14 commits to trunk since this release

    Fixed

    • Key the MinIO client cache on identity, not just endpoint. Factory cached
      clients by endpoint alone while resolving and then discarding the root
      credentials, so two resources naming one endpoint through different root
      Secrets — the reference's namespace defaults to the resource's own — shared
      whichever client won the race, and the operator performed one namespace's IAM
      writes as another namespace's identity. The same bug kept serving a client
      built from a superseded password after a root Secret rotation, for the life of
      the process. The key now covers endpoint, region, TLS, and a hash of the
      resolved credentials. MinioRef was newly exposed on the
      MinioServiceAccount/MinioUser specs in 0.3.11, which widened the reach.
    • Make SetDefaultClient actually thread-safe. Client is a two-word struct,
      so the unsynchronized write was not atomic and a concurrent reader could
      observe an Admin from the new credentials beside an S3 from the old. The
      comment claimed safety on the grounds that readers "don't hold locks while
      using the client", which is the condition that creates the race rather than one
      that avoids it. Reads and writes now share an RWMutex.

    Included changes (v0.3.11 -> v0.3.12)

    • 8105d6304e7a fix(client): key the client cache on identity, not just endpoint
    Downloads