Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the s3.onyxia.sh v1alpha1 API group +kubebuilder:object:generate=true +groupName=s3.onyxia.sh
Index ¶
- Constants
- Variables
- type Bucket
- type BucketList
- type BucketSpec
- type BucketStatus
- type Path
- type PathList
- type PathSpec
- type PathStatus
- type Policy
- type PolicyList
- type PolicySpec
- type PolicyStatus
- type Quota
- type S3Instance
- type S3InstanceList
- type S3InstanceSpec
- type S3InstanceStatus
- type S3User
- type S3UserList
- type S3UserSpec
- type S3UserStatus
Constants ¶
const ( Reconciling = "Reconciling" Unreachable = "Unreachable" CreationFailure = "CreationFailure" Reconciled = "Reconciled" DeletionFailure = "DeletionFailure" DeletionBlocked = "DeletionBlocked" )
Definitions to manage status condition reasons
const (
// ConditionReconciled represents the status of the resource reconciliation
ConditionReconciled = "Reconciled"
)
Definitions to manage status condition types
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "s3.onyxia.sh", 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 Bucket ¶
type Bucket struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec BucketSpec `json:"spec,omitempty"` Status BucketStatus `json:"status,omitempty"` }
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,omitempty"` 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 of the bucket // +kubebuilder:validation:Required Name string `json:"name"` // Paths (folders) to create inside the bucket // +kubebuilder:validation:Optional Paths []string `json:"paths,omitempty"` // s3InstanceRef where create the bucket // +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?(/[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?)?$` // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=127 // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="s3InstanceRef is immutable" // +kubebuilder:default=s3-operator/default S3InstanceRef string `json:"s3InstanceRef"` // Quota to apply to the bucket // +kubebuilder:validation:Required Quota Quota `json:"quota"` }
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 { // Status management using Conditions. // See also : https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
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 Path ¶
type Path struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PathSpec `json:"spec,omitempty"` Status PathStatus `json:"status,omitempty"` }
Path is the Schema for the paths API
func (*Path) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Path.
func (*Path) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Path) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PathList ¶
type PathList struct { metav1.TypeMeta ` json:",inline"` metav1.ListMeta ` json:"metadata,omitempty"` Items []Path `json:"items"` }
PathList contains a list of Path
func (*PathList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathList.
func (*PathList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PathList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PathSpec ¶
type PathSpec struct { // Name of the bucket // +kubebuilder:validation:Required BucketName string `json:"bucketName"` // Paths (folders) to create inside the bucket // +kubebuilder:validation:Optional Paths []string `json:"paths,omitempty"` // s3InstanceRef where create the Paths // +kubebuilder:default=s3-operator/default // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="s3InstanceRef is immutable" // +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?(/[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?)?$` // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=127 S3InstanceRef string `json:"s3InstanceRef,omitempty"` }
PathSpec defines the desired state of Path
func (*PathSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathSpec.
func (*PathSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PathStatus ¶
type PathStatus struct { // Status management using Conditions. // See also : https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
PathStatus defines the observed state of Path
func (*PathStatus) DeepCopy ¶
func (in *PathStatus) DeepCopy() *PathStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathStatus.
func (*PathStatus) DeepCopyInto ¶
func (in *PathStatus) DeepCopyInto(out *PathStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Policy ¶
type Policy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PolicySpec `json:"spec,omitempty"` Status PolicyStatus `json:"status,omitempty"` }
Policy is the Schema for the policies API
func (*Policy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Policy.
func (*Policy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Policy) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PolicyList ¶
type PolicyList struct { metav1.TypeMeta ` json:",inline"` metav1.ListMeta ` json:"metadata,omitempty"` Items []Policy `json:"items"` }
PolicyList contains a list of Policy
func (*PolicyList) DeepCopy ¶
func (in *PolicyList) DeepCopy() *PolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyList.
func (*PolicyList) DeepCopyInto ¶
func (in *PolicyList) DeepCopyInto(out *PolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PolicyList) DeepCopyObject ¶
func (in *PolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PolicySpec ¶
type PolicySpec struct { // Name of the policy // +kubebuilder:validation:Required Name string `json:"name"` // +kubebuilder:validation:Required // Content of the policy (IAM JSON format) PolicyContent string `json:"policyContent"` // s3InstanceRef where create the Policy // +kubebuilder:default=s3-operator/default // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="s3InstanceRef is immutable" // +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?(/[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?)?$` // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=127 S3InstanceRef string `json:"s3InstanceRef,omitempty"` }
PolicySpec defines the desired state of Policy
func (*PolicySpec) DeepCopy ¶
func (in *PolicySpec) DeepCopy() *PolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicySpec.
func (*PolicySpec) DeepCopyInto ¶
func (in *PolicySpec) DeepCopyInto(out *PolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PolicyStatus ¶
type PolicyStatus struct { // Status management using Conditions. // See also : https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
PolicyStatus defines the observed state of Policy
func (*PolicyStatus) DeepCopy ¶
func (in *PolicyStatus) DeepCopy() *PolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyStatus.
func (*PolicyStatus) DeepCopyInto ¶
func (in *PolicyStatus) DeepCopyInto(out *PolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Quota ¶
type Quota struct { // Default quota to apply, mandatory // +kubebuilder:validation:Required Default int64 `json:"default"` // Optional override quota, to be used by cluster admin. // +kubebuilder:validation:Optional Override int64 `json:"override,omitempty"` }
func (*Quota) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Quota.
func (*Quota) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3Instance ¶ added in v0.12.0
type S3Instance struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec S3InstanceSpec `json:"spec,omitempty"` Status S3InstanceStatus `json:"status,omitempty"` }
S3Instance is the Schema for the S3Instances API
func (*S3Instance) DeepCopy ¶ added in v0.12.0
func (in *S3Instance) DeepCopy() *S3Instance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Instance.
func (*S3Instance) DeepCopyInto ¶ added in v0.12.0
func (in *S3Instance) DeepCopyInto(out *S3Instance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*S3Instance) DeepCopyObject ¶ added in v0.12.0
func (in *S3Instance) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type S3InstanceList ¶ added in v0.12.0
type S3InstanceList struct { metav1.TypeMeta ` json:",inline"` metav1.ListMeta ` json:"metadata,omitempty"` Items []S3Instance `json:"items"` }
S3InstanceList contains a list of S3Instance
func (*S3InstanceList) DeepCopy ¶ added in v0.12.0
func (in *S3InstanceList) DeepCopy() *S3InstanceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3InstanceList.
func (*S3InstanceList) DeepCopyInto ¶ added in v0.12.0
func (in *S3InstanceList) DeepCopyInto(out *S3InstanceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*S3InstanceList) DeepCopyObject ¶ added in v0.12.0
func (in *S3InstanceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type S3InstanceSpec ¶ added in v0.12.0
type S3InstanceSpec struct { // type of the S3Instance // +kubebuilder:validation:Required // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="S3Provider is immutable" // +kubebuilder:default=minio // +kubebuilder:validation:Enum=minio;mockedS3Provider S3Provider string `json:"s3Provider,omitempty"` // url of the S3Instance // +kubebuilder:validation:Required Url string `json:"url"` // Ref to Secret associated to the S3Instance containing accessKey and secretKey // +kubebuilder:validation:Required SecretRef string `json:"secretRef"` // region associated to the S3Instance // +kubebuilder:validation:Optional Region string `json:"region,omitempty"` // Secret containing key ca.crt with the certificate associated to the S3InstanceUrl // +kubebuilder:validation:Optional CaCertSecretRef string `json:"caCertSecretRef,omitempty"` // AllowedNamespaces to use this S3InstanceUrl if empty only the namespace of this instance url is allowed to use it // +kubebuilder:validation:Optional AllowedNamespaces []string `json:"allowedNamespaces,omitempty"` // BucketDeletionEnabled Trigger bucket deletion on the S3 backend upon CR deletion. Will fail if bucket is not empty. // +kubebuilder:default=false BucketDeletionEnabled bool `json:"bucketDeletionEnabled,omitempty"` // PolicyDeletionEnabled Trigger policy deletion on the S3 backend upon CR deletion. // +kubebuilder:default=false PolicyDeletionEnabled bool `json:"policyDeletionEnabled,omitempty"` // PathDeletionEnabled Trigger path deletion on the S3 backend upon CR deletion. Limited to deleting the `.keep` files used by the operator. // +kubebuilder:default=false PathDeletionEnabled bool `json:"pathDeletionEnabled,omitempty"` // S3UserDeletionEnabled Trigger S3 deletion on the S3 backend upon CR deletion. // +kubebuilder:default=false S3UserDeletionEnabled bool `json:"s3UserDeletionEnabled,omitempty"` }
S3InstanceSpec defines the desired state of S3Instance
func (*S3InstanceSpec) DeepCopy ¶ added in v0.12.0
func (in *S3InstanceSpec) DeepCopy() *S3InstanceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3InstanceSpec.
func (*S3InstanceSpec) DeepCopyInto ¶ added in v0.12.0
func (in *S3InstanceSpec) DeepCopyInto(out *S3InstanceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3InstanceStatus ¶ added in v0.12.0
type S3InstanceStatus struct { // Status management using Conditions. // See also : https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
S3InstanceStatus defines the observed state of S3Instance
func (*S3InstanceStatus) DeepCopy ¶ added in v0.12.0
func (in *S3InstanceStatus) DeepCopy() *S3InstanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3InstanceStatus.
func (*S3InstanceStatus) DeepCopyInto ¶ added in v0.12.0
func (in *S3InstanceStatus) DeepCopyInto(out *S3InstanceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3User ¶ added in v0.9.0
type S3User struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec S3UserSpec `json:"spec,omitempty"` Status S3UserStatus `json:"status,omitempty"` }
S3User is the Schema for the S3Users API
func (*S3User) DeepCopy ¶ added in v0.9.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3User.
func (*S3User) DeepCopyInto ¶ added in v0.9.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*S3User) DeepCopyObject ¶ added in v0.9.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type S3UserList ¶ added in v0.9.0
type S3UserList struct { metav1.TypeMeta ` json:",inline"` metav1.ListMeta ` json:"metadata,omitempty"` Items []S3User `json:"items"` }
S3UserList contains a list of S3User
func (*S3UserList) DeepCopy ¶ added in v0.9.0
func (in *S3UserList) DeepCopy() *S3UserList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3UserList.
func (*S3UserList) DeepCopyInto ¶ added in v0.9.0
func (in *S3UserList) DeepCopyInto(out *S3UserList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*S3UserList) DeepCopyObject ¶ added in v0.9.0
func (in *S3UserList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type S3UserSpec ¶ added in v0.9.0
type S3UserSpec struct { // Name of the S3User // +kubebuilder:validation:Required AccessKey string `json:"accessKey"` // Policies associated to the S3User // +kubebuilder:validation:Optional Policies []string `json:"policies,omitempty"` // SecretName associated to the S3User // +kubebuilder:validation:Optional SecretName string `json:"secretName"` // s3InstanceRef where create the user // +kubebuilder:default=s3-operator/default // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="s3InstanceRef is immutable" // +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?(/[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?)?$` // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=127 S3InstanceRef string `json:"s3InstanceRef,omitempty"` // SecretFieldNameAccessKey associated to the S3User // Allow overridden the default key to store the accessKey value in the secret // +kubebuilder:validation:Optional // +kubebuilder:validation:Type="string" // +kubebuilder:default="accessKey" SecretFieldNameAccessKey string `json:"secretFieldNameAccessKey,omitempty"` // SecretFieldNameSecretKey associated to the S3User // Allow overridden the default key to store the secretKey value in the secret // +kubebuilder:validation:Optional // +kubebuilder:validation:Type="string" // +kubebuilder:default="secretKey" SecretFieldNameSecretKey string `json:"secretFieldNameSecretKey,omitempty"` }
S3UserSpec defines the desired state of S3User
func (*S3UserSpec) DeepCopy ¶ added in v0.9.0
func (in *S3UserSpec) DeepCopy() *S3UserSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3UserSpec.
func (*S3UserSpec) DeepCopyInto ¶ added in v0.9.0
func (in *S3UserSpec) DeepCopyInto(out *S3UserSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3UserStatus ¶ added in v0.9.0
type S3UserStatus struct { // Status management using Conditions. // See also : https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
S3UserStatus defines the observed state of S3User
func (*S3UserStatus) DeepCopy ¶ added in v0.9.0
func (in *S3UserStatus) DeepCopy() *S3UserStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3UserStatus.
func (*S3UserStatus) DeepCopyInto ¶ added in v0.9.0
func (in *S3UserStatus) DeepCopyInto(out *S3UserStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.