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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessKey.
func (*AccessKey) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AccessKey) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bucket.
func (*Bucket) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Bucket) DeepCopyObject ¶
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.