Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the watcher v1beta1 API group +kubebuilder:object:generate=true +groupName=watcher.openstack.org
Index ¶
- Constants
- Variables
- func SetupDefaults()
- func SetupWatcherDefaults(defaults WatcherDefaults)
- type APIOverrideSpec
- type AuthSpec
- type PasswordSelector
- type Watcher
- func (in *Watcher) DeepCopy() *Watcher
- func (in *Watcher) DeepCopyInto(out *Watcher)
- func (in *Watcher) DeepCopyObject() runtime.Object
- func (r *Watcher) Default()
- func (instance *Watcher) IsReady() bool
- func (instance Watcher) RbacConditionsSet(c *condition.Condition)
- func (instance Watcher) RbacNamespace() string
- func (instance Watcher) RbacResourceName() string
- func (r *Watcher) ValidateCreate() (admission.Warnings, error)
- func (r *Watcher) ValidateDelete() (admission.Warnings, error)
- func (r *Watcher) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type WatcherAPI
- func (in *WatcherAPI) DeepCopy() *WatcherAPI
- func (in *WatcherAPI) DeepCopyInto(out *WatcherAPI)
- func (in *WatcherAPI) DeepCopyObject() runtime.Object
- func (r *WatcherAPI) Default()
- func (instance *WatcherAPI) GetLastAppliedTopology() *topologyv1.TopoRef
- func (instance *WatcherAPI) GetSpecTopologyRef() *topologyv1.TopoRef
- func (instance *WatcherAPI) IsReady() bool
- func (instance *WatcherAPI) SetLastAppliedTopology(topologyRef *topologyv1.TopoRef)
- func (r *WatcherAPI) ValidateCreate() (admission.Warnings, error)
- func (r *WatcherAPI) ValidateDelete() (admission.Warnings, error)
- func (r *WatcherAPI) ValidateUpdate(runtime.Object) (admission.Warnings, error)
- type WatcherAPIList
- type WatcherAPISpec
- type WatcherAPIStatus
- type WatcherAPITemplate
- type WatcherApplier
- func (in *WatcherApplier) DeepCopy() *WatcherApplier
- func (in *WatcherApplier) DeepCopyInto(out *WatcherApplier)
- func (in *WatcherApplier) DeepCopyObject() runtime.Object
- func (r *WatcherApplier) Default()
- func (instance *WatcherApplier) GetLastAppliedTopology() *topologyv1.TopoRef
- func (instance *WatcherApplier) GetSpecTopologyRef() *topologyv1.TopoRef
- func (instance *WatcherApplier) IsReady() bool
- func (instance *WatcherApplier) SetLastAppliedTopology(topologyRef *topologyv1.TopoRef)
- func (r *WatcherApplier) ValidateCreate() (admission.Warnings, error)
- func (r *WatcherApplier) ValidateDelete() (admission.Warnings, error)
- func (r *WatcherApplier) ValidateUpdate(runtime.Object) (admission.Warnings, error)
- type WatcherApplierList
- type WatcherApplierSpec
- type WatcherApplierStatus
- type WatcherApplierTemplate
- type WatcherCommon
- type WatcherDBPurge
- type WatcherDecisionEngine
- func (in *WatcherDecisionEngine) DeepCopy() *WatcherDecisionEngine
- func (in *WatcherDecisionEngine) DeepCopyInto(out *WatcherDecisionEngine)
- func (in *WatcherDecisionEngine) DeepCopyObject() runtime.Object
- func (r *WatcherDecisionEngine) Default()
- func (instance *WatcherDecisionEngine) GetLastAppliedTopology() *topologyv1.TopoRef
- func (instance *WatcherDecisionEngine) GetSpecTopologyRef() *topologyv1.TopoRef
- func (instance *WatcherDecisionEngine) IsReady() bool
- func (instance *WatcherDecisionEngine) SetLastAppliedTopology(topologyRef *topologyv1.TopoRef)
- func (r *WatcherDecisionEngine) ValidateCreate() (admission.Warnings, error)
- func (r *WatcherDecisionEngine) ValidateDelete() (admission.Warnings, error)
- func (r *WatcherDecisionEngine) ValidateUpdate(runtime.Object) (admission.Warnings, error)
- type WatcherDecisionEngineList
- type WatcherDecisionEngineSpec
- type WatcherDecisionEngineStatus
- type WatcherDecisionEngineTemplate
- type WatcherDefaults
- type WatcherImages
- type WatcherList
- type WatcherSpec
- func (in *WatcherSpec) DeepCopy() *WatcherSpec
- func (in *WatcherSpec) DeepCopyInto(out *WatcherSpec)
- func (spec *WatcherSpec) Default()
- func (spec *WatcherSpec) ValidateCreate(basePath *field.Path, namespace string) ([]string, field.ErrorList)
- func (spec *WatcherSpec) ValidateUpdate(old WatcherSpec, basePath *field.Path, namespace string) ([]string, field.ErrorList)
- type WatcherSpecCore
- func (in *WatcherSpecCore) DeepCopy() *WatcherSpecCore
- func (in *WatcherSpecCore) DeepCopyInto(out *WatcherSpecCore)
- func (spec *WatcherSpecCore) Default()
- func (spec *WatcherSpecCore) SetDefaultRouteAnnotations(annotations map[string]string)
- func (spec *WatcherSpecCore) ValidateCreate(basePath *field.Path, namespace string) ([]string, field.ErrorList)
- func (spec *WatcherSpecCore) ValidateUpdate(old WatcherSpecCore, basePath *field.Path, namespace string) ([]string, field.ErrorList)
- func (spec *WatcherSpecCore) ValidateWatcherTopology(basePath *field.Path, namespace string) field.ErrorList
- type WatcherStatus
- type WatcherSubCrsCommon
- type WatcherSubCrsTemplate
Constants ¶
const ( WatcherAPIContainerImage = "quay.io/podified-master-centos9/openstack-watcher-api:current-podified" WatcherDecisionEngineContainerImage = "quay.io/podified-master-centos9/openstack-watcher-decision-engine:current-podified" WatcherApplierContainerImage = "quay.io/podified-master-centos9/openstack-watcher-applier:current-podified" APITimeoutDefault = 60 )
Container image fall-back defaults
const ( // WatcherRabbitMQTransportURLReadyCondition - WatcherRabbitMQTransportURLReadyCondition condition.Type = "WatcherRabbitMQTransportURLReady" // WatcherNotificationTransportURLReadyCondition indicates whether the Watcher notification transport URL is ready WatcherNotificationTransportURLReadyCondition condition.Type = "WatcherNotificationTransportURLReady" // WatcherAPIReadyCondition - WatcherAPIReadyCondition condition.Type = "WatcherAPIReady" // WatcherApplierReadyCondition - WatcherApplierReadyCondition condition.Type = "WatcherApplierReady" // WatcherDecisionEngineReadyCondition - WatcherDecisionEngineReadyCondition condition.Type = "WatcherDecisionEngineReady" )
const ( // WatcherRabbitMQTransportURLReadyRunningMessage - WatcherRabbitMQTransportURLReadyRunningMessage = "WatcherRabbitMQTransportURL creation in progress" // WatcherRabbitMQTransportURLReadyMessage - WatcherRabbitMQTransportURLReadyMessage = "WatcherRabbitMQTransportURL successfully created" // WatcherRabbitMQTransportURLReadyErrorMessage - WatcherRabbitMQTransportURLReadyErrorMessage = "WatcherRabbitMQTransportURL error occured %s" // WatcherNotificationTransportURLReadyRunningMessage - WatcherNotificationTransportURLReadyRunningMessage = "WatcherNotificationTransportURL creation in progress" // WatcherNotificationTransportURLReadyMessage - WatcherNotificationTransportURLReadyMessage = "WatcherNotificationTransportURL successfully created" // WatcherNotificationTransportURLReadyErrorMessage - WatcherNotificationTransportURLReadyErrorMessage = "WatcherNotificationTransportURL error occured %s" // WatcherAPIReadyInitMessage - WatcherAPIReadyInitMessage = "WatcherAPI creation not started" // WatcherAPIReadyRunningMessage - WatcherAPIReadyRunningMessage = "WatcherAPI creation in progress" // WatcherAPIReadyMessage - WatcherAPIReadyMessage = "WatcherAPI successfully created" // WatcherAPIReadyErrorMessage - WatcherAPIReadyErrorMessage = "WatcherAPI error occured %s" // WatcherPrometheusSecretErrorMessage - WatcherPrometheusSecretErrorMessage = "Error with prometheus config secret" // WatcherApplicationCredentialSecretErrorMessage - WatcherApplicationCredentialSecretErrorMessage = "Error with application credential secret" // WatcherApplierReadyInitMessage - WatcherApplierReadyInitMessage = "WatcherApplier creation not started" // WatcherApplierReadyRunningMessage - WatcherApplierReadyRunningMessage = "WatcherApplier creation in progress" // WatcherApplierReadyMessage - WatcherApplierReadyMessage = "WatcherApplier successfully created" // WatcherApplierReadyErrorMessage - WatcherApplierReadyErrorMessage = "WatcherApplier error occured %s" // WatcherDecisionEngineReadyInitMessage - WatcherDecisionEngineReadyInitMessage = "WatcherDecisionEngine creation not started" // WatcherDecisionEngineReadyRunningMessage - WatcherDecisionEngineReadyRunningMessage = "WatcherDecisionEngine creation in progress" // WatcherDecisionEngineReadyMessage - WatcherDecisionEngineReadyMessage = "WatcherDecisionEngine successfully created" // WatcherDecisionEngineReadyErrorMessage - WatcherDecisionEngineReadyErrorMessage = "WatcherDecisionEngine error occured %s" )
const (
// DbSyncHash hash
DbSyncHash = "dbsync"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "watcher.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 SetupWatcherDefaults ¶
func SetupWatcherDefaults(defaults WatcherDefaults)
SetupWatcherDefaults initializes the Watcher defaults for the webhook
Types ¶
type APIOverrideSpec ¶
type APIOverrideSpec 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"`
}
APIOverrideSpec to override the generated manifest of several child resources.
func (*APIOverrideSpec) DeepCopy ¶
func (in *APIOverrideSpec) DeepCopy() *APIOverrideSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIOverrideSpec.
func (*APIOverrideSpec) DeepCopyInto ¶
func (in *APIOverrideSpec) DeepCopyInto(out *APIOverrideSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuthSpec ¶
type AuthSpec struct {
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
// ApplicationCredentialSecret - Secret containing Application Credential ID and Secret
ApplicationCredentialSecret string `json:"applicationCredentialSecret,omitempty"`
}
AuthSpec defines authentication parameters
func (*AuthSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthSpec.
func (*AuthSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PasswordSelector ¶
type PasswordSelector struct {
// +kubebuilder:validation:Optional
// +kubebuilder:default="WatcherPassword"
// Service - Selector to get the watcher service user password from the Secret
Service *string `json:"service"`
}
PasswordSelector to identify the DB and 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 Watcher ¶
type Watcher struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec WatcherSpec `json:"spec,omitempty"`
Status WatcherStatus `json:"status,omitempty"`
}
Watcher is the Schema for the watchers API
func (*Watcher) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Watcher.
func (*Watcher) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Watcher) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Watcher) Default ¶
func (r *Watcher) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (Watcher) RbacConditionsSet ¶
RbacConditionsSet - set the conditions for the rbac object
func (Watcher) RbacNamespace ¶
RbacNamespace - return the namespace
func (Watcher) RbacResourceName ¶
RbacResourceName - return the name to be used for rbac objects (serviceaccount, role, rolebinding)
func (*Watcher) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Watcher) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type WatcherAPI ¶
type WatcherAPI struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec WatcherAPISpec `json:"spec,omitempty"`
Status WatcherAPIStatus `json:"status,omitempty"`
}
WatcherAPI is the Schema for the watcherapis API
func (*WatcherAPI) DeepCopy ¶
func (in *WatcherAPI) DeepCopy() *WatcherAPI
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherAPI.
func (*WatcherAPI) DeepCopyInto ¶
func (in *WatcherAPI) DeepCopyInto(out *WatcherAPI)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WatcherAPI) DeepCopyObject ¶
func (in *WatcherAPI) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*WatcherAPI) Default ¶
func (r *WatcherAPI) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*WatcherAPI) GetLastAppliedTopology ¶
func (instance *WatcherAPI) GetLastAppliedTopology() *topologyv1.TopoRef
GetLastAppliedTopology - Returns the LastAppliedTopology Set in the Status
func (*WatcherAPI) GetSpecTopologyRef ¶
func (instance *WatcherAPI) GetSpecTopologyRef() *topologyv1.TopoRef
GetSpecTopologyRef - Returns the TopologyRef defined in the Spec
func (*WatcherAPI) IsReady ¶
func (instance *WatcherAPI) IsReady() bool
IsReady returns true if the ReadyCondition is true
func (*WatcherAPI) SetLastAppliedTopology ¶
func (instance *WatcherAPI) SetLastAppliedTopology(topologyRef *topologyv1.TopoRef)
SetLastAppliedTopology - Sets the LastAppliedTopology value in the Status
func (*WatcherAPI) ValidateCreate ¶
func (r *WatcherAPI) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*WatcherAPI) ValidateDelete ¶
func (r *WatcherAPI) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*WatcherAPI) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type WatcherAPIList ¶
type WatcherAPIList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []WatcherAPI `json:"items"`
}
WatcherAPIList contains a list of WatcherAPI
func (*WatcherAPIList) DeepCopy ¶
func (in *WatcherAPIList) DeepCopy() *WatcherAPIList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherAPIList.
func (*WatcherAPIList) DeepCopyInto ¶
func (in *WatcherAPIList) DeepCopyInto(out *WatcherAPIList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WatcherAPIList) DeepCopyObject ¶
func (in *WatcherAPIList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WatcherAPISpec ¶
type WatcherAPISpec struct {
WatcherCommon `json:",inline"`
// +kubebuilder:validation:Required
// Secret containing all passwords / keys needed
Secret string `json:"secret"`
WatcherSubCrsCommon `json:",inline"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=1
// +kubebuilder:validation:Maximum=32
// +kubebuilder:validation:Minimum=0
// Replicas of Watcher service to run
Replicas *int32 `json:"replicas"`
// +kubebuilder:validation:Optional
// Override, provides the ability to override the generated manifest of
// several child resources.
Override APIOverrideSpec `json:"override,omitempty"`
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
// TLS - Parameters related to the TLS
TLS tls.API `json:"tls,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=60
// +kubebuilder:validation:Minimum=10
// APITimeout for Route and Apache
APITimeout int `json:"apiTimeout"`
}
WatcherAPISpec defines the desired state of WatcherAPI
func (*WatcherAPISpec) DeepCopy ¶
func (in *WatcherAPISpec) DeepCopy() *WatcherAPISpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherAPISpec.
func (*WatcherAPISpec) DeepCopyInto ¶
func (in *WatcherAPISpec) DeepCopyInto(out *WatcherAPISpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WatcherAPIStatus ¶
type WatcherAPIStatus 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"`
// ReadyCount of watcher API instances
ReadyCount int32 `json:"readyCount,omitempty"`
// Map of hashes to track e.g. job status
Hash map[string]string `json:"hash,omitempty"`
// LastAppliedTopology - the last applied Topology
LastAppliedTopology *topologyv1.TopoRef `json:"lastAppliedTopology,omitempty"`
}
WatcherAPIStatus defines the observed state of WatcherAPI
func (*WatcherAPIStatus) DeepCopy ¶
func (in *WatcherAPIStatus) DeepCopy() *WatcherAPIStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherAPIStatus.
func (*WatcherAPIStatus) DeepCopyInto ¶
func (in *WatcherAPIStatus) DeepCopyInto(out *WatcherAPIStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WatcherAPITemplate ¶
type WatcherAPITemplate struct {
WatcherSubCrsTemplate `json:",inline"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=1
// +kubebuilder:validation:Maximum=32
// +kubebuilder:validation:Minimum=0
// Replicas of WatcherAPI service to run
Replicas *int32 `json:"replicas"`
// +kubebuilder:validation:Optional
// Override, provides the ability to override the generated manifest of
// several child resources.
Override APIOverrideSpec `json:"override,omitempty"`
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
// TLS - Parameters related to the TLS
TLS tls.API `json:"tls,omitempty"`
}
WatcherAPITemplate defines the input parameters specified by the user to create a WatcherAPI via higher level CRDs.
func (*WatcherAPITemplate) DeepCopy ¶
func (in *WatcherAPITemplate) DeepCopy() *WatcherAPITemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherAPITemplate.
func (*WatcherAPITemplate) DeepCopyInto ¶
func (in *WatcherAPITemplate) DeepCopyInto(out *WatcherAPITemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WatcherAPITemplate) ValidateTopology ¶
func (r *WatcherAPITemplate) ValidateTopology( basePath *field.Path, namespace string, ) field.ErrorList
ValidateTopology validates the referenced TopoRef.Namespace.
type WatcherApplier ¶
type WatcherApplier struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec WatcherApplierSpec `json:"spec,omitempty"`
Status WatcherApplierStatus `json:"status,omitempty"`
}
WatcherApplier is the Schema for the watcherappliers API
func (*WatcherApplier) DeepCopy ¶
func (in *WatcherApplier) DeepCopy() *WatcherApplier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherApplier.
func (*WatcherApplier) DeepCopyInto ¶
func (in *WatcherApplier) DeepCopyInto(out *WatcherApplier)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WatcherApplier) DeepCopyObject ¶
func (in *WatcherApplier) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*WatcherApplier) Default ¶
func (r *WatcherApplier) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*WatcherApplier) GetLastAppliedTopology ¶
func (instance *WatcherApplier) GetLastAppliedTopology() *topologyv1.TopoRef
GetLastAppliedTopology - Returns the LastAppliedTopology Set in the Status
func (*WatcherApplier) GetSpecTopologyRef ¶
func (instance *WatcherApplier) GetSpecTopologyRef() *topologyv1.TopoRef
GetSpecTopologyRef - Returns the TopologyRef defined in the Spec
func (*WatcherApplier) IsReady ¶
func (instance *WatcherApplier) IsReady() bool
IsReady returns true if the ReadyCondition is true
func (*WatcherApplier) SetLastAppliedTopology ¶
func (instance *WatcherApplier) SetLastAppliedTopology(topologyRef *topologyv1.TopoRef)
SetLastAppliedTopology - Sets the LastAppliedTopology value in the Status
func (*WatcherApplier) ValidateCreate ¶
func (r *WatcherApplier) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*WatcherApplier) ValidateDelete ¶
func (r *WatcherApplier) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*WatcherApplier) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type WatcherApplierList ¶
type WatcherApplierList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []WatcherApplier `json:"items"`
}
WatcherApplierList contains a list of WatcherApplier
func (*WatcherApplierList) DeepCopy ¶
func (in *WatcherApplierList) DeepCopy() *WatcherApplierList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherApplierList.
func (*WatcherApplierList) DeepCopyInto ¶
func (in *WatcherApplierList) DeepCopyInto(out *WatcherApplierList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WatcherApplierList) DeepCopyObject ¶
func (in *WatcherApplierList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WatcherApplierSpec ¶
type WatcherApplierSpec struct {
WatcherCommon `json:",inline"`
// +kubebuilder:validation:Required
// Secret containing all passwords / keys needed
Secret string `json:"secret"`
WatcherSubCrsCommon `json:",inline"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=1
// +kubebuilder:validation:Maximum=1
// +kubebuilder:validation:Minimum=0
// Replicas of Watcher service to run
Replicas *int32 `json:"replicas"`
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
// TLS - Parameters related to the TLS
TLS tls.Ca `json:"tls,omitempty"`
}
WatcherApplierSpec defines the desired state of WatcherApplier
func (*WatcherApplierSpec) DeepCopy ¶
func (in *WatcherApplierSpec) DeepCopy() *WatcherApplierSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherApplierSpec.
func (*WatcherApplierSpec) DeepCopyInto ¶
func (in *WatcherApplierSpec) DeepCopyInto(out *WatcherApplierSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WatcherApplierStatus ¶
type WatcherApplierStatus 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"`
// ReadyCount of watcher Applier instances
ReadyCount int32 `json:"readyCount,omitempty"`
// Map of hashes to track e.g. job status
Hash map[string]string `json:"hash,omitempty"`
// LastAppliedTopology - the last applied Topology
LastAppliedTopology *topologyv1.TopoRef `json:"lastAppliedTopology,omitempty"`
}
WatcherApplierStatus defines the observed state of WatcherApplier
func (*WatcherApplierStatus) DeepCopy ¶
func (in *WatcherApplierStatus) DeepCopy() *WatcherApplierStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherApplierStatus.
func (*WatcherApplierStatus) DeepCopyInto ¶
func (in *WatcherApplierStatus) DeepCopyInto(out *WatcherApplierStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WatcherApplierTemplate ¶
type WatcherApplierTemplate struct {
WatcherSubCrsTemplate `json:",inline"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=1
// +kubebuilder:validation:Maximum=1
// +kubebuilder:validation:Minimum=0
// Replicas of WatcherApplier service to run
Replicas *int32 `json:"replicas"`
}
WatcherApplierTemplate defines the input parameters specified by the user to create a WatcherApplier via higher level CRDs.
func (*WatcherApplierTemplate) DeepCopy ¶
func (in *WatcherApplierTemplate) DeepCopy() *WatcherApplierTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherApplierTemplate.
func (*WatcherApplierTemplate) DeepCopyInto ¶
func (in *WatcherApplierTemplate) DeepCopyInto(out *WatcherApplierTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WatcherApplierTemplate) ValidateTopology ¶
func (r *WatcherApplierTemplate) ValidateTopology( basePath *field.Path, namespace string, ) field.ErrorList
ValidateTopology validates the referenced TopoRef.Namespace.
type WatcherCommon ¶
type WatcherCommon struct {
// +kubebuilder:validation:Optional
// +kubebuilder:default=watcher
// ServiceUser - optional username used for this service to register in keystone
ServiceUser *string `json:"serviceUser"`
// +kubebuilder:validation:Optional
// +kubebuilder:default={service: WatcherPassword,}
// PasswordSelectors - Selectors to identify the ServiceUser password from the Secret
PasswordSelectors PasswordSelector `json:"passwordSelectors"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=memcached
// MemcachedInstance is the name of the Memcached CR that all watcher service will use.
MemcachedInstance *string `json:"memcachedInstance"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=false
// PreserveJobs - do not delete jobs after they finished e.g. to check logs
PreserveJobs bool `json:"preserveJobs"`
// +kubebuilder:validation:Optional
// NodeSelector to target subset of worker nodes running this component. Setting here overrides
// any global NodeSelector settings within the Watcher CR.
NodeSelector *map[string]string `json:"nodeSelector,omitempty"`
// +kubebuilder:validation:Optional
// CustomServiceConfig - customize the service config using this parameter to change service defaults,
// or overwrite rendered information using raw OpenStack config format. The content gets added to
// to /etc/<service>/<service>.conf.d directory as a custom config file.
CustomServiceConfig string `json:"customServiceConfig,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=metric-storage-prometheus-endpoint
// Secret containing prometheus connection parameters
PrometheusSecret *string `json:"prometheusSecret"`
// +kubebuilder:validation:Optional
// TopologyRef to apply the Topology defined by the associated CR referenced
// by name
TopologyRef *topologyv1.TopoRef `json:"topologyRef,omitempty"`
}
WatcherCommon defines a spec based reusable for all the CRDs
func (*WatcherCommon) DeepCopy ¶
func (in *WatcherCommon) DeepCopy() *WatcherCommon
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherCommon.
func (*WatcherCommon) DeepCopyInto ¶
func (in *WatcherCommon) DeepCopyInto(out *WatcherCommon)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WatcherDBPurge ¶
type WatcherDBPurge struct {
// +kubebuilder:validation:Optional
// +kubebuilder:default="0 1 * * *"
// Schedule defines when to run the Watcher DB Purge job in a cron format.
// By default it runs everyday at 01:00.
Schedule *string `json:"schedule"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=90
// +kubebuilder:validation:Minimum=1
// PurgeAge defines the minimum age of soft-deleted records in days that can be
// deleted from the shadow tables
PurgeAge *int `json:"purgeAge"`
}
WatcherDBPurge defines the parameters for the Watcher database purging cron job
func (*WatcherDBPurge) DeepCopy ¶
func (in *WatcherDBPurge) DeepCopy() *WatcherDBPurge
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherDBPurge.
func (*WatcherDBPurge) DeepCopyInto ¶
func (in *WatcherDBPurge) DeepCopyInto(out *WatcherDBPurge)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WatcherDecisionEngine ¶
type WatcherDecisionEngine struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec WatcherDecisionEngineSpec `json:"spec,omitempty"`
Status WatcherDecisionEngineStatus `json:"status,omitempty"`
}
WatcherDecisionEngine is the Schema for the watcherdecisionengines API
func (*WatcherDecisionEngine) DeepCopy ¶
func (in *WatcherDecisionEngine) DeepCopy() *WatcherDecisionEngine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherDecisionEngine.
func (*WatcherDecisionEngine) DeepCopyInto ¶
func (in *WatcherDecisionEngine) DeepCopyInto(out *WatcherDecisionEngine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WatcherDecisionEngine) DeepCopyObject ¶
func (in *WatcherDecisionEngine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*WatcherDecisionEngine) Default ¶
func (r *WatcherDecisionEngine) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*WatcherDecisionEngine) GetLastAppliedTopology ¶
func (instance *WatcherDecisionEngine) GetLastAppliedTopology() *topologyv1.TopoRef
GetLastAppliedTopology - Returns the LastAppliedTopology Set in the Status
func (*WatcherDecisionEngine) GetSpecTopologyRef ¶
func (instance *WatcherDecisionEngine) GetSpecTopologyRef() *topologyv1.TopoRef
GetSpecTopologyRef - Returns the TopologyRef defined in the Spec
func (*WatcherDecisionEngine) IsReady ¶
func (instance *WatcherDecisionEngine) IsReady() bool
IsReady returns true if the ReadyCondition is true
func (*WatcherDecisionEngine) SetLastAppliedTopology ¶
func (instance *WatcherDecisionEngine) SetLastAppliedTopology(topologyRef *topologyv1.TopoRef)
SetLastAppliedTopology - Sets the LastAppliedTopology value in the Status
func (*WatcherDecisionEngine) ValidateCreate ¶
func (r *WatcherDecisionEngine) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*WatcherDecisionEngine) ValidateDelete ¶
func (r *WatcherDecisionEngine) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*WatcherDecisionEngine) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type WatcherDecisionEngineList ¶
type WatcherDecisionEngineList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []WatcherDecisionEngine `json:"items"`
}
WatcherDecisionEngineList contains a list of WatcherDecisionEngine
func (*WatcherDecisionEngineList) DeepCopy ¶
func (in *WatcherDecisionEngineList) DeepCopy() *WatcherDecisionEngineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherDecisionEngineList.
func (*WatcherDecisionEngineList) DeepCopyInto ¶
func (in *WatcherDecisionEngineList) DeepCopyInto(out *WatcherDecisionEngineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WatcherDecisionEngineList) DeepCopyObject ¶
func (in *WatcherDecisionEngineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WatcherDecisionEngineSpec ¶
type WatcherDecisionEngineSpec struct {
// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
// Important: Run "make" to regenerate code after modifying this file
WatcherCommon `json:",inline"`
// +kubebuilder:validation:Required
// Secret containing all passwords / keys needed
Secret string `json:"secret"`
WatcherSubCrsCommon `json:",inline"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=1
// +kubebuilder:validation:Maximum=1
// +kubebuilder:validation:Minimum=0
// Replicas of Watcher service to run
Replicas *int32 `json:"replicas"`
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
// TLS - Parameters related to the TLS
TLS tls.Ca `json:"tls,omitempty"`
}
WatcherDecisionEngineSpec defines the desired state of WatcherDecisionEngine
func (*WatcherDecisionEngineSpec) DeepCopy ¶
func (in *WatcherDecisionEngineSpec) DeepCopy() *WatcherDecisionEngineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherDecisionEngineSpec.
func (*WatcherDecisionEngineSpec) DeepCopyInto ¶
func (in *WatcherDecisionEngineSpec) DeepCopyInto(out *WatcherDecisionEngineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WatcherDecisionEngineStatus ¶
type WatcherDecisionEngineStatus struct {
// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
// Important: Run "make" to regenerate code after modifying this file
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"`
// ReadyCount of WatcherDecisionEngine instances
ReadyCount int32 `json:"readyCount,omitempty"`
// Map of hashes to track e.g. job status
Hash map[string]string `json:"hash,omitempty"`
// LastAppliedTopology - the last applied Topology
LastAppliedTopology *topologyv1.TopoRef `json:"lastAppliedTopology,omitempty"`
}
WatcherDecisionEngineStatus defines the observed state of WatcherDecisionEngine
func (*WatcherDecisionEngineStatus) DeepCopy ¶
func (in *WatcherDecisionEngineStatus) DeepCopy() *WatcherDecisionEngineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherDecisionEngineStatus.
func (*WatcherDecisionEngineStatus) DeepCopyInto ¶
func (in *WatcherDecisionEngineStatus) DeepCopyInto(out *WatcherDecisionEngineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WatcherDecisionEngineTemplate ¶
type WatcherDecisionEngineTemplate struct {
WatcherSubCrsTemplate `json:",inline"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=1
// +kubebuilder:validation:Maximum=1
// +kubebuilder:validation:Minimum=0
// Replicas of WatcherDecisionEngine service to run
Replicas *int32 `json:"replicas"`
}
WatcherDecisionEngineTemplate defines the input parameters specified by the user to create a WatcherDecisionengine via higher level CRDs.
func (*WatcherDecisionEngineTemplate) DeepCopy ¶
func (in *WatcherDecisionEngineTemplate) DeepCopy() *WatcherDecisionEngineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherDecisionEngineTemplate.
func (*WatcherDecisionEngineTemplate) DeepCopyInto ¶
func (in *WatcherDecisionEngineTemplate) DeepCopyInto(out *WatcherDecisionEngineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WatcherDecisionEngineTemplate) ValidateTopology ¶
func (r *WatcherDecisionEngineTemplate) ValidateTopology( basePath *field.Path, namespace string, ) field.ErrorList
ValidateTopology validates the referenced TopoRef.Namespace.
type WatcherDefaults ¶
type WatcherDefaults struct {
APIContainerImageURL string
DecisionEngineContainerImageURL string
ApplierContainerImageURL string
}
WatcherDefaults -
func (*WatcherDefaults) DeepCopy ¶
func (in *WatcherDefaults) DeepCopy() *WatcherDefaults
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherDefaults.
func (*WatcherDefaults) DeepCopyInto ¶
func (in *WatcherDefaults) DeepCopyInto(out *WatcherDefaults)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WatcherImages ¶
type WatcherImages struct {
// +kubebuilder:validation:Required
// APIContainerImageURL
APIContainerImageURL string `json:"apiContainerImageURL"`
// +kubebuilder:validation:Required
// DecisionEngineContainerImageURL
DecisionEngineContainerImageURL string `json:"decisionengineContainerImageURL"`
// +kubebuilder:validation:Required
// ApplierContainerImageURL
ApplierContainerImageURL string `json:"applierContainerImageURL"`
}
WatcherImages defines the container images for all Watcher services
func (*WatcherImages) DeepCopy ¶
func (in *WatcherImages) DeepCopy() *WatcherImages
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherImages.
func (*WatcherImages) DeepCopyInto ¶
func (in *WatcherImages) DeepCopyInto(out *WatcherImages)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WatcherImages) Default ¶
func (r *WatcherImages) Default(defaults WatcherDefaults)
Default sets default values for WatcherImages based on the provided defaults
type WatcherList ¶
type WatcherList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Watcher `json:"items"`
}
WatcherList contains a list of Watcher
func (*WatcherList) DeepCopy ¶
func (in *WatcherList) DeepCopy() *WatcherList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherList.
func (*WatcherList) DeepCopyInto ¶
func (in *WatcherList) DeepCopyInto(out *WatcherList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WatcherList) DeepCopyObject ¶
func (in *WatcherList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WatcherSpec ¶
type WatcherSpec struct {
WatcherSpecCore `json:",inline"`
WatcherImages `json:",inline"`
}
WatcherSpec defines the desired state of Watcher
func (*WatcherSpec) DeepCopy ¶
func (in *WatcherSpec) DeepCopy() *WatcherSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherSpec.
func (*WatcherSpec) DeepCopyInto ¶
func (in *WatcherSpec) DeepCopyInto(out *WatcherSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WatcherSpec) Default ¶
func (spec *WatcherSpec) Default()
Default - set defaults for this WatcherCore spec.
func (*WatcherSpec) ValidateCreate ¶
func (spec *WatcherSpec) ValidateCreate(basePath *field.Path, namespace string) ([]string, field.ErrorList)
ValidateCreate validates the WatcherSpec during the webhook invocation.
func (*WatcherSpec) ValidateUpdate ¶
func (spec *WatcherSpec) ValidateUpdate(old WatcherSpec, basePath *field.Path, namespace string) ([]string, field.ErrorList)
ValidateUpdate validates the WatcherSpec during the webhook update invocation.
type WatcherSpecCore ¶
type WatcherSpecCore struct {
// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
// Important: Run "make" to regenerate code after modifying this file
WatcherCommon `json:",inline"`
// +kubebuilder:validation:Optional
// MessagingBus configuration (username, vhost, and cluster)
MessagingBus rabbitmqv1.RabbitMqConfig `json:"messagingBus,omitempty"`
// +kubebuilder:validation:Optional
// NotificationsBus configuration (username, vhost, and cluster) for notifications
NotificationsBus *rabbitmqv1.RabbitMqConfig `json:"notificationsBus,omitempty"`
// +kubebuilder:validation:Optional
// RabbitMQ instance name
// Needed to request a transportURL that is created and used in Watcher
// Deprecated: Use MessagingBus.Cluster instead
RabbitMqClusterName *string `json:"rabbitMqClusterName,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=osp-secret
// Secret containing all passwords / keys needed
Secret *string `json:"secret"`
// +kubebuilder:validation:Required
// MariaDB instance name
// Required to use the mariadb-operator instance to create the DB and user
DatabaseInstance *string `json:"databaseInstance"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=watcher
// DatabaseAccount - MariaDBAccount CR name used for watcher DB, defaults to watcher
DatabaseAccount *string `json:"databaseAccount"`
// +kubebuilder:validation:Required
// +kubebuilder:default={replicas:1}
// APIServiceTemplate - define the watcher-api service
APIServiceTemplate WatcherAPITemplate `json:"apiServiceTemplate"`
// +kubebuilder:validation:Required
// +kubebuilder:default={replicas:1}
// WatcherApplierTemplate - define the watcher-applier service
ApplierServiceTemplate WatcherApplierTemplate `json:"applierServiceTemplate"`
// +kubebuilder:validation:Required
// +kubebuilder:default={replicas:1}
// DecisionEngineServiceTemplate - define the watcher-decision-engine service
DecisionEngineServiceTemplate WatcherDecisionEngineTemplate `json:"decisionengineServiceTemplate"`
// +kubebuilder:validation:Optional
// DBPurge defines the parameters for the Watcher DB purging cron job
DBPurge WatcherDBPurge `json:"dbPurge"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=60
// +kubebuilder:validation:Minimum=10
// APITimeout for Route and Apache
APITimeout *int `json:"apiTimeout"`
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
// Auth - Parameters related to authentication (shared by all Watcher components)
Auth AuthSpec `json:"auth,omitempty"`
// +kubebuilder:validation:Optional
// NotificationsBusInstance is the name of the RabbitMqCluster CR to select
// the Message Bus Service instance used by the Watcher service to publish and consume notifications
// from other services.
// If undefined, the value will be inherited from OpenStackControlPlane.
// An empty value "" leaves the notification drivers unconfigured and emitting no notifications at all.
// Avoid colocating it with RabbitMqClusterName or other message bus instances used for RPC.
// Deprecated: Use NotificationsBus.Cluster instead
NotificationsBusInstance *string `json:"notificationsBusInstance,omitempty"`
}
WatcherSpecCore defines the fields used from the OpenStackControlPlane CR (does not include images)
func (*WatcherSpecCore) DeepCopy ¶
func (in *WatcherSpecCore) DeepCopy() *WatcherSpecCore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherSpecCore.
func (*WatcherSpecCore) DeepCopyInto ¶
func (in *WatcherSpecCore) DeepCopyInto(out *WatcherSpecCore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WatcherSpecCore) Default ¶
func (spec *WatcherSpecCore) Default()
Default - set defaults for this WatcherSpecCore spec.
func (*WatcherSpecCore) SetDefaultRouteAnnotations ¶
func (spec *WatcherSpecCore) SetDefaultRouteAnnotations(annotations map[string]string)
SetDefaultRouteAnnotations sets HAProxy timeout values for Watcher API routes This function is called by the OpenStackControlPlane webhook to set the default HAProxy timeout for the Watcher API routes.
func (*WatcherSpecCore) ValidateCreate ¶
func (spec *WatcherSpecCore) ValidateCreate(basePath *field.Path, namespace string) ([]string, field.ErrorList)
ValidateCreate validates the WatcherSpecCore during the webhook invocation. It is expected to be called by the validation webhook in the higher level meta operator
func (*WatcherSpecCore) ValidateUpdate ¶
func (spec *WatcherSpecCore) ValidateUpdate(old WatcherSpecCore, basePath *field.Path, namespace string) ([]string, field.ErrorList)
ValidateUpdate validates the WatcherSpecCore during the webhook invocation. It is expected to be called by the validation webhook in the higher level meta operator
func (*WatcherSpecCore) ValidateWatcherTopology ¶
func (spec *WatcherSpecCore) ValidateWatcherTopology(basePath *field.Path, namespace string) field.ErrorList
ValidateWatcherTopology - Returns an ErrorList if the Topology is referenced on a different namespace
type WatcherStatus ¶
type WatcherStatus struct {
// Conditions
Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`
// ServiceID - The ID of the watcher service registered in keystone
ServiceID string `json:"serviceID,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 opentack-operator in the top-level CR (e.g. the ContainerImage)
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// APIServiceReadyCount defines the number or replicas ready from watcher-api
APIServiceReadyCount int32 `json:"apiServiceReadyCount,omitempty"`
// ApplierServiceReadyCount defines the number or replicas ready from watcher-applier
ApplierServiceReadyCount int32 `json:"applierServiceReadyCount,omitempty"`
// DecisionEngineServiceReadyCount defines the number or replicas ready from watcher-decision-engine
DecisionEngineServiceReadyCount int32 `json:"decisionengineServiceReadyCount,omitempty"`
}
WatcherStatus defines the observed state of Watcher
func (*WatcherStatus) DeepCopy ¶
func (in *WatcherStatus) DeepCopy() *WatcherStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherStatus.
func (*WatcherStatus) DeepCopyInto ¶
func (in *WatcherStatus) DeepCopyInto(out *WatcherStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WatcherSubCrsCommon ¶
type WatcherSubCrsCommon struct {
// +kubebuilder:validation:Optional
// The service specific Container Image URL (will be set to environmental default if empty)
ContainerImage string `json:"containerImage"`
// +kubebuilder:validation:Optional
// Resources - Compute Resources required by this service (Limits/Requests).
// https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Resources corev1.ResourceRequirements `json:"resources,omitempty"`
// +kubebuilder:validation:Required
// ServiceAccount - service account name used internally to provide
// Watcher services the default SA name
ServiceAccount string `json:"serviceAccount"`
}
WatcherSubCrsCommon defines the common fields for Watcher sub-CRs
func (*WatcherSubCrsCommon) DeepCopy ¶
func (in *WatcherSubCrsCommon) DeepCopy() *WatcherSubCrsCommon
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherSubCrsCommon.
func (*WatcherSubCrsCommon) DeepCopyInto ¶
func (in *WatcherSubCrsCommon) DeepCopyInto(out *WatcherSubCrsCommon)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WatcherSubCrsTemplate ¶
type WatcherSubCrsTemplate struct {
// +kubebuilder:validation:Optional
// Resources - Compute Resources required by this service (Limits/Requests).
// https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Resources corev1.ResourceRequirements `json:"resources,omitempty"`
// +kubebuilder:validation:Optional
// NodeSelector to target subset of worker nodes running this component. Setting here overrides
// any global NodeSelector settings within the Watcher CR.
NodeSelector *map[string]string `json:"nodeSelector,omitempty"`
// +kubebuilder:validation:Optional
// CustomServiceConfig - customize the service config using this parameter to change service defaults,
// or overwrite rendered information using raw OpenStack config format. The content gets added to
// to /etc/<service>/<service>.conf.d directory as a custom config file.
CustomServiceConfig string `json:"customServiceConfig,omitempty"`
// +kubebuilder:validation:Optional
// TopologyRef to apply the Topology defined by the associated CR referenced
// by name
TopologyRef *topologyv1.TopoRef `json:"topologyRef,omitempty"`
}
WatcherSubCrsTemplate define de common part of the input parameters specified by the user to create a 2nd CR via higher level CRDs.
func (*WatcherSubCrsTemplate) DeepCopy ¶
func (in *WatcherSubCrsTemplate) DeepCopy() *WatcherSubCrsTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatcherSubCrsTemplate.
func (*WatcherSubCrsTemplate) DeepCopyInto ¶
func (in *WatcherSubCrsTemplate) DeepCopyInto(out *WatcherSubCrsTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.