Help us shape the future of Go! Take the 2026 Go Developer Survey

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: 5

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