v1beta1

package
v0.6.0 Latest Latest
Warning

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

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

Documentation

Overview

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

Index

Constants

View Source
const (
	// HeatAPIReadyCondition ...
	HeatAPIReadyCondition condition.Type = "HeatAPIReady"

	// HeatCfnAPIReadyCondition ...
	HeatCfnAPIReadyCondition condition.Type = "HeatCfnAPIReady"

	// HeatEngineReadyCondition ...
	HeatEngineReadyCondition condition.Type = "HeatEngineReady"

	// HeatStackDomainReadyCondition ...
	HeatStackDomainReadyCondition condition.Type = "HeatStackDomainReady"
)
View Source
const (
	//
	// HeatAPIReady condition messages
	//
	// HeatAPIReadyInitMessage ...
	HeatAPIReadyInitMessage = "HeatAPI not started"

	// HeatAPIReadyErrorMessage ...
	HeatAPIReadyErrorMessage = "HeatAPI error occured %s"

	//
	// HeatCfnAPIReady condition messages
	//
	// HeatCfnAPIReadyInitMessage ...
	HeatCfnAPIReadyInitMessage = "HeatCfnAPI not started"

	// HeatCfnAPIReadyErrorMessage ...
	HeatCfnAPIReadyErrorMessage = "HeatCfnAPI error occured %s"

	//
	// HeatEngineReady condition messages
	//
	// HeatEngineReadyInitMessage ...
	HeatEngineReadyInitMessage = "HeatEngine not started"

	// HeatEngineReadyErrorMessage ...
	HeatEngineReadyErrorMessage = "HeatEngine error occured %s"

	//
	// HeatStackDomainReady condition messages
	//
	// HeatStackDomainReadyInitMessage
	HeatStackDomainReadyInitMessage = "HeatStackDomain not started"

	// HeatStackDomainReadyRunningMessage
	HeatStackDomainReadyRunningMessage = "HeatStackDomain creation in progress"

	// HeatStackDomainReadyMessage
	HeatStackDomainReadyMessage = "HeatStackDomain successfully created"

	// HeatStackDomainReadyErrorMessage
	HeatStackDomainReadyErrorMessage = "HeatStackDomain error occured %s"
)

Common Messages used by API objects.

View Source
const (
	// DbSyncHash hash
	DbSyncHash = "dbsync"

	// DeploymentHash hash used to detect changes
	DeploymentHash = "deployment"

	// HeatAPIContainerImage - default fall-back container image for HeatAPI if associated env var not provided
	HeatAPIContainerImage = "quay.io/podified-antelope-centos9/openstack-heat-api:current-podified"
	// HeatCfnAPIContainerImage - default fall-back container image for HeatCfnAPI if associated env var not provided
	HeatCfnAPIContainerImage = "quay.io/podified-antelope-centos9/openstack-heat-api-cfn:current-podified"
	// HeatEngineContainerImage - default fall-back container image for HeatEngine if associated env var not provided
	HeatEngineContainerImage = "quay.io/podified-antelope-centos9/openstack-heat-engine:current-podified"
	// HeatDatabaseMigrationAnnotation - Allows users to bypass the webhook validations for changes to databaseInstance
	HeatDatabaseMigrationAnnotation = "heat.openstack.org/database-migration"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "heat.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 SetupHeatDefaults

func SetupHeatDefaults(defaults HeatDefaults)

SetupHeatDefaults - initialize Heat spec defaults for use with either internal or external webhooks

Types

type APIOverrideSpec added in v0.2.0

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 added in v0.2.0

func (in *APIOverrideSpec) DeepCopy() *APIOverrideSpec

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

func (*APIOverrideSpec) DeepCopyInto added in v0.2.0

func (in *APIOverrideSpec) DeepCopyInto(out *APIOverrideSpec)

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

type Heat

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

	Spec   HeatSpec   `json:"spec,omitempty"`
	Status HeatStatus `json:"status,omitempty"`
}

Heat is the Schema for the heats API

func (*Heat) DeepCopy

func (in *Heat) DeepCopy() *Heat

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

func (*Heat) DeepCopyInto

func (in *Heat) DeepCopyInto(out *Heat)

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

func (*Heat) DeepCopyObject

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

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

func (*Heat) Default

func (r *Heat) Default()

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

func (Heat) IsReady

func (instance Heat) IsReady() bool

IsReady - returns true if Heat is reconciled successfully

func (Heat) RbacConditionsSet

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

RbacConditionsSet - set the conditions for the rbac object

func (Heat) RbacNamespace

func (instance Heat) RbacNamespace() string

RbacNamespace - return the namespace

func (Heat) RbacResourceName

func (instance Heat) RbacResourceName() string

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

func (*Heat) SetupWebhookWithManager

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

SetupWebhookWithManager sets up the webhook with the Manager

func (Heat) StatusConditionsList added in v0.5.0

func (instance Heat) StatusConditionsList() condition.Conditions

StatusConditionsList - Returns a list of conditions relevant to our Controller.

func (*Heat) ValidateCreate

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

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

func (*Heat) ValidateDelete

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

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

func (*Heat) ValidateUpdate

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

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

type HeatAPI

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

	Spec   HeatAPISpec   `json:"spec,omitempty"`
	Status HeatAPIStatus `json:"status,omitempty"`
}

HeatAPI ...

func (*HeatAPI) DeepCopy

func (in *HeatAPI) DeepCopy() *HeatAPI

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

func (*HeatAPI) DeepCopyInto

func (in *HeatAPI) DeepCopyInto(out *HeatAPI)

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

func (*HeatAPI) DeepCopyObject

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

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

func (*HeatAPI) GetLastAppliedTopology added in v0.6.0

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

GetLastAppliedTopology - Returns the LastAppliedTopology Set in the Status

func (*HeatAPI) GetSpecTopologyRef added in v0.6.0

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

GetSpecTopologyRef - Returns the LastAppliedTopology Set in the Status

func (HeatAPI) IsReady

func (instance HeatAPI) IsReady() bool

IsReady - returns true if HeatAPI is reconciled successfully

func (*HeatAPI) SetLastAppliedTopology added in v0.6.0

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

SetLastAppliedTopology - Sets the LastAppliedTopology value in the Status

func (HeatAPI) StatusConditionsList added in v0.5.0

func (instance HeatAPI) StatusConditionsList() condition.Conditions

StatusConditionsList - Returns a list of conditions relevant to our Controller.

type HeatAPIList

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

HeatAPIList contains a list of HeatAPI

func (*HeatAPIList) DeepCopy

func (in *HeatAPIList) DeepCopy() *HeatAPIList

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

func (*HeatAPIList) DeepCopyInto

func (in *HeatAPIList) DeepCopyInto(out *HeatAPIList)

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

func (*HeatAPIList) DeepCopyObject

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

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

type HeatAPISpec

type HeatAPISpec struct {
	// +kubebuilder:validation:Required
	// DatabaseHostname - Heat Database Hostname
	DatabaseHostname string `json:"databaseHostname"`

	// +kubebuilder:validation:Required
	// TransportURLSecret - Secret containing RabbitMQ transportURL
	TransportURLSecret string `json:"transportURLSecret"`

	// +kubebuilder:validation:Required
	// ServiceAccount - service account name used internally to provide Heat services the default SA name
	ServiceAccount string `json:"serviceAccount"`

	// Common input parameters for all Heat services
	HeatTemplate `json:",inline"`

	// Input parameters for the Heat API service
	HeatAPITemplate `json:",inline"`
}

HeatAPISpec defines the desired state of HeatAPI

func (*HeatAPISpec) DeepCopy

func (in *HeatAPISpec) DeepCopy() *HeatAPISpec

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

func (*HeatAPISpec) DeepCopyInto

func (in *HeatAPISpec) DeepCopyInto(out *HeatAPISpec)

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

type HeatAPIStatus

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

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

	// ReadyCount of HeatAPI instances
	ReadyCount int32 `json:"readyCount,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"`

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

HeatAPIStatus defines the observed state of HeatAPI

func (*HeatAPIStatus) DeepCopy

func (in *HeatAPIStatus) DeepCopy() *HeatAPIStatus

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

func (*HeatAPIStatus) DeepCopyInto

func (in *HeatAPIStatus) DeepCopyInto(out *HeatAPIStatus)

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

type HeatAPITemplate

type HeatAPITemplate struct {
	// +kubebuilder:validation:Required
	// ContainerImage - Container Image URL
	ContainerImage string `json:"containerImage"`

	HeatAPITemplateCore `json:",inline"`
}

HeatAPITemplate defines the input parameters for the Heat API service

func (*HeatAPITemplate) DeepCopy

func (in *HeatAPITemplate) DeepCopy() *HeatAPITemplate

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

func (*HeatAPITemplate) DeepCopyInto

func (in *HeatAPITemplate) DeepCopyInto(out *HeatAPITemplate)

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

type HeatAPITemplateCore added in v0.4.0

type HeatAPITemplateCore struct {
	// +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"`

	// Common input parameters for all Heat services
	HeatServiceTemplate `json:",inline"`
}

HeatAPITemplateCore -

func (*HeatAPITemplateCore) DeepCopy added in v0.4.0

func (in *HeatAPITemplateCore) DeepCopy() *HeatAPITemplateCore

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

func (*HeatAPITemplateCore) DeepCopyInto added in v0.4.0

func (in *HeatAPITemplateCore) DeepCopyInto(out *HeatAPITemplateCore)

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

type HeatCfnAPI

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

	Spec   HeatCfnAPISpec   `json:"spec,omitempty"`
	Status HeatCfnAPIStatus `json:"status,omitempty"`
}

HeatCfnAPI ...

func (*HeatCfnAPI) DeepCopy

func (in *HeatCfnAPI) DeepCopy() *HeatCfnAPI

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

func (*HeatCfnAPI) DeepCopyInto

func (in *HeatCfnAPI) DeepCopyInto(out *HeatCfnAPI)

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

func (*HeatCfnAPI) DeepCopyObject

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

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

func (*HeatCfnAPI) GetLastAppliedTopology added in v0.6.0

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

GetLastAppliedTopology - Returns the LastAppliedTopology Set in the Status

func (*HeatCfnAPI) GetSpecTopologyRef added in v0.6.0

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

GetSpecTopologyRef - Returns the LastAppliedTopology Set in the Status

func (HeatCfnAPI) IsReady

func (instance HeatCfnAPI) IsReady() bool

IsReady - returns true if HeatCfnAPI is reconciled successfully

func (*HeatCfnAPI) SetLastAppliedTopology added in v0.6.0

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

SetLastAppliedTopology - Sets the LastAppliedTopology value in the Status

func (*HeatCfnAPI) StatusConditionsList added in v0.5.0

func (instance *HeatCfnAPI) StatusConditionsList() condition.Conditions

StatusConditionsList - Returns a list of conditions relevant to our Controller.

type HeatCfnAPIList

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

HeatCfnAPIList contains a list of HeatCfnAPI

func (*HeatCfnAPIList) DeepCopy

func (in *HeatCfnAPIList) DeepCopy() *HeatCfnAPIList

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

func (*HeatCfnAPIList) DeepCopyInto

func (in *HeatCfnAPIList) DeepCopyInto(out *HeatCfnAPIList)

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

func (*HeatCfnAPIList) DeepCopyObject

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

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

type HeatCfnAPISpec

type HeatCfnAPISpec struct {
	// +kubebuilder:validation:Required
	// DatabaseHostname - Heat Database Hostname
	DatabaseHostname string `json:"databaseHostname"`

	// +kubebuilder:validation:Required
	// TransportURLSecret - Secret containing RabbitMQ transportURL
	TransportURLSecret string `json:"transportURLSecret"`

	// +kubebuilder:validation:Required
	// ServiceAccount - service account name used internally to provide Heat services the default SA name
	ServiceAccount string `json:"serviceAccount"`

	// Common input parameters for all Heat services
	HeatTemplate `json:",inline"`

	// Input parameters for the Heat Cfn API service
	HeatCfnAPITemplate `json:",inline"`
}

HeatCfnAPISpec defines the desired state of HeatCfnAPI

func (*HeatCfnAPISpec) DeepCopy

func (in *HeatCfnAPISpec) DeepCopy() *HeatCfnAPISpec

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

func (*HeatCfnAPISpec) DeepCopyInto

func (in *HeatCfnAPISpec) DeepCopyInto(out *HeatCfnAPISpec)

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

type HeatCfnAPIStatus

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

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

	// ReadyCount of HeatCfnAPI instances
	ReadyCount int32 `json:"readyCount,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"`

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

HeatCfnAPIStatus defines the observed state of HeatCfnAPI

func (*HeatCfnAPIStatus) DeepCopy

func (in *HeatCfnAPIStatus) DeepCopy() *HeatCfnAPIStatus

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

func (*HeatCfnAPIStatus) DeepCopyInto

func (in *HeatCfnAPIStatus) DeepCopyInto(out *HeatCfnAPIStatus)

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

type HeatCfnAPITemplate

type HeatCfnAPITemplate struct {
	// +kubebuilder:validation:Required
	// ContainerImage - Container Image URL
	ContainerImage string `json:"containerImage"`

	// Common input parameters for all Heat services
	HeatCfnAPITemplateCore `json:",inline"`
}

HeatCfnAPITemplate defines the input parameters for the Heat Cfn API service

func (*HeatCfnAPITemplate) DeepCopy

func (in *HeatCfnAPITemplate) DeepCopy() *HeatCfnAPITemplate

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

func (*HeatCfnAPITemplate) DeepCopyInto

func (in *HeatCfnAPITemplate) DeepCopyInto(out *HeatCfnAPITemplate)

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

type HeatCfnAPITemplateCore added in v0.4.0

type HeatCfnAPITemplateCore struct {
	// +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"`

	// Common input parameters for all Heat services
	HeatServiceTemplate `json:",inline"`
}

HeatCfnAPITemplateCore -

func (*HeatCfnAPITemplateCore) DeepCopy added in v0.4.0

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

func (*HeatCfnAPITemplateCore) DeepCopyInto added in v0.4.0

func (in *HeatCfnAPITemplateCore) DeepCopyInto(out *HeatCfnAPITemplateCore)

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

type HeatDefaults

type HeatDefaults struct {
	APIContainerImageURL    string
	CfnAPIContainerImageURL string
	EngineContainerImageURL string
}

HeatDefaults -

func (*HeatDefaults) DeepCopy

func (in *HeatDefaults) DeepCopy() *HeatDefaults

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

func (*HeatDefaults) DeepCopyInto

func (in *HeatDefaults) DeepCopyInto(out *HeatDefaults)

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

type HeatEngine

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

	Spec   HeatEngineSpec   `json:"spec,omitempty"`
	Status HeatEngineStatus `json:"status,omitempty"`
}

HeatEngine defined.

func (*HeatEngine) DeepCopy

func (in *HeatEngine) DeepCopy() *HeatEngine

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

func (*HeatEngine) DeepCopyInto

func (in *HeatEngine) DeepCopyInto(out *HeatEngine)

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

func (*HeatEngine) DeepCopyObject

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

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

func (*HeatEngine) GetLastAppliedTopology added in v0.6.0

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

GetLastAppliedTopology - Returns the LastAppliedTopology Set in the Status

func (*HeatEngine) GetSpecTopologyRef added in v0.6.0

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

GetSpecTopologyRef - Returns the LastAppliedTopology Set in the Status

func (HeatEngine) IsReady

func (instance HeatEngine) IsReady() bool

IsReady - returns true if HeatEngine is reconciled successfully

func (*HeatEngine) SetLastAppliedTopology added in v0.6.0

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

SetLastAppliedTopology - Sets the LastAppliedTopology value in the Status

func (HeatEngine) StatusConditionsList added in v0.5.0

func (instance HeatEngine) StatusConditionsList() condition.Conditions

StatusConditionsList - Returns a list of conditions relevant to our Controller.

type HeatEngineList

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

HeatEngineList contains a list of HeatEngine

func (*HeatEngineList) DeepCopy

func (in *HeatEngineList) DeepCopy() *HeatEngineList

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

func (*HeatEngineList) DeepCopyInto

func (in *HeatEngineList) DeepCopyInto(out *HeatEngineList)

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

func (*HeatEngineList) DeepCopyObject

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

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

type HeatEngineSpec

type HeatEngineSpec struct {
	// +kubebuilder:validation:Required
	// DatabaseHostname - Heat Database Hostname
	DatabaseHostname string `json:"databaseHostname"`

	// +kubebuilder:validation:Required
	// TransportURLSecret - Secret containing RabbitMQ transportURL
	TransportURLSecret string `json:"transportURLSecret"`

	// +kubebuilder:validation:Required
	// ServiceAccount - service account name used internally to provide Heat services the default SA name
	ServiceAccount string `json:"serviceAccount"`

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

	// Common input parameters for all Heat services
	HeatTemplate `json:",inline"`

	// Input parameters for the Heat Engine service
	HeatEngineTemplate `json:",inline"`
}

HeatEngineSpec defines the desired state of HeatEngine

func (*HeatEngineSpec) DeepCopy

func (in *HeatEngineSpec) DeepCopy() *HeatEngineSpec

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

func (*HeatEngineSpec) DeepCopyInto

func (in *HeatEngineSpec) DeepCopyInto(out *HeatEngineSpec)

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

type HeatEngineStatus

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

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

	// ReadyCount of HeatEngine instances
	ReadyCount int32 `json:"readyCount,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"`

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

HeatEngineStatus defines the observed state of HeatEngine

func (*HeatEngineStatus) DeepCopy

func (in *HeatEngineStatus) DeepCopy() *HeatEngineStatus

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

func (*HeatEngineStatus) DeepCopyInto

func (in *HeatEngineStatus) DeepCopyInto(out *HeatEngineStatus)

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

type HeatEngineTemplate

type HeatEngineTemplate struct {
	// +kubebuilder:validation:Required
	// ContainerImage - Container Image URL
	ContainerImage string `json:"containerImage"`

	HeatEngineTemplateCore `json:",inline"`
}

HeatEngineTemplate defines the input parameters for the Heat Engine service

func (*HeatEngineTemplate) DeepCopy

func (in *HeatEngineTemplate) DeepCopy() *HeatEngineTemplate

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

func (*HeatEngineTemplate) DeepCopyInto

func (in *HeatEngineTemplate) DeepCopyInto(out *HeatEngineTemplate)

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

type HeatEngineTemplateCore added in v0.4.0

type HeatEngineTemplateCore struct {
	// Common input parameters for all Heat services
	HeatServiceTemplate `json:",inline"`
}

HeatEngineTemplate -

func (*HeatEngineTemplateCore) DeepCopy added in v0.4.0

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

func (*HeatEngineTemplateCore) DeepCopyInto added in v0.4.0

func (in *HeatEngineTemplateCore) DeepCopyInto(out *HeatEngineTemplateCore)

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

type HeatList

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

HeatList contains a list of Heat

func (*HeatList) DeepCopy

func (in *HeatList) DeepCopy() *HeatList

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

func (*HeatList) DeepCopyInto

func (in *HeatList) DeepCopyInto(out *HeatList)

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

func (*HeatList) DeepCopyObject

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

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

type HeatServiceTemplate

type HeatServiceTemplate struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1
	// +kubebuilder:validation:Maximum=32
	// +kubebuilder:validation:Minimum=0
	// Replicas -
	Replicas *int32 `json:"replicas"`

	// +kubebuilder:validation:Optional
	// ConfigOverwrite - interface to overwrite default config files like e.g. policy.json.
	// But can also be used to add additional files. Those get added to the service config dir in /etc/<service> .
	// TODO: -> implement
	DefaultConfigOverwrite map[string]string `json:"defaultConfigOverwrite,omitempty"`

	// +kubebuilder:validation:Optional
	// NodeSelector to target subset of worker nodes for running the service
	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/heat/heat.conf.d directory as 02-custom-service.conf file.
	CustomServiceConfig string `json:"customServiceConfig,omitempty"`

	// +kubebuilder:validation:Optional
	// CustomServiceConfigSecrets - customize the service config using this parameter to specify Secrets
	// that contain sensitive service config data. The content of each Secret gets added to the
	// /etc/heat/heat.conf.d directory as a custom config file.
	CustomServiceConfigSecrets []string `json:"customServiceConfigSecrets,omitempty"`

	// +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
	// TopologyRef to apply the Topology defined by the associated CR referenced
	// by name
	TopologyRef *topologyv1.TopoRef `json:"topologyRef,omitempty"`
}

HeatServiceTemplate -

func (*HeatServiceTemplate) DeepCopy

func (in *HeatServiceTemplate) DeepCopy() *HeatServiceTemplate

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

func (*HeatServiceTemplate) DeepCopyInto

func (in *HeatServiceTemplate) DeepCopyInto(out *HeatServiceTemplate)

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

type HeatSpec

type HeatSpec struct {
	HeatSpecBase `json:",inline"`

	// +kubebuilder:validation:Required
	// HeatAPI - Spec definition for the API service of this Heat deployment
	HeatAPI HeatAPITemplate `json:"heatAPI"`

	// +kubebuilder:validation:Required
	// HeatCfnAPI - Spec definition for the CfnAPI service of this Heat deployment
	HeatCfnAPI HeatCfnAPITemplate `json:"heatCfnAPI"`

	// +kubebuilder:validation:Required
	// HeatEngine - Spec definition for the Engine service of this Heat deployment
	HeatEngine HeatEngineTemplate `json:"heatEngine"`
}

HeatSpec defines the desired state of Heat

func (*HeatSpec) DeepCopy

func (in *HeatSpec) DeepCopy() *HeatSpec

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

func (*HeatSpec) DeepCopyInto

func (in *HeatSpec) DeepCopyInto(out *HeatSpec)

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

func (*HeatSpec) Default

func (spec *HeatSpec) Default()

Default - set defaults for this Heat spec

func (*HeatSpec) ValidateCreate added in v0.4.0

func (r *HeatSpec) 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 heat spec.

func (*HeatSpec) ValidateHeatTopology added in v0.6.0

func (spec *HeatSpec) ValidateHeatTopology(basePath *field.Path, namespace string) field.ErrorList

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

func (*HeatSpec) ValidateUpdate added in v0.4.0

func (r *HeatSpec) ValidateUpdate(old HeatSpec, basePath *field.Path, annotations map[string]string, namespace string) field.ErrorList

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

type HeatSpecBase added in v0.4.0

type HeatSpecBase struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:default=openstack
	// MariaDB instance name.
	// Right now required by the maridb-operator to get the credentials from the instance to create the DB.
	// Might not be required in future.
	DatabaseInstance string `json:"databaseInstance"`

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

	// +kubebuilder:validation:Required
	// +kubebuilder:default=rabbitmq
	// RabbitMQ instance name
	// Needed to request a transportURL that is created and used in Heat
	RabbitMqClusterName string `json:"rabbitMqClusterName"`

	// +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/heat/heat.conf.d directory as 01-custom.conf file.
	CustomServiceConfig string `json:"customServiceConfig,omitempty"`

	// +kubebuilder:validation:Optional
	// CustomServiceConfigSecrets - customize the service config using this parameter to specify Secrets
	// that contain sensitive service config data. The content of each Secret gets added to the
	// /etc/heat/heat.conf.d directory as a custom config file.
	CustomServiceConfigSecrets []string `json:"customServiceConfigSecrets,omitempty"`

	// +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
	// ConfigOverwrite - interface to overwrite default config files like e.g. policy.json.
	// But can also be used to add additional files. Those get added to the service config dir in /etc/<service> .
	// TODO: -> implement
	DefaultConfigOverwrite map[string]string `json:"defaultConfigOverwrite,omitempty"`

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

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=600
	// +kubebuilder:validation:Minimum=60
	// APITimeout for Route and Apache
	APITimeout int `json:"apiTimeout"`

	// Common input parameters for all Heat services
	HeatTemplate `json:",inline"`

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

HeatSpec defines the desired state of Heat

func (*HeatSpecBase) DeepCopy added in v0.4.0

func (in *HeatSpecBase) DeepCopy() *HeatSpecBase

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

func (*HeatSpecBase) DeepCopyInto added in v0.4.0

func (in *HeatSpecBase) DeepCopyInto(out *HeatSpecBase)

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

type HeatSpecCore added in v0.4.0

type HeatSpecCore struct {
	HeatSpecBase `json:",inline"`

	// +kubebuilder:validation:Required
	// HeatAPI - Spec definition for the API service of this Heat deployment
	HeatAPI HeatAPITemplateCore `json:"heatAPI"`

	// +kubebuilder:validation:Required
	// HeatCfnAPI - Spec definition for the CfnAPI service of this Heat deployment
	HeatCfnAPI HeatCfnAPITemplateCore `json:"heatCfnAPI"`

	// +kubebuilder:validation:Required
	// HeatEngine - Spec definition for the Engine service of this Heat deployment
	HeatEngine HeatEngineTemplateCore `json:"heatEngine"`
}

HeatSpecCore defines the desired state of Heat, for use with OpenStackControlplane (no containerImages)

func (*HeatSpecCore) DeepCopy added in v0.4.0

func (in *HeatSpecCore) DeepCopy() *HeatSpecCore

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

func (*HeatSpecCore) DeepCopyInto added in v0.4.0

func (in *HeatSpecCore) DeepCopyInto(out *HeatSpecCore)

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

func (*HeatSpecCore) Default added in v0.4.0

func (spec *HeatSpecCore) Default()

Default - set defaults for this Heat spec core. This version is called by the OpenStackControlplane

func (*HeatSpecCore) SetDefaultRouteAnnotations added in v0.6.0

func (spec *HeatSpecCore) SetDefaultRouteAnnotations(annotations map[string]string)

SetDefaultRouteAnnotations sets HAProxy timeout values of the route NOTE: it is used by ctlplane webhook on openstack-operator

func (*HeatSpecCore) ValidateCreate added in v0.4.0

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

func (*HeatSpecCore) ValidateHeatTopology added in v0.6.0

func (spec *HeatSpecCore) ValidateHeatTopology(basePath *field.Path, namespace string) field.ErrorList

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

func (*HeatSpecCore) ValidateUpdate added in v0.4.0

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

type HeatStatus

type HeatStatus 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"`

	// Heat Database Hostname
	DatabaseHostname string `json:"databaseHostname,omitempty"`

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

	// ReadyCount of Heat API instance
	HeatAPIReadyCount int32 `json:"heatApiReadyCount,omitempty"`

	// ReadyCount of Heat CfnAPI instance
	HeatCfnAPIReadyCount int32 `json:"heatCfnApiReadyCount,omitempty"`

	// ReadyCount of Heat Engine instance
	HeatEngineReadyCount int32 `json:"heatEngineReadyCount,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"`
}

HeatStatus defines the observed state of Heat

func (*HeatStatus) DeepCopy

func (in *HeatStatus) DeepCopy() *HeatStatus

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

func (*HeatStatus) DeepCopyInto

func (in *HeatStatus) DeepCopyInto(out *HeatStatus)

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

type HeatTemplate

type HeatTemplate struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=heat
	// ServiceUser - optional username used for this service to register in heat
	ServiceUser string `json:"serviceUser"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=heat
	// DatabaseAccount - optional MariaDBAccount used for heat DB, defaults to heat.
	DatabaseAccount string `json:"databaseAccount"`

	// +kubebuilder:validation:Required
	// Secret containing OpenStack password information for heat HeatDatabasePassword, HeatPassword
	// and HeatAuthEncryptionKey
	Secret string `json:"secret"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default={service: HeatPassword, authEncryptionKey: HeatAuthEncryptionKey}
	// PasswordSelectors - Selectors to identify the DB and ServiceUser password from the Secret
	PasswordSelectors PasswordSelector `json:"passwordSelectors"`
}

HeatTemplate -

func (*HeatTemplate) DeepCopy

func (in *HeatTemplate) DeepCopy() *HeatTemplate

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

func (*HeatTemplate) DeepCopyInto

func (in *HeatTemplate) DeepCopyInto(out *HeatTemplate)

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="HeatPassword"
	// Service - Selector to get the heat service password from the Secret
	Service string `json:"service"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="HeatAuthEncryptionKey"
	// AuthEncryptionKey - Selector to get the heat auth encryption key from the Secret
	AuthEncryptionKey string `json:"authEncryptionKey"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="HeatStackDomainAdminPassword"
	// StackDomainAdminPassword - Selector to get the heat stack domain admin password from the Secret
	StackDomainAdminPassword string `json:"stackDomainAdminPassword"`
}

PasswordSelector ..

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL