v1beta1

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2025 License: Apache-2.0 Imports: 16 Imported by: 4

Documentation

Overview

Package v1beta1 contains API Schema definitions for the swift v1beta1 API group +kubebuilder:object:generate=true +groupName=swift.openstack.org

Index

Constants

View Source
const (
	// SwiftRingReadyCondition Status=True condition which indicates if the SwiftRing is configured and operational
	SwiftRingReadyCondition condition.Type = "SwiftRingReady"

	// SwiftStorageReadyCondition Status=True condition which indicates if the SwiftStorage is configured and operational
	SwiftStorageReadyCondition condition.Type = "SwiftStorageReady"

	// SwiftProxyReadyCondition Status=True condition which indicates if the SwiftProxy is configured and operational
	SwiftProxyReadyCondition condition.Type = "SwiftProxyReady"
)

Swift Condition Types used by API objects.

View Source
const (
	//
	// SwiftRingReady condition messages
	//
	// SwiftRingReadyInitMessage
	SwiftRingReadyInitMessage = "SwiftRing not started"

	// SwiftRingReadyErrorMessage
	SwiftRingReadyErrorMessage = "SwiftRing error occured %s"

	//
	// SwiftStorageReady condition messages
	//
	// SwiftStorageReadyInitMessage
	SwiftStorageReadyInitMessage = "SwiftStorage not started"

	// SwiftStorageReadyErrorMessage
	SwiftStorageReadyErrorMessage = "SwiftStorage error occured %s"

	//
	// SwiftProxyReady condition messages
	//
	// SwiftProxyReadyInitMessage
	SwiftProxyReadyInitMessage = "SwiftProxy not started"

	// SwiftProxyReadyErrorMessage
	SwiftProxyReadyErrorMessage = "SwiftProxy error occured %s"
)

Common Messages used by API objects.

View Source
const (
	// Container image fall-back defaults
	ContainerImageAccount   = "quay.io/podified-antelope-centos9/openstack-swift-account:current-podified"
	ContainerImageContainer = "quay.io/podified-antelope-centos9/openstack-swift-container:current-podified"
	ContainerImageObject    = "quay.io/podified-antelope-centos9/openstack-swift-object:current-podified"
	ContainerImageProxy     = "quay.io/podified-antelope-centos9/openstack-swift-proxy-server:current-podified"
)
View Source
const (
	RingCreateHash = "ringcreate"
	DeviceListHash = "devicelist"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "swift.openstack.org", Version: "v1beta1"}

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

func SetupDefaults

func SetupDefaults()

SetupDefaults - initializes any CRD field defaults based on environment variables (the defaulting mechanism itself is implemented via webhooks)

func SetupSwiftDefaults

func SetupSwiftDefaults(defaults SwiftDefaults)

Types

type PasswordSelector

type PasswordSelector struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="SwiftPassword"
	// Service - Selector to get the Swift service password from the Secret
	Service string `json:"service"`
}

PasswordSelector to identify the AdminUser password from the Secret

func (*PasswordSelector) DeepCopy

func (in *PasswordSelector) DeepCopy() *PasswordSelector

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

func (*PasswordSelector) DeepCopyInto

func (in *PasswordSelector) DeepCopyInto(out *PasswordSelector)

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

type ProxyOverrideSpec added in v0.2.0

type ProxyOverrideSpec struct {
	// Override configuration for the Service created to serve traffic to the cluster.
	// The key must be the endpoint type (public, internal)
	Service map[service.Endpoint]service.RoutedOverrideSpec `json:"service,omitempty"`
}

ProxyOverrideSpec to override the generated manifest of several child resources.

func (*ProxyOverrideSpec) DeepCopy added in v0.2.0

func (in *ProxyOverrideSpec) DeepCopy() *ProxyOverrideSpec

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

func (*ProxyOverrideSpec) DeepCopyInto added in v0.2.0

func (in *ProxyOverrideSpec) DeepCopyInto(out *ProxyOverrideSpec)

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

type Swift

type Swift struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SwiftSpec   `json:"spec,omitempty"`
	Status SwiftStatus `json:"status,omitempty"`
}

Swift is the Schema for the swifts API

func (*Swift) DeepCopy

func (in *Swift) DeepCopy() *Swift

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

func (*Swift) DeepCopyInto

func (in *Swift) DeepCopyInto(out *Swift)

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

func (*Swift) DeepCopyObject

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

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

func (*Swift) Default

func (r *Swift) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (Swift) IsReady

func (instance Swift) IsReady() bool

IsReady - returns true if Swift is reconciled successfully

func (Swift) RbacConditionsSet

func (instance Swift) RbacConditionsSet(c *condition.Condition)

RbacConditionsSet - set the conditions for the rbac object

func (Swift) RbacNamespace

func (instance Swift) RbacNamespace() string

RbacNamespace - return the namespace

func (Swift) RbacResourceName

func (instance Swift) RbacResourceName() string

RbacResourceName - return the name to be used for rbac objects (serviceaccount, role, rolebinding)

func (*Swift) SetupWebhookWithManager

func (r *Swift) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Swift) ValidateCreate

func (r *Swift) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Swift) ValidateDelete

func (r *Swift) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Swift) ValidateUpdate

func (r *Swift) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type SwiftDefaults

type SwiftDefaults struct {
	AccountContainerImageURL   string
	ContainerContainerImageURL string
	ObjectContainerImageURL    string
	ProxyContainerImageURL     string
}

SwiftDefaults -

func (*SwiftDefaults) DeepCopy

func (in *SwiftDefaults) DeepCopy() *SwiftDefaults

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

func (*SwiftDefaults) DeepCopyInto

func (in *SwiftDefaults) DeepCopyInto(out *SwiftDefaults)

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

type SwiftDisk added in v0.4.0

type SwiftDisk struct {
	Device string `json:"device"`
	Path   string `json:"path"`
	Weight int32  `json:"weight"`
	Region int32  `json:"region"`
	Zone   int32  `json:"zone"`
}

func (*SwiftDisk) DeepCopy added in v0.4.0

func (in *SwiftDisk) DeepCopy() *SwiftDisk

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

func (*SwiftDisk) DeepCopyInto added in v0.4.0

func (in *SwiftDisk) DeepCopyInto(out *SwiftDisk)

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

type SwiftList

type SwiftList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Swift `json:"items"`
}

SwiftList contains a list of Swift

func (*SwiftList) DeepCopy

func (in *SwiftList) DeepCopy() *SwiftList

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

func (*SwiftList) DeepCopyInto

func (in *SwiftList) DeepCopyInto(out *SwiftList)

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

func (*SwiftList) DeepCopyObject

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

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

type SwiftProxy

type SwiftProxy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SwiftProxySpec   `json:"spec,omitempty"`
	Status SwiftProxyStatus `json:"status,omitempty"`
}

SwiftProxy is the Schema for the swiftproxies API

func (*SwiftProxy) DeepCopy

func (in *SwiftProxy) DeepCopy() *SwiftProxy

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

func (*SwiftProxy) DeepCopyInto

func (in *SwiftProxy) DeepCopyInto(out *SwiftProxy)

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

func (*SwiftProxy) DeepCopyObject

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

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

func (*SwiftProxy) GetLastAppliedTopology added in v0.6.0

func (instance *SwiftProxy) GetLastAppliedTopology() *topologyv1.TopoRef

GetLastAppliedTopology - Returns the LastAppliedTopology Set in the Status

func (*SwiftProxy) GetSpecTopologyRef added in v0.6.0

func (instance *SwiftProxy) GetSpecTopologyRef() *topologyv1.TopoRef

GetSpecTopologyRef - Returns the LastAppliedTopology Set in the Status

func (*SwiftProxy) SetLastAppliedTopology added in v0.6.0

func (instance *SwiftProxy) SetLastAppliedTopology(topologyRef *topologyv1.TopoRef)

SetLastAppliedTopology - Sets the LastAppliedTopology value in the Status

type SwiftProxyList

type SwiftProxyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SwiftProxy `json:"items"`
}

SwiftProxyList contains a list of SwiftProxy

func (*SwiftProxyList) DeepCopy

func (in *SwiftProxyList) DeepCopy() *SwiftProxyList

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

func (*SwiftProxyList) DeepCopyInto

func (in *SwiftProxyList) DeepCopyInto(out *SwiftProxyList)

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

func (*SwiftProxyList) DeepCopyObject

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

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

type SwiftProxySpec

type SwiftProxySpec struct {
	SwiftProxySpecCore `json:",inline"`

	// +kubebuilder:validation:Required
	// Swift Proxy Container Image URL
	ContainerImageProxy string `json:"containerImageProxy"`
}

SwiftProxySpec defines the desired state of SwiftProxy

func (*SwiftProxySpec) DeepCopy

func (in *SwiftProxySpec) DeepCopy() *SwiftProxySpec

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

func (*SwiftProxySpec) DeepCopyInto

func (in *SwiftProxySpec) DeepCopyInto(out *SwiftProxySpec)

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

type SwiftProxySpecCore added in v0.4.0

type SwiftProxySpecCore struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=0
	// Replicas of Swift Proxy
	Replicas *int32 `json:"replicas"`

	// +kubebuilder:default=swift
	// ServiceUser - optional username used for this service to register in Swift
	ServiceUser string `json:"serviceUser"`

	// +kubebuilder:validation:Required
	// +kubebuilder:default=osp-secret
	// Secret containing OpenStack password information for Swift service user password
	Secret string `json:"secret"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default={service: SwiftPassword}
	// PasswordSelector - Selector to choose the Swift user password from the Secret
	PasswordSelectors PasswordSelector `json:"passwordSelectors"`

	// +kubebuilder:validation:Optional
	// Override, provides the ability to override the generated manifest of several child resources.
	Override ProxyOverrideSpec `json:"override,omitempty"`

	// +kubebuilder:validation:Optional
	// NetworkAttachments is a list of NetworkAttachment resource names to expose the services to the given network
	NetworkAttachments []string `json:"networkAttachments,omitempty"`

	// +kubebuilder:validation:Required
	// +kubebuilder:default=memcached
	// Memcached instance name.
	MemcachedInstance string `json:"memcachedInstance"`

	// +kubebuilder:validation:Required
	// +kubebuilder:default=rabbitmq
	// RabbitMQ instance name to request a transportURL for Ceilometer middleware
	RabbitMqClusterName string `json:"rabbitMqClusterName"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// TLS - Parameters related to the TLS
	TLS tls.API `json:"tls,omitempty"`

	// DefaultConfigOverwrite - can be used to add additionalfiles. Those get
	// added to the service config dir in /etc/<servicename>-conf.d
	DefaultConfigOverwrite map[string]string `json:"defaultConfigOverwrite,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Encrypts new objects at rest
	EncryptionEnabled bool `json:"encryptionEnabled"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Enables ceilometer in the swift proxy and creates required resources
	CeilometerEnabled bool `json:"ceilometerEnabled"`

	// +kubebuilder:validation:Optional
	// NodeSelector to target subset of worker nodes running this service
	NodeSelector *map[string]string `json:"nodeSelector,omitempty"`

	// +kubebuilder:validation:Optional
	// TopologyRef to apply the Topology defined by the associated CR referenced
	// by name
	TopologyRef *topologyv1.TopoRef `json:"topologyRef,omitempty"`
}

SwiftProxySpecCore -

func (*SwiftProxySpecCore) DeepCopy added in v0.4.0

func (in *SwiftProxySpecCore) DeepCopy() *SwiftProxySpecCore

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

func (*SwiftProxySpecCore) DeepCopyInto added in v0.4.0

func (in *SwiftProxySpecCore) DeepCopyInto(out *SwiftProxySpecCore)

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

type SwiftProxyStatus

type SwiftProxyStatus struct {
	// ReadyCount of SwiftProxy instances
	ReadyCount int32 `json:"readyCount,omitempty"`

	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

	// NetworkAttachments status of the deployment pods
	NetworkAttachments map[string][]string `json:"networkAttachments,omitempty"`

	// Map of hashes to track e.g. job status
	Hash map[string]string `json:"hash,omitempty"`

	// TransportURLSecret - Secret containing RabbitMQ transportURL
	TransportURLSecret string `json:"transportURLSecret,omitempty"`

	// ObservedGeneration - the most recent generation observed for this
	// service. If the observed generation is less than the spec generation,
	// then the controller has not processed the latest changes injected by
	// the openstack-operator in the top-level CR (e.g. the ContainerImage)
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// LastAppliedTopology - the last applied Topology
	LastAppliedTopology *topologyv1.TopoRef `json:"lastAppliedTopology,omitempty"`
}

SwiftProxyStatus defines the observed state of SwiftProxy

func (*SwiftProxyStatus) DeepCopy

func (in *SwiftProxyStatus) DeepCopy() *SwiftProxyStatus

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

func (*SwiftProxyStatus) DeepCopyInto

func (in *SwiftProxyStatus) DeepCopyInto(out *SwiftProxyStatus)

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

type SwiftRing

type SwiftRing struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SwiftRingSpec   `json:"spec,omitempty"`
	Status SwiftRingStatus `json:"status,omitempty"`
}

SwiftRing is the Schema for the swiftrings API

func (*SwiftRing) DeepCopy

func (in *SwiftRing) DeepCopy() *SwiftRing

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

func (*SwiftRing) DeepCopyInto

func (in *SwiftRing) DeepCopyInto(out *SwiftRing)

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

func (*SwiftRing) DeepCopyObject

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

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

type SwiftRingList

type SwiftRingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SwiftRing `json:"items"`
}

SwiftRingList contains a list of SwiftRing

func (*SwiftRingList) DeepCopy

func (in *SwiftRingList) DeepCopy() *SwiftRingList

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

func (*SwiftRingList) DeepCopyInto

func (in *SwiftRingList) DeepCopyInto(out *SwiftRingList)

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

func (*SwiftRingList) DeepCopyObject

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

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

type SwiftRingSpec

type SwiftRingSpec struct {
	SwiftRingSpecCore `json:",inline"`

	// +kubebuilder:validation:Required
	// Image URL for Swift proxy service
	ContainerImage string `json:"containerImage"`
}

SwiftRingSpec defines the desired state of SwiftRing

func (*SwiftRingSpec) DeepCopy

func (in *SwiftRingSpec) DeepCopy() *SwiftRingSpec

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

func (*SwiftRingSpec) DeepCopyInto

func (in *SwiftRingSpec) DeepCopyInto(out *SwiftRingSpec)

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

type SwiftRingSpecCore added in v0.4.0

type SwiftRingSpecCore struct {

	// +kubebuilder:validation:Required
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=1
	// Number of Swift data replicas (=copies)
	RingReplicas *int64 `json:"ringReplicas"`

	// +kubebuilder:validation:Required
	// +kubebuilder:default=10
	// +kubebuilder:validation:Minimum=1
	// Partition power of the Swift rings
	PartPower *int64 `json:"partPower"`

	// +kubebuilder:validation:Required
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=1
	// Minimum number of hours to restrict moving a partition more than once
	MinPartHours *int64 `json:"minPartHours"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// TLS - Parameters related to the TLS
	TLS tls.Ca `json:"tls,omitempty"`

	// +kubebuilder:validation:Optional
	// NodeSelector to target subset of worker nodes running this service
	NodeSelector *map[string]string `json:"nodeSelector,omitempty"`
}

SwiftRingSpec defines the desired state of SwiftRing

func (*SwiftRingSpecCore) DeepCopy added in v0.4.0

func (in *SwiftRingSpecCore) DeepCopy() *SwiftRingSpecCore

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

func (*SwiftRingSpecCore) DeepCopyInto added in v0.4.0

func (in *SwiftRingSpecCore) DeepCopyInto(out *SwiftRingSpecCore)

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

type SwiftRingStatus

type SwiftRingStatus struct {
	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

	// Map of hashes to track e.g. job status
	Hash map[string]string `json:"hash,omitempty"`

	// ObservedGeneration - the most recent generation observed for this
	// service. If the observed generation is less than the spec generation,
	// then the controller has not processed the latest changes injected by
	// the openstack-operator in the top-level CR (e.g. the ContainerImage)
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

SwiftRingStatus defines the observed state of SwiftRing

func (*SwiftRingStatus) DeepCopy

func (in *SwiftRingStatus) DeepCopy() *SwiftRingStatus

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

func (*SwiftRingStatus) DeepCopyInto

func (in *SwiftRingStatus) DeepCopyInto(out *SwiftRingStatus)

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

type SwiftSpec

type SwiftSpec struct {
	SwiftSpecBase `json:",inline"`

	// +kubebuilder:validation:Required
	// SwiftRing - Spec definition for the Ring service of this Swift deployment
	SwiftRing SwiftRingSpec `json:"swiftRing"`

	// +kubebuilder:validation:Required
	// SwiftStorage - Spec definition for the Storage service of this Swift deployment
	SwiftStorage SwiftStorageSpec `json:"swiftStorage"`

	// +kubebuilder:validation:Required
	// SwiftProxy - Spec definition for the Proxy service of this Swift deployment
	SwiftProxy SwiftProxySpec `json:"swiftProxy"`
}

SwiftSpec defines the desired state of Swift

func (*SwiftSpec) DeepCopy

func (in *SwiftSpec) DeepCopy() *SwiftSpec

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

func (*SwiftSpec) DeepCopyInto

func (in *SwiftSpec) DeepCopyInto(out *SwiftSpec)

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

func (*SwiftSpec) Default

func (spec *SwiftSpec) Default()

Default - set defaults for this Swift spec

func (*SwiftSpec) ValidateCreate added in v0.4.0

func (r *SwiftSpec) ValidateCreate(basePath *field.Path, namespace string) field.ErrorList

ValidateCreate - Exported function wrapping non-exported validate functions, this function can be called externally to validate an swift spec.

func (*SwiftSpec) ValidateSwiftTopology added in v0.6.0

func (spec *SwiftSpec) ValidateSwiftTopology(basePath *field.Path, namespace string) field.ErrorList

ValidateSwiftTopology - Returns an ErrorList if the Topology is referenced on a different namespace

func (*SwiftSpec) ValidateUpdate added in v0.4.0

func (r *SwiftSpec) ValidateUpdate(old SwiftSpec, basePath *field.Path, namespace string) field.ErrorList

ValidateUpdate - Exported function wrapping non-exported validate functions, this function can be called externally to validate an swift spec.

type SwiftSpecBase added in v0.4.0

type SwiftSpecBase struct {

	// Storage class. This is passed to SwiftStorage unless
	// storageClass is explicitly set for the SwiftStorage.
	// +kubebuilder:validation:Required
	// +kubebuilder:default=""
	StorageClass string `json:"storageClass"`

	// +kubebuilder:validation:Optional
	// NetworkAttachments is a list of NetworkAttachment resource names to expose the services to the given network
	NetworkAttachments []string `json:"networkAttachments,omitempty"`

	// +kubebuilder:validation:Required
	// +kubebuilder:default=memcached
	// Memcached instance name.
	MemcachedInstance string `json:"memcachedInstance"`

	// +kubebuilder:validation:Optional
	// NodeSelector to target subset of worker nodes running this service
	NodeSelector *map[string]string `json:"nodeSelector,omitempty"`

	// +kubebuilder:validation:Optional
	// TopologyRef to apply the Topology defined by the associated CR referenced
	// by name
	TopologyRef *topologyv1.TopoRef `json:"topologyRef,omitempty"`
}

SwiftSpecBase -

func (*SwiftSpecBase) DeepCopy added in v0.4.0

func (in *SwiftSpecBase) DeepCopy() *SwiftSpecBase

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

func (*SwiftSpecBase) DeepCopyInto added in v0.4.0

func (in *SwiftSpecBase) DeepCopyInto(out *SwiftSpecBase)

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

type SwiftSpecCore added in v0.4.0

type SwiftSpecCore struct {
	SwiftSpecBase `json:",inline"`

	// +kubebuilder:validation:Required
	// SwiftRing - Spec definition for the Ring service of this Swift deployment
	SwiftRing SwiftRingSpecCore `json:"swiftRing"`

	// +kubebuilder:validation:Required
	// SwiftStorage - Spec definition for the Storage service of this Swift deployment
	SwiftStorage SwiftStorageSpecCore `json:"swiftStorage"`

	// +kubebuilder:validation:Required
	// SwiftProxy - Spec definition for the Proxy service of this Swift deployment
	SwiftProxy SwiftProxySpecCore `json:"swiftProxy"`
}

SwiftSpecCore defines the desired state of Swift (this version is used by OpenStackControlplane)

func (*SwiftSpecCore) DeepCopy added in v0.4.0

func (in *SwiftSpecCore) DeepCopy() *SwiftSpecCore

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

func (*SwiftSpecCore) DeepCopyInto added in v0.4.0

func (in *SwiftSpecCore) DeepCopyInto(out *SwiftSpecCore)

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

func (*SwiftSpecCore) Default added in v0.4.0

func (spec *SwiftSpecCore) Default()

Default - set defaults for this Swift core spec (this version is used by OpenStackControlplane webhooks)

func (*SwiftSpecCore) ValidateCreate added in v0.4.0

func (r *SwiftSpecCore) ValidateCreate(basePath *field.Path, namespace string) field.ErrorList

func (*SwiftSpecCore) ValidateSwiftTopology added in v0.6.0

func (spec *SwiftSpecCore) ValidateSwiftTopology(basePath *field.Path, namespace string) field.ErrorList

ValidateSwiftTopology - Returns an ErrorList if the Topology is referenced on a different namespace

func (*SwiftSpecCore) ValidateUpdate added in v0.4.0

func (r *SwiftSpecCore) ValidateUpdate(old SwiftSpecCore, basePath *field.Path, namespace string) field.ErrorList

type SwiftStatus

type SwiftStatus struct {
	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

	// ObservedGeneration - the most recent generation observed for this
	// service. If the observed generation is less than the spec generation,
	// then the controller has not processed the latest changes injected by
	// the openstack-operator in the top-level CR (e.g. the ContainerImage)
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

SwiftStatus defines the observed state of Swift

func (*SwiftStatus) DeepCopy

func (in *SwiftStatus) DeepCopy() *SwiftStatus

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

func (*SwiftStatus) DeepCopyInto

func (in *SwiftStatus) DeepCopyInto(out *SwiftStatus)

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

type SwiftStorage

type SwiftStorage struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SwiftStorageSpec   `json:"spec,omitempty"`
	Status SwiftStorageStatus `json:"status,omitempty"`
}

SwiftStorage is the Schema for the swiftstorages API

func (*SwiftStorage) DeepCopy

func (in *SwiftStorage) DeepCopy() *SwiftStorage

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

func (*SwiftStorage) DeepCopyInto

func (in *SwiftStorage) DeepCopyInto(out *SwiftStorage)

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

func (*SwiftStorage) DeepCopyObject

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

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

func (*SwiftStorage) GetLastAppliedTopology added in v0.6.0

func (instance *SwiftStorage) GetLastAppliedTopology() *topologyv1.TopoRef

GetLastAppliedTopology - Returns the LastAppliedTopology Set in the Status

func (*SwiftStorage) GetSpecTopologyRef added in v0.6.0

func (instance *SwiftStorage) GetSpecTopologyRef() *topologyv1.TopoRef

GetSpecTopologyRef - Returns the LastAppliedTopology Set in the Status

func (*SwiftStorage) SetLastAppliedTopology added in v0.6.0

func (instance *SwiftStorage) SetLastAppliedTopology(topologyRef *topologyv1.TopoRef)

SetLastAppliedTopology - Sets the LastAppliedTopology value in the Status

type SwiftStorageList

type SwiftStorageList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SwiftStorage `json:"items"`
}

SwiftStorageList contains a list of SwiftStorage

func (*SwiftStorageList) DeepCopy

func (in *SwiftStorageList) DeepCopy() *SwiftStorageList

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

func (*SwiftStorageList) DeepCopyInto

func (in *SwiftStorageList) DeepCopyInto(out *SwiftStorageList)

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

func (*SwiftStorageList) DeepCopyObject

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

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

type SwiftStorageSpec

type SwiftStorageSpec struct {
	SwiftStorageSpecCore `json:",inline"`

	// +kubebuilder:validation:Required
	// Image URL for Swift account service
	ContainerImageAccount string `json:"containerImageAccount"`

	// +kubebuilder:validation:Required
	// Image URL for Swift container service
	ContainerImageContainer string `json:"containerImageContainer"`

	// +kubebuilder:validation:Required
	// Image URL for Swift object service
	ContainerImageObject string `json:"containerImageObject"`

	// +kubebuilder:validation:Required
	// Image URL for Swift proxy service
	ContainerImageProxy string `json:"containerImageProxy"`
}

SwiftStorageSpec defines the desired state of SwiftStorage

func (*SwiftStorageSpec) DeepCopy

func (in *SwiftStorageSpec) DeepCopy() *SwiftStorageSpec

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

func (*SwiftStorageSpec) DeepCopyInto

func (in *SwiftStorageSpec) DeepCopyInto(out *SwiftStorageSpec)

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

type SwiftStorageSpecCore added in v0.4.0

type SwiftStorageSpecCore struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=0
	Replicas *int32 `json:"replicas"`

	// +kubebuilder:validation:Required
	// Name of StorageClass to use for Swift PVs
	// +kubebuilder:default=""
	StorageClass string `json:"storageClass"`

	// +kubebuilder:validation:Required
	// +kubebuilder:default="10Gi"
	// Minimum size for Swift PVs
	StorageRequest string `json:"storageRequest"`

	// +kubebuilder:validation:Optional
	// NetworkAttachments is a list of NetworkAttachment resource names to expose the services to the given network
	NetworkAttachments []string `json:"networkAttachments,omitempty"`

	// +kubebuilder:validation:Required
	// +kubebuilder:default=memcached
	// Memcached instance name.
	MemcachedInstance string `json:"memcachedInstance"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// If the container sharder daemon is enabled.
	ContainerSharderEnabled bool `json:"containerSharderEnabled"`

	// DefaultConfigOverwrite - can be used to add additionalfiles. Those get
	// added to the service config dir in /etc/<servicename>-conf.d
	DefaultConfigOverwrite map[string]string `json:"defaultConfigOverwrite,omitempty"`

	// +kubebuilder:validation:Optional
	// NodeSelector to target subset of worker nodes running this service
	NodeSelector *map[string]string `json:"nodeSelector,omitempty"`

	// +kubebuilder:validation:Optional
	// TopologyRef to apply the Topology defined by the associated CR referenced
	// by name
	TopologyRef *topologyv1.TopoRef `json:"topologyRef,omitempty"`
}

SwiftStorageSpecCore -

func (*SwiftStorageSpecCore) DeepCopy added in v0.4.0

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

func (*SwiftStorageSpecCore) DeepCopyInto added in v0.4.0

func (in *SwiftStorageSpecCore) DeepCopyInto(out *SwiftStorageSpecCore)

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

type SwiftStorageStatus

type SwiftStorageStatus struct {
	// ReadyCount of SwiftStorage instances
	ReadyCount int32 `json:"readyCount,omitempty"`

	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

	// NetworkAttachments status of the deployment pods
	NetworkAttachments map[string][]string `json:"networkAttachments,omitempty"`

	// Map of hashes to track e.g. job status
	Hash map[string]string `json:"hash,omitempty"`

	// ObservedGeneration - the most recent generation observed for this
	// service. If the observed generation is less than the spec generation,
	// then the controller has not processed the latest changes injected by
	// the openstack-operator in the top-level CR (e.g. the ContainerImage)
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// LastAppliedTopology - the last applied Topology
	LastAppliedTopology *topologyv1.TopoRef `json:"lastAppliedTopology,omitempty"`
}

SwiftStorageStatus defines the observed state of SwiftStorage

func (*SwiftStorageStatus) DeepCopy

func (in *SwiftStorageStatus) DeepCopy() *SwiftStorageStatus

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

func (*SwiftStorageStatus) DeepCopyInto

func (in *SwiftStorageStatus) DeepCopyInto(out *SwiftStorageStatus)

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