v1alpha1

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 8, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

+kubebuilder:validation:Required

Package v1alpha1 contains API Schema definitions for the garage v1alpha1 API group. +kubebuilder:object:generate=true +groupName=garage.getclustered.net

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "garage.getclustered.net", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AccessKey

type AccessKey struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// spec defines the desired state of AccessKey
	// +required
	Spec AccessKeySpec `json:"spec"`

	// status defines the observed state of AccessKey
	// +optional
	Status AccessKeyStatus `json:"status,omitzero"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status" +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].reason" AccessKey is the Schema for the accesskeys API

func (*AccessKey) DeepCopy

func (in *AccessKey) DeepCopy() *AccessKey

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessKey.

func (*AccessKey) DeepCopyInto

func (in *AccessKey) DeepCopyInto(out *AccessKey)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AccessKey) DeepCopyObject

func (in *AccessKey) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AccessKeyList

type AccessKeyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []AccessKey `json:"items"`
}

AccessKeyList contains a list of AccessKey

func (*AccessKeyList) DeepCopy

func (in *AccessKeyList) DeepCopy() *AccessKeyList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessKeyList.

func (*AccessKeyList) DeepCopyInto

func (in *AccessKeyList) DeepCopyInto(out *AccessKeyList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AccessKeyList) DeepCopyObject

func (in *AccessKeyList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AccessKeySpec

type AccessKeySpec struct {
	// The name of the secret that will be created to store the credentials.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
	// +kubebuilder:validation:Required
	SecretName string `json:"secretName"`
}

AccessKeySpec defines the desired state of AccessKey

func (*AccessKeySpec) DeepCopy

func (in *AccessKeySpec) DeepCopy() *AccessKeySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessKeySpec.

func (*AccessKeySpec) DeepCopyInto

func (in *AccessKeySpec) DeepCopyInto(out *AccessKeySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AccessKeyStatus

type AccessKeyStatus struct {
	// The status of each condition is one of True, False, or Unknown.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// The external Access Key identifier.
	// +optional
	AccessKeyID string `json:"accessKeyId,omitempty"`

	// SecretName is the name of the secret created to store the access key.
	// It holds the reference to the previously created secret on spec changes.
	//
	// Keys: access-key-id, secret-access-key
	//
	// +optional
	SecretName string `json:"secretName,omitempty"`
}

AccessKeyStatus defines the observed state of AccessKey.

func (*AccessKeyStatus) DeepCopy

func (in *AccessKeyStatus) DeepCopy() *AccessKeyStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessKeyStatus.

func (*AccessKeyStatus) DeepCopyInto

func (in *AccessKeyStatus) DeepCopyInto(out *AccessKeyStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AccessPolicy

type AccessPolicy struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// spec defines the desired state of AccessPolicy
	// +required
	Spec AccessPolicySpec `json:"spec"`

	// status defines the observed state of AccessPolicy
	// +optional
	Status AccessPolicyStatus `json:"status,omitzero"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status" +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].reason" AccessPolicy is the Schema for the accesspolicies API

func (*AccessPolicy) DeepCopy

func (in *AccessPolicy) DeepCopy() *AccessPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessPolicy.

func (*AccessPolicy) DeepCopyInto

func (in *AccessPolicy) DeepCopyInto(out *AccessPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AccessPolicy) DeepCopyObject

func (in *AccessPolicy) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AccessPolicyList

type AccessPolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []AccessPolicy `json:"items"`
}

AccessPolicyList contains a list of AccessPolicy

func (*AccessPolicyList) DeepCopy

func (in *AccessPolicyList) DeepCopy() *AccessPolicyList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessPolicyList.

func (*AccessPolicyList) DeepCopyInto

func (in *AccessPolicyList) DeepCopyInto(out *AccessPolicyList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AccessPolicyList) DeepCopyObject

func (in *AccessPolicyList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AccessPolicySpec

type AccessPolicySpec struct {
	// AccessKey is the name of the resource in the namespace.
	// +required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	AccessKey string `json:"accessKey"`

	// Bucket is the name of the bucket resource.
	// +required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	Bucket string `json:"bucket"`

	// Permissions to grant the access key.
	// +required
	Permissions Permissions `json:"permissions"`
}

AccessPolicySpec defines the desired state of AccessPolicy

func (*AccessPolicySpec) DeepCopy

func (in *AccessPolicySpec) DeepCopy() *AccessPolicySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessPolicySpec.

func (*AccessPolicySpec) DeepCopyInto

func (in *AccessPolicySpec) DeepCopyInto(out *AccessPolicySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AccessPolicyStatus

type AccessPolicyStatus struct {
	// The status of each condition is one of True, False, or Unknown.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// +optional
	BucketID string `json:"bucketId"`

	// The external Access Key identifier.
	// +optional
	AccessKeyID string `json:"accessKeyId"`
}

AccessPolicyStatus defines the observed state of AccessPolicy.

func (*AccessPolicyStatus) DeepCopy

func (in *AccessPolicyStatus) DeepCopy() *AccessPolicyStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessPolicyStatus.

func (*AccessPolicyStatus) DeepCopyInto

func (in *AccessPolicyStatus) DeepCopyInto(out *AccessPolicyStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Bucket

type Bucket struct {
	// +optional
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// spec defines the desired state of Bucket
	// +required
	Spec BucketSpec `json:"spec"`

	// status defines the observed state of Bucket
	// +optional
	Status BucketStatus `json:"status,omitzero"`
}

+kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status" Bucket is the Schema for the buckets API

func (*Bucket) DeepCopy

func (in *Bucket) DeepCopy() *Bucket

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bucket.

func (*Bucket) DeepCopyInto

func (in *Bucket) DeepCopyInto(out *Bucket)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Bucket) DeepCopyObject

func (in *Bucket) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BucketList

type BucketList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []Bucket `json:"items"`
}

BucketList contains a list of Bucket

func (*BucketList) DeepCopy

func (in *BucketList) DeepCopy() *BucketList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketList.

func (*BucketList) DeepCopyInto

func (in *BucketList) DeepCopyInto(out *BucketList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BucketList) DeepCopyObject

func (in *BucketList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BucketSpec

type BucketSpec struct {
	// Name is the desired bucket name.
	//
	// The actual name will be suffixed with a hash derived from the Bucket resource UID.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=3
	// +kubebuilder:validation:MaxLength=46
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	Name string `json:"name"`

	// MaxSize is the maximum bucket size in bytes.
	// Supports standard quantity suffixes.
	//
	// Examples: "30Gi" (binary), "250M" (decimal), "8000" (bytes)
	//
	// +optional
	MaxSize resource.Quantity `json:"maxSize"`

	// MaxObjects is the number of objects the bucket can store.
	// +optional
	MaxObjects int64 `json:"maxObjects,omitempty"`

	// The name of the ConfigMap that will be created to store bucket connection details.
	// If not set, defaults to the Bucket resource name.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
	// +optional
	ConfigMapName string `json:"configMapName,omitempty"`
}

BucketSpec defines the desired state of Bucket

func (*BucketSpec) DeepCopy

func (in *BucketSpec) DeepCopy() *BucketSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketSpec.

func (*BucketSpec) DeepCopyInto

func (in *BucketSpec) DeepCopyInto(out *BucketSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BucketStatus

type BucketStatus struct {
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// The external Bucket identifier.
	// +optional
	BucketID string `json:"bucketId,omitempty"`

	// BucketName is the actual bucket name in Garage.
	//
	// Format: "<name>-<hash>"
	// +optional
	BucketName string `json:"bucketName,omitempty"`

	// +optional
	LastSync *metav1.Time `json:"lastSync,omitempty"`
}

BucketStatus defines the observed state of Bucket.

func (*BucketStatus) DeepCopy

func (in *BucketStatus) DeepCopy() *BucketStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketStatus.

func (*BucketStatus) DeepCopyInto

func (in *BucketStatus) DeepCopyInto(out *BucketStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Permissions

type Permissions struct {
	// +optional
	Read bool `json:"read"`
	// +optional
	Write bool `json:"write"`
	// +optional
	Owner bool `json:"owner"`
}

func (*Permissions) DeepCopy

func (in *Permissions) DeepCopy() *Permissions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Permissions.

func (*Permissions) DeepCopyInto

func (in *Permissions) DeepCopyInto(out *Permissions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL