Skip to content

API Reference

Packages:

pkg.internal/v1beta1

Resource Types:

Storage

↩ Parent

Name Type Description Required
apiVersion string pkg.internal/v1beta1 true
kind string Storage true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object Desired configuration of a Storage resource. Defines which buckets are created under the principal, which external buckets are requested, and which grants are issued to other principals.
false
status object Observed state of the Storage resource, including reconciliation results and any conditions applied by the controller.
false

Storage.spec

↩ Parent

Desired configuration of a Storage resource. Defines which buckets are created under the principal, which external buckets are requested, and which grants are issued to other principals.

Name Type Description Required
buckets []object Buckets to create as part of this Storage. Each entry is keyed by bucketName, ensuring uniqueness within the resource. Ordering has no semantic meaning.
true
principal string Unique identifier of the storage principal (typically a user or service account). All buckets, access requests, and grants in this resource are owned and managed under this principal.
true
bucketAccessGrants []object Grants issued by this principal to other principals. Each grant is uniquely identified by bucketName and grantee and defines the permission level on the target bucket.
false
bucketAccessRequests []object Outbound requests for access to buckets owned by other principals. Each request originates from spec.principal and targets a single foreign bucket. The list is keyed by bucketName.
false
credentialsRollover object Configuration controlling automated rotation of access credentials issued for this storage principal.

Validations:
  • self.interval != 'none' || self.maxToKeep == 1: maxToKeep must be 1 when interval is none
  • false
    providerIdentity string Optional short name for the provider-native user. Defaults to principal. The backend adds its path or managed-resource prefix.
    false

    Storage.spec.buckets[index]

    ↩ Parent

    Name Type Description Required
    bucketName string Name of the bucket to create. This value acts as the unique key for the list element.
    true
    discoverable boolean If true, the bucket is advertised for discovery by other principals. Defaults to false when omitted.

    Default: false
    false
    lifecycleRules []object Optional lifecycle rules for objects in this bucket. Rules are keyed by target and determine whether matching objects are reported or deleted either after a relative age or once a fixed timestamp has been reached.
    false

    Storage.spec.buckets[index].lifecycleRules[index]

    ↩ Parent

    Name Type Description Required
    mode enum Notify reports that a matching lifecycle target is present when the time condition is met without changing objects. Delete removes matching objects when the time condition is met.

    Enum: Notify, Delete
    true
    target string Target path inside the bucket. Use * for the whole bucket, or a prefix ending in * such as tmp/*.
    true
    at string Fixed UTC timestamp after which Delete rules remove all matching objects.

    Format: date-time
    false
    minAge string Per-object minimum age for Delete rules, for example 30s, 15m, 2h, 1d, or 2w. Supported suffixes are s for seconds, m for minutes, h for hours, d for days, and w for weeks.
    false

    Storage.spec.bucketAccessGrants[index]

    ↩ Parent

    Name Type Description Required
    bucketName string Name of the bucket for which the permission is granted. This forms part of the unique key.
    true
    grantedAt string RFC3339 timestamp indicating when the grant became active. Used to track grant lifecycle. Typically set by the controller.

    Format: date-time
    true
    grantee string Identifier of the principal receiving the grant. This forms part of the unique key.
    true
    permission enum Permission level granted to the grantee on the specified bucket. Setting None explicitly removes access.

    Enum: ReadWrite, ReadOnly, WriteOnly, None
    true

    Storage.spec.bucketAccessRequests[index]

    ↩ Parent

    Name Type Description Required
    bucketName string Name of the bucket for which access is requested. This value is the unique key for the request.
    true
    requestedAt string RFC3339 timestamp indicating when the request was created. Used to track request lifecycle. Typically set by the controller.

    Format: date-time
    true
    reason string Optional free-text justification for the request. For informational and auditing purposes only.
    false

    Storage.spec.credentialsRollover

    ↩ Parent

    Configuration controlling automated rotation of access credentials issued for this storage principal.

    Name Type Description Required
    interval enum Defines how often access credentials are rotated. If set to none credentials are not rotated automatically.

    Enum: daily, weekly, monthly, quarterly, yearly, none
    Default: none
    true
    maxToKeep integer Maximum number of active credential generations, including the current generation. Must be 1 when interval is none.

    Default: 1
    Minimum: 1
    Maximum: 10
    true

    Storage.status

    ↩ Parent

    Observed state of the Storage resource, including reconciliation results and any conditions applied by the controller.

    Name Type Description Required