v1alpha1

package
v2.3.0 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2020 License: Apache-2.0 Imports: 10 Imported by: 4

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the noobaa v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=noobaa.io

Package v1alpha1 contains API Schema definitions for the noobaa v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=noobaa.io

Index

Constants

View Source
const (
	// Finalizer is the name of the noobaa finalizer
	Finalizer = "noobaa.io/finalizer"

	// GracefulFinalizer is the name of the noobaa graceful finalizer
	GracefulFinalizer = "noobaa.io/graceful_finalizer"

	// DeleteOBCConfirmation represents the validation to destry obc
	DeleteOBCConfirmation CleanupConfirmationProperty = "yes-really-destroy-obc"
)
View Source
const ObjectBucketFinalizer = api.Domain + "/finalizer"

ObjectBucketFinalizer is the name of the ObjectBucket finalizer

Variables

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

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

Functions

Types

type AWSS3Spec

type AWSS3Spec struct {

	// TargetBucket is the name of the target S3 bucket
	TargetBucket string `json:"targetBucket"`

	// Secret refers to a secret that provides the credentials
	// The secret should define AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
	Secret corev1.SecretReference `json:"secret"`

	// Region is the AWS region
	// +optional
	Region string `json:"region,omitempty"`

	// SSLDisabled allows to disable SSL and use plain http
	// +optional
	SSLDisabled bool `json:"sslDisabled,omitempty"`
}

AWSS3Spec specifies a backing store of type aws-s3

func (*AWSS3Spec) DeepCopy

func (in *AWSS3Spec) DeepCopy() *AWSS3Spec

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

func (*AWSS3Spec) DeepCopyInto

func (in *AWSS3Spec) DeepCopyInto(out *AWSS3Spec)

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

type AccountsStatus

type AccountsStatus struct {
	Admin UserStatus `json:"admin"`
}

AccountsStatus is the status info of admin account

func (*AccountsStatus) DeepCopy

func (in *AccountsStatus) DeepCopy() *AccountsStatus

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

func (*AccountsStatus) DeepCopyInto

func (in *AccountsStatus) DeepCopyInto(out *AccountsStatus)

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

type AzureBlobSpec

type AzureBlobSpec struct {

	// TargetBlobContainer is the name of the target Azure Blob container
	TargetBlobContainer string `json:"targetBlobContainer"`

	// Secret refers to a secret that provides the credentials
	// The secret should define AccountName and AccountKey as provided by Azure Blob.
	Secret corev1.SecretReference `json:"secret"`
}

AzureBlobSpec specifies a backing store of type azure-blob

func (*AzureBlobSpec) DeepCopy

func (in *AzureBlobSpec) DeepCopy() *AzureBlobSpec

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

func (*AzureBlobSpec) DeepCopyInto

func (in *AzureBlobSpec) DeepCopyInto(out *AzureBlobSpec)

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

type BackingStore

type BackingStore struct {

	// Standard type metadata.
	metav1.TypeMeta `json:",inline"`

	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired behavior of the noobaa BackingStore.
	// +optional
	Spec BackingStoreSpec `json:"spec,omitempty"`

	// Most recently observed status of the noobaa BackingStore.
	// +optional
	Status BackingStoreStatus `json:"status,omitempty"`
}

BackingStore is the Schema for the backingstores API +k8s:openapi-gen=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".spec.type",description="Type" +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase",description="Phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*BackingStore) DeepCopy

func (in *BackingStore) DeepCopy() *BackingStore

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

func (*BackingStore) DeepCopyInto

func (in *BackingStore) DeepCopyInto(out *BackingStore)

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

func (*BackingStore) DeepCopyObject

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

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

type BackingStoreList

type BackingStoreList struct {

	// Standard type metadata.
	metav1.TypeMeta `json:",inline"`

	// Standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is the list of BackingStores.
	Items []BackingStore `json:"items"`
}

BackingStoreList contains a list of BackingStore +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*BackingStoreList) DeepCopy

func (in *BackingStoreList) DeepCopy() *BackingStoreList

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

func (*BackingStoreList) DeepCopyInto

func (in *BackingStoreList) DeepCopyInto(out *BackingStoreList)

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

func (*BackingStoreList) DeepCopyObject

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

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

type BackingStoreMode added in v2.1.0

type BackingStoreMode struct {
	// ModeCode specifies the updated mode of backingstore
	// +optional
	ModeCode string `json:"modeCode,omitempty"`
	// TimeStamp specifies the update time of backingstore new mode
	// +optional
	TimeStamp string `json:"timeStamp,omitempty"`
}

BackingStoreMode defines the updated Mode of BackingStore

func (*BackingStoreMode) DeepCopy added in v2.1.0

func (in *BackingStoreMode) DeepCopy() *BackingStoreMode

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

func (*BackingStoreMode) DeepCopyInto added in v2.1.0

func (in *BackingStoreMode) DeepCopyInto(out *BackingStoreMode)

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

type BackingStoreName

type BackingStoreName = string

BackingStoreName is just a name-reference to a BackingStore

type BackingStorePhase

type BackingStorePhase string

BackingStorePhase is a string enum type for backing store reconcile phases

const (

	// BackingStorePhaseRejected means the spec has been rejected by the operator,
	// this is most likely due to an incompatible configuration.
	// Use describe to see events.
	BackingStorePhaseRejected BackingStorePhase = "Rejected"

	// BackingStorePhaseVerifying means the operator is verifying the spec
	BackingStorePhaseVerifying BackingStorePhase = "Verifying"

	// BackingStorePhaseConnecting means the operator is trying to connect to the system
	BackingStorePhaseConnecting BackingStorePhase = "Connecting"

	// BackingStorePhaseCreating means the operator is creating the resources on the cluster
	BackingStorePhaseCreating BackingStorePhase = "Creating"

	// BackingStorePhaseReady means the noobaa system has been created and ready to serve.
	BackingStorePhaseReady BackingStorePhase = "Ready"

	// BackingStorePhaseDeleting means the operator is deleting the resources on the cluster
	BackingStorePhaseDeleting BackingStorePhase = "Deleting"
)

These are the valid phases:

type BackingStoreSpec

type BackingStoreSpec struct {

	// Type is an enum of supported types
	Type StoreType `json:"type"`

	// AWSS3Spec specifies a backing store of type aws-s3
	// +optional
	AWSS3 *AWSS3Spec `json:"awsS3,omitempty"`

	// S3Compatible specifies a backing store of type s3-compatible
	// +optional
	S3Compatible *S3CompatibleSpec `json:"s3Compatible,omitempty"`

	// IBMCos specifies a backing store of type ibm-cos
	// +optional
	IBMCos *IBMCosSpec `json:"ibmCos,omitempty"`

	// AzureBlob specifies a backing store of type azure-blob
	// +optional
	AzureBlob *AzureBlobSpec `json:"azureBlob,omitempty"`

	// GoogleCloudStorage specifies a backing store of type google-cloud-storage
	// +optional
	GoogleCloudStorage *GoogleCloudStorageSpec `json:"googleCloudStorage,omitempty"`

	// PVPool specifies a backing store of type pv-pool
	// +optional
	PVPool *PVPoolSpec `json:"pvPool,omitempty"`
}

BackingStoreSpec defines the desired state of BackingStore +k8s:openapi-gen=true

func (*BackingStoreSpec) DeepCopy

func (in *BackingStoreSpec) DeepCopy() *BackingStoreSpec

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

func (*BackingStoreSpec) DeepCopyInto

func (in *BackingStoreSpec) DeepCopyInto(out *BackingStoreSpec)

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

type BackingStoreStatus

type BackingStoreStatus struct {

	// Phase is a simple, high-level summary of where the backing store is in its lifecycle
	// +optional
	Phase BackingStorePhase `json:"phase,omitempty"`

	// Conditions is a list of conditions related to operator reconciliation
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +optional
	Conditions []conditionsv1.Condition `json:"conditions,omitempty"  patchStrategy:"merge" patchMergeKey:"type"`

	// RelatedObjects is a list of objects related to this operator.
	// +optional
	RelatedObjects []corev1.ObjectReference `json:"relatedObjects,omitempty"`
	// Mode specifies the updating mode of a BackingStore
	// +optional
	Mode BackingStoreMode `json:"mode,omitempty"`
}

BackingStoreStatus defines the observed state of BackingStore +k8s:openapi-gen=true

func (*BackingStoreStatus) DeepCopy

func (in *BackingStoreStatus) DeepCopy() *BackingStoreStatus

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

func (*BackingStoreStatus) DeepCopyInto

func (in *BackingStoreStatus) DeepCopyInto(out *BackingStoreStatus)

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

type BucketClass

type BucketClass struct {

	// Standard type metadata.
	metav1.TypeMeta `json:",inline"`

	// Standard object metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired behavior of the noobaa BucketClass.
	// +optional
	Spec BucketClassSpec `json:"spec,omitempty"`

	// Most recently observed status of the noobaa BackingStore.
	// +optional
	Status BucketClassStatus `json:"status,omitempty"`
}

BucketClass is the Schema for the bucketclasses API +k8s:openapi-gen=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Placement",type="string",JSONPath=".spec.placementPolicy",description="Placement" +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase",description="Phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*BucketClass) DeepCopy

func (in *BucketClass) DeepCopy() *BucketClass

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

func (*BucketClass) DeepCopyInto

func (in *BucketClass) DeepCopyInto(out *BucketClass)

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

func (*BucketClass) DeepCopyObject

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

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

type BucketClassList

type BucketClassList struct {

	// Standard type metadata.
	metav1.TypeMeta `json:",inline"`

	// Standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is the list of BucketClasses.
	Items []BucketClass `json:"items"`
}

BucketClassList contains a list of BucketClass +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*BucketClassList) DeepCopy

func (in *BucketClassList) DeepCopy() *BucketClassList

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

func (*BucketClassList) DeepCopyInto

func (in *BucketClassList) DeepCopyInto(out *BucketClassList)

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

func (*BucketClassList) DeepCopyObject

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

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

type BucketClassPhase

type BucketClassPhase string

BucketClassPhase is a string enum type for system phases

const (

	// BucketClassPhaseRejected means the spec has been rejected by the operator,
	// this is most likely due to an incompatible configuration.
	// Use describe to see events.
	BucketClassPhaseRejected BucketClassPhase = "Rejected"

	// BucketClassPhaseVerifying means the operator is verifying the spec
	BucketClassPhaseVerifying BucketClassPhase = "Verifying"

	// BucketClassPhaseConfiguring means the operator is configuring the buckets as requested
	BucketClassPhaseConfiguring BucketClassPhase = "Configuring"

	// BucketClassPhaseReady means the noobaa system has been created and ready to serve.
	BucketClassPhaseReady BucketClassPhase = "Ready"

	// BucketClassPhaseDeleting means the operator is deleting the resources on the cluster
	BucketClassPhaseDeleting BucketClassPhase = "Deleting"
)

These are the valid phases:

type BucketClassSpec

type BucketClassSpec struct {

	// PlacementPolicy specifies the placement policy for the bucket class
	PlacementPolicy PlacementPolicy `json:"placementPolicy"`
}

BucketClassSpec defines the desired state of BucketClass +k8s:openapi-gen=true

func (*BucketClassSpec) DeepCopy

func (in *BucketClassSpec) DeepCopy() *BucketClassSpec

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

func (*BucketClassSpec) DeepCopyInto

func (in *BucketClassSpec) DeepCopyInto(out *BucketClassSpec)

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

type BucketClassStatus

type BucketClassStatus struct {
	// Phase is a simple, high-level summary of where the System is in its lifecycle
	// +optional
	Phase BucketClassPhase `json:"phase,omitempty"`

	// Conditions is a list of conditions related to operator reconciliation
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +optional
	Conditions []conditionsv1.Condition `json:"conditions,omitempty"  patchStrategy:"merge" patchMergeKey:"type"`

	// RelatedObjects is a list of objects related to this operator.
	// +optional
	RelatedObjects []corev1.ObjectReference `json:"relatedObjects,omitempty"`
	// Mode is a simple, high-level summary of where the System is in its lifecycle
	// +optional
	Mode string `json:"mode,omitempty"`
}

BucketClassStatus defines the observed state of BucketClass +k8s:openapi-gen=true

func (*BucketClassStatus) DeepCopy

func (in *BucketClassStatus) DeepCopy() *BucketClassStatus

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

func (*BucketClassStatus) DeepCopyInto

func (in *BucketClassStatus) DeepCopyInto(out *BucketClassStatus)

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

type CleanupConfirmationProperty added in v2.3.0

type CleanupConfirmationProperty string

CleanupConfirmationProperty is a string that specifies cleanup confirmation

type CleanupPolicySpec added in v2.3.0

type CleanupPolicySpec struct {
	Confirmation CleanupConfirmationProperty `json:"confirmation,omitempty"`
}

CleanupPolicySpec specifies the cleanup policy

func (*CleanupPolicySpec) DeepCopy added in v2.3.0

func (in *CleanupPolicySpec) DeepCopy() *CleanupPolicySpec

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

func (*CleanupPolicySpec) DeepCopyInto added in v2.3.0

func (in *CleanupPolicySpec) DeepCopyInto(out *CleanupPolicySpec)

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

type ConditionStatus

type ConditionStatus string

ConditionStatus is a simple string type. In addition to the generic True/False/Unknown it also can accept SystemPhase enums

const (
	ConditionTrue    ConditionStatus = "True"
	ConditionFalse   ConditionStatus = "False"
	ConditionUnknown ConditionStatus = "Unknown"
)

These are general valid condition statuses. "ConditionTrue" means a resource is in the condition. "ConditionFalse" means a resource is not in the condition. "ConditionUnknown" means kubernetes can't decide if a resource is in the condition or not. In the future, we could add other intermediate conditions, e.g. ConditionDegraded.

type ConditionType

type ConditionType string

ConditionType is a simple string type. Types should be used from the enum below.

const (
	ConditionTypePhase ConditionType = "Phase"
)

These are the valid conditions types and statuses:

type EndpointsSpec added in v2.1.0

type EndpointsSpec struct {
	// MinCount, the number of endpoint instances (pods)
	// to be used as the lower bound when autoscaling
	MinCount int32 `json:"minCount,omitempty"`

	// MaxCount, the number of endpoint instances (pods)
	// to be used as the upper bound when autoscaling
	MaxCount int32 `json:"maxCount,omitempty"`

	// AdditionalVirtualHosts (optional) provide a list of additional hostnames
	// (on top of the buildin names defined by the cluster: service name, elb name, route name)
	// to be used as virtual hosts by the the endpoints in the endpoint deployment
	// +optional
	AdditionalVirtualHosts []string `json:"additionalVirtualHosts,omitempty"`

	// Resources (optional) overrides the default resource requirements for every endpoint pod
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}

EndpointsSpec defines the desired state of noobaa endpoint deployment +k8s:openapi-gen=true

func (*EndpointsSpec) DeepCopy added in v2.1.0

func (in *EndpointsSpec) DeepCopy() *EndpointsSpec

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

func (*EndpointsSpec) DeepCopyInto added in v2.1.0

func (in *EndpointsSpec) DeepCopyInto(out *EndpointsSpec)

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

type EndpointsStatus added in v2.1.0

type EndpointsStatus struct {
	ReadyCount   int32    `json:"readyCount"`
	VirtualHosts []string `json:"virtualHosts"`
}

EndpointsStatus is the status info for the endpoints deployment

func (*EndpointsStatus) DeepCopy added in v2.1.0

func (in *EndpointsStatus) DeepCopy() *EndpointsStatus

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

func (*EndpointsStatus) DeepCopyInto added in v2.1.0

func (in *EndpointsStatus) DeepCopyInto(out *EndpointsStatus)

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

type GoogleCloudStorageSpec

type GoogleCloudStorageSpec struct {

	// TargetBucket is the name of the target S3 bucket
	TargetBucket string `json:"targetBucket"`

	// Secret refers to a secret that provides the credentials
	// The secret should define GoogleServiceAccountPrivateKeyJson containing the entire json string as provided by Google.
	Secret corev1.SecretReference `json:"secret"`
}

GoogleCloudStorageSpec specifies a backing store of type google-cloud-storage

func (*GoogleCloudStorageSpec) DeepCopy

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

func (*GoogleCloudStorageSpec) DeepCopyInto

func (in *GoogleCloudStorageSpec) DeepCopyInto(out *GoogleCloudStorageSpec)

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

type IBMCosSpec added in v2.1.0

type IBMCosSpec struct {

	// TargetBucket is the name of the target IBM COS bucket
	TargetBucket string `json:"targetBucket"`

	// Secret refers to a secret that provides the credentials
	// The secret should define IBM_COS_ACCESS_KEY_ID and IBM_COS_SECRET_ACCESS_KEY
	Secret corev1.SecretReference `json:"secret"`

	// Endpoint is the IBM COS compatible endpoint: http(s)://host:port
	Endpoint string `json:"endpoint"`

	// SignatureVersion specifies the client signature version to use when signing requests.
	// +optional
	SignatureVersion S3SignatureVersion `json:"signatureVersion,omitempty"`
}

IBMCosSpec specifies a backing store of type ibm-cos

func (*IBMCosSpec) DeepCopy added in v2.1.0

func (in *IBMCosSpec) DeepCopy() *IBMCosSpec

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

func (*IBMCosSpec) DeepCopyInto added in v2.1.0

func (in *IBMCosSpec) DeepCopyInto(out *IBMCosSpec)

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

type NooBaa

type NooBaa struct {

	// Standard type metadata.
	metav1.TypeMeta `json:",inline"`

	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired behavior of the noobaa system.
	// +optional
	Spec NooBaaSpec `json:"spec,omitempty"`

	// Most recently observed status of the noobaa system.
	// +optional
	Status NooBaaStatus `json:"status,omitempty"`
}

NooBaa is the Schema for the NooBaas API +k8s:openapi-gen=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status +kubebuilder:resource:shortName=nb +kubebuilder:printcolumn:name="Mgmt-Endpoints",type="string",JSONPath=".status.services.serviceMgmt.nodePorts",description="Management Endpoints" +kubebuilder:printcolumn:name="S3-Endpoints",type="string",JSONPath=".status.services.serviceS3.nodePorts",description="S3 Endpoints" +kubebuilder:printcolumn:name="Image",type="string",JSONPath=".status.actualImage",description="Actual Image" +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase",description="Phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*NooBaa) DeepCopy

func (in *NooBaa) DeepCopy() *NooBaa

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

func (*NooBaa) DeepCopyInto

func (in *NooBaa) DeepCopyInto(out *NooBaa)

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

func (*NooBaa) DeepCopyObject

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

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

type NooBaaList

type NooBaaList struct {

	// Standard type metadata.
	metav1.TypeMeta `json:",inline"`

	// Standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is the list of Systems.
	Items []NooBaa `json:"items"`
}

NooBaaList contains a list of noobaa systems +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*NooBaaList) DeepCopy

func (in *NooBaaList) DeepCopy() *NooBaaList

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

func (*NooBaaList) DeepCopyInto

func (in *NooBaaList) DeepCopyInto(out *NooBaaList)

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

func (*NooBaaList) DeepCopyObject

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

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

type NooBaaSpec

type NooBaaSpec struct {

	// Image (optional) overrides the default image for the server container
	// +optional
	Image *string `json:"image,omitempty"`

	// DBImage (optional) overrides the default image for the db container
	// +optional
	DBImage *string `json:"dbImage,omitempty"`

	// CoreResources (optional) overrides the default resource requirements for the server container
	// +optional
	CoreResources *corev1.ResourceRequirements `json:"coreResources,omitempty"`

	// DBResources (optional) overrides the default resource requirements for the db container
	// +optional
	DBResources *corev1.ResourceRequirements `json:"dbResources,omitempty"`

	// DBVolumeResources (optional) overrides the default PVC resource requirements for the database volume.
	// For the time being this field is immutable and can only be set on system creation.
	// This is because volume size updates are only supported for increasing the size,
	// and only if the storage class specifies `allowVolumeExpansion: true`,
	// +immutable
	// +optional
	DBVolumeResources *corev1.ResourceRequirements `json:"dbVolumeResources,omitempty"`

	// DBStorageClass (optional) overrides the default cluster StorageClass for the database volume.
	// For the time being this field is immutable and can only be set on system creation.
	// This affects where the system stores its database which contains system config,
	// buckets, objects meta-data and mapping file parts to storage locations.
	// +immutable
	// +optional
	DBStorageClass *string `json:"dbStorageClass,omitempty"`

	// PVPoolDefaultStorageClass (optional) overrides the default cluster StorageClass for the pv-pool volumes.
	// This affects where the system stores data chunks (encrypted).
	// Updates to this field will only affect new pv-pools,
	// but updates to existing pools are not supported by the operator.
	// +optional
	PVPoolDefaultStorageClass *string `json:"pvPoolDefaultStorageClass,omitempty"`

	// Tolerations (optional) passed through to noobaa's pods
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// Affinity (optional) passed through to noobaa's pods
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// ImagePullSecret (optional) sets a pull secret for the system image
	// +optional
	ImagePullSecret *corev1.LocalObjectReference `json:"imagePullSecret,omitempty"`

	// Region (optional) provide a region for the location info
	// of the endpoints in the endpoint deployment
	// +optional
	Region *string `json:"region,omitempty"`

	// Endpoints (optional) sets configuration info for the noobaa endpoint
	// deployment.
	// +optional
	Endpoints *EndpointsSpec `json:"endpoints,omitempty"`

	// JoinSecret (optional) instructs the operator to join another cluster
	// and point to a secret that holds the join information
	// +optional
	JoinSecret *corev1.SecretReference `json:"joinSecret,omitempty"`

	// CleanupPolicy (optional) Indicates user's policy for deletion
	// +optional
	CleanupPolicy CleanupPolicySpec `json:"cleanupPolicy,omitempty"`
}

NooBaaSpec defines the desired state of System +k8s:openapi-gen=true

func (*NooBaaSpec) DeepCopy

func (in *NooBaaSpec) DeepCopy() *NooBaaSpec

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

func (*NooBaaSpec) DeepCopyInto

func (in *NooBaaSpec) DeepCopyInto(out *NooBaaSpec)

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

type NooBaaStatus

type NooBaaStatus struct {

	// ObservedGeneration is the most recent generation observed for this noobaa system.
	// It corresponds to the CR generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Phase is a simple, high-level summary of where the System is in its lifecycle
	// +optional
	Phase SystemPhase `json:"phase,omitempty"`

	// Conditions is a list of conditions related to operator reconciliation
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +optional
	Conditions []conditionsv1.Condition `json:"conditions,omitempty"  patchStrategy:"merge" patchMergeKey:"type"`

	// RelatedObjects is a list of objects related to this operator.
	// +optional
	RelatedObjects []corev1.ObjectReference `json:"relatedObjects,omitempty"`

	// ActualImage is set to report which image the operator is using
	// +optional
	ActualImage string `json:"actualImage,omitempty"`

	// Accounts reports accounts info for the admin account
	// +optional
	Accounts *AccountsStatus `json:"accounts,omitempty"`

	// Services reports addresses for the services
	// +optional
	Services *ServicesStatus `json:"services,omitempty"`

	// Endpoints reports the actual number of endpoints in the endpoint deployment
	// and the virtual hosts list used recognized by the endpoints
	// +optional
	Endpoints *EndpointsStatus `json:"endpoints,omitempty"`

	// Readme is a user readable string with explanations on the system
	// +optional
	Readme string `json:"readme,omitempty"`
}

NooBaaStatus defines the observed state of System +k8s:openapi-gen=true

func (*NooBaaStatus) DeepCopy

func (in *NooBaaStatus) DeepCopy() *NooBaaStatus

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

func (*NooBaaStatus) DeepCopyInto

func (in *NooBaaStatus) DeepCopyInto(out *NooBaaStatus)

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

type ObjectBucket

type ObjectBucket = obv1.ObjectBucket

ObjectBucket is the API type for provisioners of buckets

type ObjectBucketAccessKeys

type ObjectBucketAccessKeys = obv1.AccessKeys

ObjectBucketAccessKeys is the access keys inside ObjectBucketAuthentication

type ObjectBucketAuthentication

type ObjectBucketAuthentication = obv1.Authentication

ObjectBucketAuthentication is the auth credentials info needed for apps to access the bucket

type ObjectBucketClaim

type ObjectBucketClaim = obv1.ObjectBucketClaim

ObjectBucketClaim is the API type for submitting bucket claims

type ObjectBucketClaimList

type ObjectBucketClaimList = obv1.ObjectBucketClaimList

ObjectBucketClaimList is a list of ObjectBucketClaim

type ObjectBucketClaimSpec

type ObjectBucketClaimSpec = obv1.ObjectBucketClaimSpec

ObjectBucketClaimSpec defines the desired state of ObjectBucketClaim

type ObjectBucketConnection

type ObjectBucketConnection = obv1.Connection

ObjectBucketConnection is the internal API type that Provision() should populate

type ObjectBucketEndpoint

type ObjectBucketEndpoint = obv1.Endpoint

ObjectBucketEndpoint is the info needed for apps to access the bucket (besides auth credentials)

type ObjectBucketList

type ObjectBucketList = obv1.ObjectBucketList

ObjectBucketList is a list of ObjectBucket

type ObjectBucketSpec

type ObjectBucketSpec = obv1.ObjectBucketSpec

ObjectBucketSpec defines the desired state of ObjectBucket

type PVPoolSpec

type PVPoolSpec struct {

	// StorageClass is the name of the storage class to use for the PV's
	StorageClass string `json:"storageClass,omitempty"`

	// NumVolumes is the number of volumes to allocate
	NumVolumes int `json:"numVolumes"`

	// VolumeResources represents the minimum resources each volume should have.
	VolumeResources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// Secret refers to a secret that provides the agent configuration
	// The secret should define AGENT_CONFIG containing agent_configuration from noobaa-core.
	// +optional
	Secret corev1.SecretReference `json:"secret"`
}

PVPoolSpec specifies a backing store of type pv-pool

func (*PVPoolSpec) DeepCopy

func (in *PVPoolSpec) DeepCopy() *PVPoolSpec

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

func (*PVPoolSpec) DeepCopyInto

func (in *PVPoolSpec) DeepCopyInto(out *PVPoolSpec)

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

type PlacementPolicy

type PlacementPolicy struct {

	// Tiers is an ordered list of tiers to use.
	// The model is a waterfall - push to first tier by default,
	// and when no more space spill "cold" storage to next tier.
	Tiers []Tier `json:"tiers"`
}

PlacementPolicy specifies the placement policy for the bucket class

func (*PlacementPolicy) DeepCopy

func (in *PlacementPolicy) DeepCopy() *PlacementPolicy

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

func (*PlacementPolicy) DeepCopyInto

func (in *PlacementPolicy) DeepCopyInto(out *PlacementPolicy)

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

type S3CompatibleSpec

type S3CompatibleSpec struct {

	// TargetBucket is the name of the target S3 bucket
	TargetBucket string `json:"targetBucket"`

	// Secret refers to a secret that provides the credentials
	// The secret should define AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
	Secret corev1.SecretReference `json:"secret"`

	// Endpoint is the S3 compatible endpoint: http(s)://host:port
	Endpoint string `json:"endpoint"`

	// SignatureVersion specifies the client signature version to use when signing requests.
	// +optional
	SignatureVersion S3SignatureVersion `json:"signatureVersion,omitempty"`
}

S3CompatibleSpec specifies a backing store of type s3-compatible

func (*S3CompatibleSpec) DeepCopy

func (in *S3CompatibleSpec) DeepCopy() *S3CompatibleSpec

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

func (*S3CompatibleSpec) DeepCopyInto

func (in *S3CompatibleSpec) DeepCopyInto(out *S3CompatibleSpec)

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

type S3SignatureVersion

type S3SignatureVersion string

S3SignatureVersion specifies the client signature version to use when signing requests.

const (
	// S3SignatureVersionV4 is aws v4
	S3SignatureVersionV4 S3SignatureVersion = "v4"
	// S3SignatureVersionV2 is aws v2
	S3SignatureVersionV2 S3SignatureVersion = "v2"
)

type ServiceStatus

type ServiceStatus struct {

	// NodePorts are the most basic network available.
	// NodePorts use the networks available on the hosts of kubernetes nodes.
	// This generally works from within a pod, and from the internal
	// network of the nodes, but may fail from public network.
	// https://kubernetes.io/docs/concepts/services-networking/service/#nodeport
	// +optional
	NodePorts []string `json:"nodePorts,omitempty"`

	// PodPorts are the second most basic network address.
	// Every pod has an IP in the cluster and the pods network is a mesh
	// so the operator running inside a pod in the cluster can use this address.
	// Note: pod IPs are not guaranteed to persist over restarts, so should be rediscovered.
	// Note2: when running the operator outside of the cluster, pod IP is not accessible.
	// +optional
	PodPorts []string `json:"podPorts,omitempty"`

	// InternalIP are internal addresses of the service inside the cluster
	// https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
	// +optional
	InternalIP []string `json:"internalIP,omitempty"`

	// InternalDNS are internal addresses of the service inside the cluster
	// +optional
	InternalDNS []string `json:"internalDNS,omitempty"`

	// ExternalIP are external public addresses for the service
	// LoadBalancerPorts such as AWS ELB provide public address and load balancing for the service
	// IngressPorts are manually created public addresses for the service
	// https://kubernetes.io/docs/concepts/services-networking/service/#external-ips
	// https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer
	// https://kubernetes.io/docs/concepts/services-networking/ingress/
	// +optional
	ExternalIP []string `json:"externalIP,omitempty"`

	// ExternalDNS are external public addresses for the service
	// +optional
	ExternalDNS []string `json:"externalDNS,omitempty"`
}

ServiceStatus is the status info and network addresses of a service

func (*ServiceStatus) DeepCopy

func (in *ServiceStatus) DeepCopy() *ServiceStatus

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

func (*ServiceStatus) DeepCopyInto

func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus)

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

type ServicesStatus

type ServicesStatus struct {
	ServiceMgmt ServiceStatus `json:"serviceMgmt"`
	ServiceS3   ServiceStatus `json:"serviceS3"`
}

ServicesStatus is the status info of the system's services

func (*ServicesStatus) DeepCopy

func (in *ServicesStatus) DeepCopy() *ServicesStatus

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

func (*ServicesStatus) DeepCopyInto

func (in *ServicesStatus) DeepCopyInto(out *ServicesStatus)

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

type StoreType

type StoreType string

StoreType is the backing store type enum

const (
	// StoreTypeAWSS3 is used to connect to AWS S3
	StoreTypeAWSS3 StoreType = "aws-s3"

	// StoreTypeS3Compatible is used to connect to S3 compatible storage
	StoreTypeS3Compatible StoreType = "s3-compatible"

	// StoreTypeIBMCos is used to connect to IBM cos storage
	StoreTypeIBMCos StoreType = "ibm-cos"

	// StoreTypeGoogleCloudStorage is used to connect to Google Cloud Storage
	StoreTypeGoogleCloudStorage StoreType = "google-cloud-storage"

	// StoreTypeAzureBlob is used to connect to Azure Blob
	StoreTypeAzureBlob StoreType = "azure-blob"

	// StoreTypePVPool is used to allocate storage by dynamically allocating PVs (using PVCs)
	StoreTypePVPool StoreType = "pv-pool"
)

type SystemPhase

type SystemPhase string

SystemPhase is a string enum type for system phases

const (

	// SystemPhaseRejected means the spec has been rejected by the operator,
	// this is most likely due to an incompatible configuration.
	// Describe the noobaa system to see events.
	SystemPhaseRejected SystemPhase = "Rejected"

	// SystemPhaseVerifying means the operator is verifying the spec
	SystemPhaseVerifying SystemPhase = "Verifying"

	// SystemPhaseCreating means the operator is creating the resources on the cluster
	SystemPhaseCreating SystemPhase = "Creating"

	// SystemPhaseConnecting means the operator is trying to connect to the pods and services it created
	SystemPhaseConnecting SystemPhase = "Connecting"

	// SystemPhaseConfiguring means the operator is configuring the as requested
	SystemPhaseConfiguring SystemPhase = "Configuring"

	// SystemPhaseReady means the noobaa system has been created and ready to serve.
	SystemPhaseReady SystemPhase = "Ready"
)

These are the valid phases:

type Tier

type Tier struct {

	// Placement specifies the type of placement for the tier
	// If empty it should have a single backing store.
	// +optional
	// +kubebuilder:validation:Enum=Spread;Mirror
	Placement TierPlacement `json:"placement,omitempty"`

	// BackingStores is an unordered list of backing store names.
	// The meaning of the list depends on the placement.
	// +optional
	BackingStores []BackingStoreName `json:"backingStores,omitempty"`
}

Tier specifies a storage tier

func (*Tier) DeepCopy

func (in *Tier) DeepCopy() *Tier

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

func (*Tier) DeepCopyInto

func (in *Tier) DeepCopyInto(out *Tier)

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

type TierPlacement

type TierPlacement string

TierPlacement is a string enum type for tier placement

const (

	// TierPlacementSingle stores the data on a single backing store.
	TierPlacementSingle TierPlacement = ""

	// TierPlacementMirror requires 2 or more backing store.
	// All mirrors should eventually store all the data of the tier.
	// The mirroring model is async so just a single mirror is required before the write can ack.
	// The first mirror is selected according to locality optimizations of the client endpoint.
	// The data is replicated to the rest of the mirrors in the background.
	TierPlacementMirror TierPlacement = "Mirror"

	// TierPlacementSpread requires 2 or more backing store.
	// The data is spread over the backing stores without any specific preference.
	// The spread is a simple aggregate of those backing stores capacity.
	TierPlacementSpread TierPlacement = "Spread"
)

These are the valid placement values:

type UserStatus

type UserStatus struct {
	SecretRef corev1.SecretReference `json:"secretRef"`
}

UserStatus is the status info of a user secret

func (*UserStatus) DeepCopy

func (in *UserStatus) DeepCopy() *UserStatus

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

func (*UserStatus) DeepCopyInto

func (in *UserStatus) DeepCopyInto(out *UserStatus)

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