v1beta1

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2023 License: Apache-2.0 Imports: 9 Imported by: 4

Documentation

Overview

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

Index

Constants

View Source
const (
	// CeilometerCentralContainerImage - default fall-back image for Ceilometer Central
	CeilometerCentralContainerImage = "quay.io/podified-antelope-centos9/openstack-ceilometer-central:current-podified"
	// CeilometerNotificationContainerImage - default fall-back image for Ceilometer Notification
	CeilometerNotificationContainerImage = "quay.io/podified-antelope-centos9/openstack-ceilometer-notification:current-podified"
	// CeilometerSgCoreContainerImage - default fall-back image for Ceilometer SgCore
	CeilometerSgCoreContainerImage = "quay.io/infrawatch/sg-core:v5.1.1"
	// CeilometerComputeContainerImage - default fall-back image for Ceilometer Compute
	CeilometerComputeContainerImage = "quay.io/podified-antelope-centos9/openstack-ceilometer-compute:current-podified"
	// CeilometerIpmiContainerImage - default fall-back image for Ceilometer Ipmi
	CeilometerIpmiContainerImage = "quay.io/podified-antelope-centos9/openstack-ceilometer-ipmi:current-podified"
	// NodeExporterContainerImage - default fall-back image for node_exporter
	// NodeExporterContainerImage = "registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.13"
	NodeExporterContainerImage = "quay.io/prometheus/node-exporter:v1.5.0"
)
View Source
const (
	// CeilometerReadyCondition Status=True condition which indicates if the Ceilometer is configured and operational
	CeilometerReadyCondition condition.Type = "CeilometerReady"

	// AutoscalingReadyCondition Status=True condition which indicates if the Autoscaling is configured and operational
	AutoscalingReadyCondition condition.Type = "AutoscalingReady"
)

Telemetry Condition Types used by API objects.

View Source
const (
	//
	// CeilometerReady condition messages
	//
	// CeilometerReadyInitMessage
	CeilometerReadyInitMessage = "Ceilometer not started"

	// CeilometerReadyErrorMessage
	CeilometerReadyErrorMessage = "Ceilometer error occured %s"

	//
	// AutoscalingReady condition messages
	//
	// AutoscalingReadyInitMessage
	AutoscalingReadyInitMessage = "Autoscaling not started"

	// AutoscalingReadyErrorMessage
	AutoscalingReadyErrorMessage = "Autoscaling error occured %s"
)

Common Messages used by API objects.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "telemetry.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 SetupCeilometerDefaults added in v0.2.0

func SetupCeilometerDefaults(defaults CeilometerDefaults)

SetupCeilometerDefaults - initialize Ceilometer spec defaults for use with either internal or external webhooks

func SetupDefaultsCeilometer added in v0.2.0

func SetupDefaultsCeilometer()

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

func SetupDefaultsTelemetry

func SetupDefaultsTelemetry()

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

func SetupTelemetryDefaults

func SetupTelemetryDefaults(defaults TelemetryDefaults)

SetupTelemetryDefaults - initialize Telemetry spec defaults for use with either internal or external webhooks

Types

type Autoscaling added in v0.2.0

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

	Spec   AutoscalingSpec   `json:"spec,omitempty"`
	Status AutoscalingStatus `json:"status,omitempty"`
}

Autoscaling is the Schema for the autoscalings API

func (*Autoscaling) DeepCopy added in v0.2.0

func (in *Autoscaling) DeepCopy() *Autoscaling

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

func (*Autoscaling) DeepCopyInto added in v0.2.0

func (in *Autoscaling) DeepCopyInto(out *Autoscaling)

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

func (*Autoscaling) DeepCopyObject added in v0.2.0

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

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

func (Autoscaling) IsReady added in v0.2.0

func (instance Autoscaling) IsReady() bool

IsReady - returns true if Autescaling is reconciled successfully

func (Autoscaling) RbacConditionsSet added in v0.2.0

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

RbacConditionsSet - set the conditions for the rbac object

func (Autoscaling) RbacNamespace added in v0.2.0

func (instance Autoscaling) RbacNamespace() string

RbacNamespace - return the namespace

func (Autoscaling) RbacResourceName added in v0.2.0

func (instance Autoscaling) RbacResourceName() string

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

type AutoscalingList added in v0.2.0

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

AutoscalingList contains a list of Autoscaling

func (*AutoscalingList) DeepCopy added in v0.2.0

func (in *AutoscalingList) DeepCopy() *AutoscalingList

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

func (*AutoscalingList) DeepCopyInto added in v0.2.0

func (in *AutoscalingList) DeepCopyInto(out *AutoscalingList)

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

func (*AutoscalingList) DeepCopyObject added in v0.2.0

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

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

type AutoscalingSpec added in v0.2.0

type AutoscalingSpec struct {
	// Specification of which prometheus to use for autoscaling
	Prometheus Prometheus `json:"prometheus,omitempty"`

	// Allows enabling and disabling the autoscaling feature
	// +kubebuilder:default=false
	Enabled bool `json:"enabled,omitempty"`
}

AutoscalingSpec defines the desired state of Autoscaling

func (*AutoscalingSpec) DeepCopy added in v0.2.0

func (in *AutoscalingSpec) DeepCopy() *AutoscalingSpec

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

func (*AutoscalingSpec) DeepCopyInto added in v0.2.0

func (in *AutoscalingSpec) DeepCopyInto(out *AutoscalingSpec)

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

type AutoscalingStatus added in v0.2.0

type AutoscalingStatus struct {
	// ReadyCount of autoscaling instances
	ReadyCount int32 `json:"readyCount,omitempty"`

	// 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"`
}

AutoscalingStatus defines the observed state of Autoscaling

func (*AutoscalingStatus) DeepCopy added in v0.2.0

func (in *AutoscalingStatus) DeepCopy() *AutoscalingStatus

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

func (*AutoscalingStatus) DeepCopyInto added in v0.2.0

func (in *AutoscalingStatus) DeepCopyInto(out *AutoscalingStatus)

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

type Ceilometer added in v0.2.0

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

	Spec   CeilometerSpec   `json:"spec,omitempty"`
	Status CeilometerStatus `json:"status,omitempty"`
}

Ceilometer is the Schema for the ceilometers API

func (*Ceilometer) DeepCopy added in v0.2.0

func (in *Ceilometer) DeepCopy() *Ceilometer

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

func (*Ceilometer) DeepCopyInto added in v0.2.0

func (in *Ceilometer) DeepCopyInto(out *Ceilometer)

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

func (*Ceilometer) DeepCopyObject added in v0.2.0

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

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

func (*Ceilometer) Default added in v0.2.0

func (r *Ceilometer) Default()

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

func (Ceilometer) IsReady added in v0.2.0

func (instance Ceilometer) IsReady() bool

IsReady - returns true if Ceilometer is reconciled successfully

func (Ceilometer) RbacConditionsSet added in v0.2.0

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

RbacConditionsSet - set the conditions for the rbac object

func (Ceilometer) RbacNamespace added in v0.2.0

func (instance Ceilometer) RbacNamespace() string

RbacNamespace - return the namespace

func (Ceilometer) RbacResourceName added in v0.2.0

func (instance Ceilometer) RbacResourceName() string

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

func (*Ceilometer) SetupWebhookWithManager added in v0.2.0

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

SetupWebhookWithManager - setups webhook with the adequate manager

func (*Ceilometer) ValidateCreate added in v0.2.0

func (r *Ceilometer) ValidateCreate() error

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

func (*Ceilometer) ValidateDelete added in v0.2.0

func (r *Ceilometer) ValidateDelete() error

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

func (*Ceilometer) ValidateUpdate added in v0.2.0

func (r *Ceilometer) ValidateUpdate(old runtime.Object) error

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

type CeilometerDefaults added in v0.2.0

type CeilometerDefaults struct {
	CentralContainerImageURL      string
	NotificationContainerImageURL string
	SgCoreContainerImageURL       string
	ComputeContainerImageURL      string
	IpmiContainerImageURL         string
	NodeExporterContainerImageURL string
}

CeilometerDefaults -

func (*CeilometerDefaults) DeepCopy added in v0.2.0

func (in *CeilometerDefaults) DeepCopy() *CeilometerDefaults

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

func (*CeilometerDefaults) DeepCopyInto added in v0.2.0

func (in *CeilometerDefaults) DeepCopyInto(out *CeilometerDefaults)

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

type CeilometerList added in v0.2.0

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

CeilometerList contains a list of Ceilometer

func (*CeilometerList) DeepCopy added in v0.2.0

func (in *CeilometerList) DeepCopy() *CeilometerList

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

func (*CeilometerList) DeepCopyInto added in v0.2.0

func (in *CeilometerList) DeepCopyInto(out *CeilometerList)

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

func (*CeilometerList) DeepCopyObject added in v0.2.0

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

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

type CeilometerSpec added in v0.2.0

type CeilometerSpec struct {
	// RabbitMQ instance name
	// Needed to request a transportURL that is created and used in Telemetry
	// +kubebuilder:default=rabbitmq
	RabbitMqClusterName string `json:"rabbitMqClusterName,omitempty"`

	// PasswordSelectors - Selectors to identify the service from the Secret
	// +kubebuilder:default:={service: CeilometerPassword}
	PasswordSelectors PasswordsSelector `json:"passwordSelector,omitempty"`

	// ServiceUser - optional username used for this service to register in keystone
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=ceilometer
	ServiceUser string `json:"serviceUser"`

	// Secret containing OpenStack password information for ceilometer
	// +kubebuilder:validation:Required
	Secret string `json:"secret"`

	// 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 custom.conf file.
	// +kubebuilder:default:="# add your customization here"
	CustomServiceConfig string `json:"customServiceConfig,omitempty"`

	// ConfigOverwrite - interface to overwrite default config files like e.g. logging.conf or 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"`

	// NetworkAttachmentDefinitions list of network attachment definitions the service pod gets attached to
	NetworkAttachmentDefinitions []string `json:"networkAttachmentDefinitions,omitempty"`

	// +kubebuilder:validation:Required
	CentralImage string `json:"centralImage"`

	// +kubebuilder:validation:Required
	NotificationImage string `json:"notificationImage"`

	// +kubebuilder:validation:Required
	SgCoreImage string `json:"sgCoreImage"`

	// +kubebuilder:validation:Required
	ComputeImage string `json:"computeImage"`

	// +kubebuilder:validation:Required
	IpmiImage string `json:"ipmiImage"`

	// +kubebuilder:validation:Required
	NodeExporterImage string `json:"nodeExporterImage"`
}

CeilometerSpec defines the desired state of Ceilometer

func (*CeilometerSpec) DeepCopy added in v0.2.0

func (in *CeilometerSpec) DeepCopy() *CeilometerSpec

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

func (*CeilometerSpec) DeepCopyInto added in v0.2.0

func (in *CeilometerSpec) DeepCopyInto(out *CeilometerSpec)

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

func (*CeilometerSpec) Default added in v0.2.0

func (spec *CeilometerSpec) Default()

Default - set defaults for this Ceilometer spec

type CeilometerStatus added in v0.2.0

type CeilometerStatus struct {
	// ReadyCount of ceilometer instances
	ReadyCount int32 `json:"readyCount,omitempty"`

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

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

	// Networks in addtion to the cluster network, the service is attached to
	Networks []string `json:"networks,omitempty"`
}

CeilometerStatus defines the observed state of Ceilometer

func (*CeilometerStatus) DeepCopy added in v0.2.0

func (in *CeilometerStatus) DeepCopy() *CeilometerStatus

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

func (*CeilometerStatus) DeepCopyInto added in v0.2.0

func (in *CeilometerStatus) DeepCopyInto(out *CeilometerStatus)

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

type PasswordsSelector

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

PasswordsSelector to identify the Service password from the Secret

func (*PasswordsSelector) DeepCopy

func (in *PasswordsSelector) DeepCopy() *PasswordsSelector

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

func (*PasswordsSelector) DeepCopyInto

func (in *PasswordsSelector) DeepCopyInto(out *PasswordsSelector)

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

type Prometheus added in v0.2.0

type Prometheus struct {
	// Enables the deployment of autoscaling prometheus
	// +kubebuilder:default=false
	DeployPrometheus bool `json:"deployPrometheus,omitempty"`

	// Host of user deployed prometheus if deployPrometheus is set to false
	Host string `json:"host,omitempty"`

	// Port of user deployed prometheus if deployPrometheus is set to false
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port int32 `json:"port,omitempty"`
}

Prometheus defines which prometheus to use for Autoscaling

func (*Prometheus) DeepCopy added in v0.2.0

func (in *Prometheus) DeepCopy() *Prometheus

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

func (*Prometheus) DeepCopyInto added in v0.2.0

func (in *Prometheus) DeepCopyInto(out *Prometheus)

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

type Telemetry

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

	Spec   TelemetrySpec   `json:"spec,omitempty"`
	Status TelemetryStatus `json:"status,omitempty"`
}

Telemetry is the Schema for the telemetry API

func (*Telemetry) DeepCopy

func (in *Telemetry) DeepCopy() *Telemetry

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

func (*Telemetry) DeepCopyInto

func (in *Telemetry) DeepCopyInto(out *Telemetry)

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

func (*Telemetry) DeepCopyObject

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

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

func (*Telemetry) Default

func (r *Telemetry) Default()

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

func (Telemetry) IsReady

func (instance Telemetry) IsReady() bool

IsReady - returns true if Telemetry is reconciled successfully

func (*Telemetry) SetupWebhookWithManager

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

SetupWebhookWithManager sets up the webhook with the Manager

func (*Telemetry) ValidateCreate

func (r *Telemetry) ValidateCreate() error

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

func (*Telemetry) ValidateDelete

func (r *Telemetry) ValidateDelete() error

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

func (*Telemetry) ValidateUpdate

func (r *Telemetry) ValidateUpdate(old runtime.Object) error

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

type TelemetryDefaults

type TelemetryDefaults struct {
	CentralContainerImageURL      string
	ComputeContainerImageURL      string
	NotificationContainerImageURL string
	SgCoreContainerImageURL       string
	NodeExporterContainerImageURL string
	IpmiContainerImageURL         string
}

TelemetryDefaults -

func (*TelemetryDefaults) DeepCopy

func (in *TelemetryDefaults) DeepCopy() *TelemetryDefaults

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

func (*TelemetryDefaults) DeepCopyInto

func (in *TelemetryDefaults) DeepCopyInto(out *TelemetryDefaults)

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

type TelemetryList

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

TelemetryList contains a list of Telemetry

func (*TelemetryList) DeepCopy

func (in *TelemetryList) DeepCopy() *TelemetryList

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

func (*TelemetryList) DeepCopyInto

func (in *TelemetryList) DeepCopyInto(out *TelemetryList)

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

func (*TelemetryList) DeepCopyObject

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

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

type TelemetrySpec

type TelemetrySpec struct {
	// +kubebuilder:validation:Required
	// Autoscaling - Spec definition for the Autoscaling service of this Telemetry deployment
	Autoscaling AutoscalingSpec `json:"autoscaling"`

	// +kubebuilder:validation:Required
	// Ceilometer - Spec definition for the Ceilometer service of this Telemetry deployment
	Ceilometer CeilometerSpec `json:"ceilometer"`
}

TelemetrySpec defines the desired state of Telemetry

func (*TelemetrySpec) DeepCopy

func (in *TelemetrySpec) DeepCopy() *TelemetrySpec

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

func (*TelemetrySpec) DeepCopyInto

func (in *TelemetrySpec) DeepCopyInto(out *TelemetrySpec)

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

func (*TelemetrySpec) Default

func (spec *TelemetrySpec) Default()

Default - set defaults for this Telemetry spec

type TelemetryStatus

type TelemetryStatus 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 Ceilometer instance
	CeilometerReadyCount int32 `json:"ceilometerReadyCount,omitempty"`

	// ReadyCount of Autoscaling instance
	AutoscalingReadyCount int32 `json:"autoscalingReadyCount,omitempty"`
}

TelemetryStatus defines the observed state of Telemetry

func (*TelemetryStatus) DeepCopy

func (in *TelemetryStatus) DeepCopy() *TelemetryStatus

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

func (*TelemetryStatus) DeepCopyInto

func (in *TelemetryStatus) DeepCopyInto(out *TelemetryStatus)

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