v1alpha1

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2025 License: Apache-2.0 Imports: 4 Imported by: 0

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

View Source
const (
	Reconciling     = "Reconciling"
	Unreachable     = "Unreachable"
	CreationFailure = "CreationFailure"
	Reconciled      = "Reconciled"
	DeletionFailure = "DeletionFailure"
	DeletionBlocked = "DeletionBlocked"
)

Definitions to manage status condition reasons

View Source
const (
	// ConditionReconciled represents the status of the resource reconciliation
	ConditionReconciled = "Reconciled"
)

Definitions to manage status condition types

Variables

View Source
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

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,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

func (in *Path) DeepCopy() *Path

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

func (*Path) DeepCopyInto

func (in *Path) DeepCopyInto(out *Path)

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

func (*Path) DeepCopyObject

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

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

func (in *PathList) DeepCopy() *PathList

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

func (*PathList) DeepCopyInto

func (in *PathList) DeepCopyInto(out *PathList)

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

func (*PathList) DeepCopyObject

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

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

func (in *PathSpec) DeepCopy() *PathSpec

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

func (*PathSpec) DeepCopyInto

func (in *PathSpec) DeepCopyInto(out *PathSpec)

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

func (in *Policy) DeepCopy() *Policy

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

func (*Policy) DeepCopyInto

func (in *Policy) DeepCopyInto(out *Policy)

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

func (*Policy) DeepCopyObject

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

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

func (in *Quota) DeepCopy() *Quota

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

func (*Quota) DeepCopyInto

func (in *Quota) DeepCopyInto(out *Quota)

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

func (in *S3User) DeepCopy() *S3User

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

func (*S3User) DeepCopyInto added in v0.9.0

func (in *S3User) DeepCopyInto(out *S3User)

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

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

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳