Skip to content

Add the GarageCluster and S3Connection resources - #2

Open
stplasim wants to merge 1 commit into
setupfrom
garage-cluster-and-s3-connection
Open

stplasim wants to merge 1 commit into
setupfrom
garage-cluster-and-s3-connection

Conversation

@stplasim

@stplasim stplasim commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Part 2 of 4. Builds on #1.

What's in it

  • Garage Admin API v2 client (core/adminapi): GarageAdminApi with the cluster endpoints, and GarageAdminClientFactory, which keeps one client per endpoint and token instead of building one per call.
  • GarageCluster: assigns and applies the layout of a single-node Garage, which serves no S3 traffic until it has one. On a larger cluster it reports ERROR instead of guessing.
  • S3Connection: probes the Admin API. Everything added later waits for it to be READY. A READY from an older generation does not count.
  • GarageService: what the reconcilers call. Here it only does the probe.
  • Tests run against a real Garage from a Compose Dev Service (operator/src/main/docker).
  • Docs: docs/garage-cluster.md and docs/s3-connection.md.

Notes for review

  • The operator is Garage-only on purpose: there is no provider abstraction and no provider field.
  • Every controller resyncs at least every 10 minutes, so drift on the Garage side, which Kubernetes sees no events for, is picked up.

🤖 Generated with Claude Code

@stplasim
stplasim added this pull request to stack #5 October 1, 2026 13:21
@stplasim stplasim changed the title add the GarageCluster and S3Connection resources Add the GarageCluster and S3Connection resources Oct 1, 2026
@stplasim
stplasim force-pushed the garage-cluster-and-s3-connection branch 2 times, most recently from 2b6742f to 894c0f4 Compare October 1, 2026 14:03
@stplasim
stplasim force-pushed the garage-cluster-and-s3-connection branch from 894c0f4 to 8ecc935 Compare October 1, 2026 14:28
@stplasim
stplasim marked this pull request as ready for review October 1, 2026 14:39
GarageCluster assigns and applies the layout of a single-node Garage, S3Connection
probes the Admin API that buckets and keys are later created through.

Assisted-by: Claude:claude-opus-5-5
@stplasim
stplasim force-pushed the garage-cluster-and-s3-connection branch from 8ecc935 to 17e0a4c Compare October 1, 2026 14:46
@stplasim
stplasim requested a review from ThoSap October 1, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant