Skip to content

feature: support for exact-name create-or-adopt flow #111

Description

@Junjus

Is your feature request related to a problem? Please describe.

Currently, I do not see a direct way to create a bucket with an exact, user-provided Garage bucket name.

The controller can create managed buckets, but the actual Garage bucket name is derived by the controller and includes a resource-derived suffix. This is useful for avoiding collisions, but it means the resulting bucket name is tied to the lifecycle of a particular Kubernetes object.
This is inconvenient for consumers that require a stable bucket name independent of the Kubernetes object lifecycle. I would like the bucket to survive cluster recreation and still be addressable by the same deterministic name afterwards.
This also matters for some GitOps workflows, where other resources need to reference the bucket by name ahead of time.

Describe the solution you'd like

I would like the controller to support creating or adopting a bucket with an exact Garage bucket name.

The desired behavior would be:

  • if the exact bucket name does not exist, the controller creates it with exactly that name
  • if the exact bucket name already exists, the controller can adopt/reclaim it when ownership proof is provided, similar to the current spec.existingBucket flow
  • if the exact bucket name already exists but ownership cannot be proven, reconciliation fails with a clear collision/ownership error
  • if no exact bucket name is requested, the controller can keep using generated bucket names to avoid collisions

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions