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.