v1beta1

package
v0.0.0-...-e872d7c Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2026 License: Apache-2.0 Imports: 53 Imported by: 0

Documentation

Overview

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

Index

Constants

View Source
const (
	// OpenStackControlPlaneRabbitMQReadyCondition Status=True condition which indicates if RabbitMQ is configured and operational
	OpenStackControlPlaneRabbitMQReadyCondition condition.Type = "OpenStackControlPlaneRabbitMQReady"

	// OpenStackControlPlaneMariaDBReadyCondition Status=True condition which indicates if MariaDB is configured and operational
	OpenStackControlPlaneMariaDBReadyCondition condition.Type = "OpenStackControlPlaneMariaDBReady"

	// OpenStackControlPlaneMemcachedReadyCondition Status=True condition which indicates if Memcached is configured and operational
	OpenStackControlPlaneMemcachedReadyCondition condition.Type = "OpenStackControlPlaneMemcachedReady"

	// OpenStackControlPlaneKeystoneAPIReadyCondition Status=True condition which indicates if KeystoneAPI is configured and operational
	OpenStackControlPlaneKeystoneAPIReadyCondition condition.Type = "OpenStackControlPlaneKeystoneAPIReady"

	// OpenStackControlPlaneExposeKeystoneAPIReadyCondition Status=True condition which indicates if KeystoneAPI is exposed via a route
	OpenStackControlPlaneExposeKeystoneAPIReadyCondition condition.Type = "OpenStackControlPlaneExposeKeystoneAPIReady"

	// OpenStackControlPlanePlacementAPIReadyCondition Status=True condition which indicates if PlacementAPI is configured and operational
	OpenStackControlPlanePlacementAPIReadyCondition condition.Type = "OpenStackControlPlanePlacementAPIReady"

	// OpenStackControlPlaneExposePlacementAPIReadyCondition Status=True condition which indicates if PlacementAPI is exposed via a route
	OpenStackControlPlaneExposePlacementAPIReadyCondition condition.Type = "OpenStackControlPlaneExposePlacementAPIReady"

	// OpenStackControlPlaneGlanceReadyCondition Status=True condition which indicates if Glance is configured and operational
	OpenStackControlPlaneGlanceReadyCondition condition.Type = "OpenStackControlPlaneGlanceReady"

	// OpenStackControlPlaneExposeGlanceReadyCondition Status=True condition which indicates if Glance is exposed via a route
	OpenStackControlPlaneExposeGlanceReadyCondition condition.Type = "OpenStackControlPlaneExposeGlanceReady"

	// OpenStackControlPlaneCinderReadyCondition Status=True condition which indicates if Cinder is configured and operational
	OpenStackControlPlaneCinderReadyCondition condition.Type = "OpenStackControlPlaneCinderReady"

	// OpenStackControlPlaneExposeCinderReadyCondition Status=True condition which indicates if Cinder is exposed via a route
	OpenStackControlPlaneExposeCinderReadyCondition condition.Type = "OpenStackControlPlaneExposeCinderReady"

	// OpenStackControlPlaneOVNReadyCondition Status=True condition which indicates if OVN is configured and operational
	OpenStackControlPlaneOVNReadyCondition condition.Type = "OpenStackControlPlaneOVNReady"

	// OpenStackControlPlaneNeutronReadyCondition Status=True condition which indicates if Neutron is configured and operational
	OpenStackControlPlaneNeutronReadyCondition condition.Type = "OpenStackControlPlaneNeutronReady"

	// OpenStackControlPlaneExposeNeutronReadyCondition Status=True condition which indicates if Neutron is exposed via a route
	OpenStackControlPlaneExposeNeutronReadyCondition condition.Type = "OpenStackControlPlaneExposeNeutronReady"

	// OpenStackControlPlaneNovaReadyCondition Status=True condition which indicates if Nova is configured and operational
	OpenStackControlPlaneNovaReadyCondition condition.Type = "OpenStackControlPlaneNovaReady"

	// OpenStackControlPlaneExposeNovaReadyCondition Status=True condition which indicates if Nova is exposed via a route
	OpenStackControlPlaneExposeNovaReadyCondition condition.Type = "OpenStackControlPlaneExposeNovaReady"

	// OpenStackControlPlaneHeatReadyCondition Status=True condition which indicates if Heat is configured and operational
	OpenStackControlPlaneHeatReadyCondition condition.Type = "OpenStackControlPlaneHeatReady"

	// OpenStackControlPlaneExposeHeatReadyCondition Status=True condition which indicates if Heat is exposed via a route
	OpenStackControlPlaneExposeHeatReadyCondition condition.Type = "OpenStackControlPlaneExposeHeatReady"

	// OpenStackControlPlaneIronicReadyCondition Status=True condition which indicates if Ironic is configured and operational
	OpenStackControlPlaneIronicReadyCondition condition.Type = "OpenStackControlPlaneIronicReady"

	// OpenStackControlPlaneExposeIronicReadyCondition Status=True condition which indicates if Ironic is exposed via a route
	OpenStackControlPlaneExposeIronicReadyCondition condition.Type = "OpenStackControlPlaneExposeIronicReady"

	// OpenStackControlPlaneHorizonReadyCondition Status=True condition which indicates if Horizon is configured and operational
	OpenStackControlPlaneHorizonReadyCondition condition.Type = "OpenStackControlPlaneHorizonReady"

	// OpenStackControlPlaneExposeHorizonReadyCondition Status=True condition which indicates if Horizon is exposed via a route
	OpenStackControlPlaneExposeHorizonReadyCondition condition.Type = "OpenStackControlPlaneExposeHorizonReady"

	// OpenStackControlPlaneClientReadyCondition Status=True condition which indicates if OpenStackClient is configured and operational
	OpenStackControlPlaneClientReadyCondition condition.Type = "OpenStackControlPlaneClientReady"

	// OpenStackClientReadyCondition Status=True condition which indicates if OpenStackClient is configured and operational
	OpenStackClientReadyCondition condition.Type = "OpenStackClientReady"

	// OpenStackControlPlaneManilaReadyCondition Status=True condition which indicates if Manila is configured and operational
	OpenStackControlPlaneManilaReadyCondition condition.Type = "OpenStackControlPlaneManilaReady"

	// OpenStackControlPlaneExposeManilaReadyCondition Status=True condition which indicates if Manila is exposed via a route
	OpenStackControlPlaneExposeManilaReadyCondition condition.Type = "OpenStackControlPlaneExposeManilaReady"

	// OpenStackControlPlaneDNSReadyCondition Status=True condition which indicates if DNSMasq is configured and operational
	OpenStackControlPlaneDNSReadyCondition condition.Type = "OpenStackControlPlaneDNSReadyCondition"

	// OpenStackControlPlaneCAReadyCondition Status=True condition which indicates if the CAs are configured and operational
	OpenStackControlPlaneCAReadyCondition condition.Type = "OpenStackControlPlaneCAReadyCondition"

	// OpenStackControlPlaneCustomTLSReadyCondition Status=True condition which indicates if custom TLS certificate secrets are configured and operational
	OpenStackControlPlaneCustomTLSReadyCondition condition.Type = "OpenStackControlPlaneCustomTLSReadyCondition"

	// OpenStackControlPlaneTelemetryReadyCondition Status=True condition which indicates if OpenStack Telemetry service is configured and operational
	OpenStackControlPlaneTelemetryReadyCondition condition.Type = "OpenStackControlPlaneTelemetryReady"

	// OpenStackControlPlaneExposeTelemetryReadyCondition Status=True condition which indicates if Telemetry is exposed via a route
	OpenStackControlPlaneExposeTelemetryReadyCondition condition.Type = "OpenStackControlPlaneExposeTelemetryReady"

	// OpenStackControlPlaneServiceOverrideReadyCondition Status=True condition which indicates if OpenStack service override has created ok
	OpenStackControlPlaneServiceOverrideReadyCondition condition.Type = "OpenStackControlPlaneServiceOverrideReady"

	// OpenStackControlPlaneSwiftReadyCondition Status=True condition which indicates if Swift is configured and operational
	OpenStackControlPlaneSwiftReadyCondition condition.Type = "OpenStackControlPlaneSwiftReady"

	// OpenStackControlPlaneExposeSwiftReadyCondition Status=True condition which indicates if Swift is exposed via a route
	OpenStackControlPlaneExposeSwiftReadyCondition condition.Type = "OpenStackControlPlaneExposeSwiftReady"

	// OpenStackControlPlaneOctaviaReadyCondition Status=True condition which indicates if Octavia is configured and operational
	OpenStackControlPlaneOctaviaReadyCondition condition.Type = "OpenStackControlPlaneOctaviaReady"

	// OpenStackControlPlaneDesignateReadyCondition Status=True condition which indicates if Designate is configured and operational
	OpenStackControlPlaneDesignateReadyCondition condition.Type = "OpenStackControlPlaneDesignateReady"

	// OpenStackControlPlaneBarbicanReadyCondition Status=True condition which indicates if Barbican is configured and operational
	OpenStackControlPlaneBarbicanReadyCondition condition.Type = "OpenStackControlPlaneBarbicanReady"

	// OpenStackControlPlaneRedisReadyCondition Status=True condition which indicates if Redis is configured and operational
	OpenStackControlPlaneRedisReadyCondition condition.Type = "OpenStackControlPlaneRedisReady"

	// OpenStackControlPlaneExposeOctaviaReadyCondition Status=True condition which indicates if Octavia is exposed via a route
	OpenStackControlPlaneExposeOctaviaReadyCondition condition.Type = "OpenStackControlPlaneExposeOctaviaReady"

	// OpenStackControlPlaneExposeDesignateReadyCondition Status=True condition which indicates if Designate is exposed via a route
	OpenStackControlPlaneExposeDesignateReadyCondition condition.Type = "OpenStackControlPlaneExposeDesignateReady"

	// OpenStackControlPlaneExposeBarbicanReadyCondition Status=True condition which indicates if Barbican is exposed via a route
	OpenStackControlPlaneExposeBarbicanReadyCondition condition.Type = "OpenStackControlPlaneExposeBarbicanReady"

	// OpenStackControlPlaneTestCMReadyCondition Status=True condition which indicates if Test operator CM is ready
	OpenStackControlPlaneTestCMReadyCondition condition.Type = "OpenStackControlPlaneTestCMReadyCondition"

	// OpenStackControlPlaneInstanceHaCMReadyCondition Status=True condition which indicates if InstanceHa CM is ready
	OpenStackControlPlaneInstanceHaCMReadyCondition condition.Type = "OpenStackControlPlaneInstanceHaCMReadyCondition"

	// OpenStackControlPlaneCertCleanupReadyCondition Status=True condition which indicates global certification cleanup is Ready
	OpenStackControlPlaneCertCleanupReadyCondition condition.Type = "OpenStackControlPlaneCertCleanupReadyCondition"

	// OpenStackControlPlaneOpenStackVersionInitializationReadyCondition Status=True condition which indicates if OpenStackVersion is initialized
	OpenStackControlPlaneOpenStackVersionInitializationReadyCondition condition.Type = "OpenStackControlPlaneOpenStackVersionInitializationReadyCondition"

	// OpenStackControlPlaneWatcherReadyCondition Status=True condition which indicates if Watcher is configured and operational
	OpenStackControlPlaneWatcherReadyCondition condition.Type = "OpenStackControlPlaneWatcherReady"

	// OpenStackControlPlaneExposeWatcherReadyCondition Status=True condition which indicates if Watcher is exposed via a route
	OpenStackControlPlaneExposeWatcherReadyCondition condition.Type = "OpenStackControlPlaneExposeWatcherReady"

	// OpenStackControlPlaneInfrastructureReadyCondition Status=True condition which indicates if infrastructure components are ready
	// Infrastructure includes: CAs, DNSMasq, RabbitMQ, Galera (MariaDB), Memcached, and OVN databases
	// This condition is set to True when deployment-stage annotation is "infrastructure-only" and all infrastructure is ready
	OpenStackControlPlaneInfrastructureReadyCondition condition.Type = "OpenStackControlPlaneInfrastructureReady"
)

OpenStackControlPlane Condition Types used by API objects.

View Source
const (

	// OpenStackControlPlaneReadyErrorMessage
	OpenStackControlPlaneReadyErrorMessage = "OpenStackControlPlane error occured %s"

	// OpenStackControlPlaneRabbitMQReadyInitMessage
	OpenStackControlPlaneRabbitMQReadyInitMessage = "OpenStackControlPlane RabbitMQ not started"

	// OpenStackControlPlaneRabbitMQReadyMessage
	OpenStackControlPlaneRabbitMQReadyMessage = "OpenStackControlPlane RabbitMQ completed"

	// OpenStackControlPlaneRabbitMQReadyRunningMessage
	OpenStackControlPlaneRabbitMQReadyRunningMessage = "OpenStackControlPlane RabbitMQ in progress"

	// OpenStackControlPlaneRabbitMQReadyErrorMessage
	OpenStackControlPlaneRabbitMQReadyErrorMessage = "OpenStackControlPlane RabbitMQ error occured %s"

	// OpenStackControlPlaneMariaDBReadyInitMessage
	OpenStackControlPlaneMariaDBReadyInitMessage = "OpenStackControlPlane MariaDB not started"

	// OpenStackControlPlaneMariaDBReadyMessage
	OpenStackControlPlaneMariaDBReadyMessage = "OpenStackControlPlane MariaDB completed"

	// OpenStackControlPlaneMariaDBReadyRunningMessage
	OpenStackControlPlaneMariaDBReadyRunningMessage = "OpenStackControlPlane MariaDB in progress"

	// OpenStackControlPlaneMariaDBReadyErrorMessage
	OpenStackControlPlaneMariaDBReadyErrorMessage = "OpenStackControlPlane MariaDB error occured %s"

	// OpenStackControlPlaneMemcachedReadyInitMessage
	OpenStackControlPlaneMemcachedReadyInitMessage = "OpenStackControlPlane Memcached not started"

	// OpenStackControlPlaneMemcachedReadyMessage
	OpenStackControlPlaneMemcachedReadyMessage = "OpenStackControlPlane Memcached completed"

	// OpenStackControlPlaneMemcachedReadyRunningMessage
	OpenStackControlPlaneMemcachedReadyRunningMessage = "OpenStackControlPlane Memcached in progress"

	// OpenStackControlPlaneMemcachedReadyErrorMessage
	OpenStackControlPlaneMemcachedReadyErrorMessage = "OpenStackControlPlane Memcached error occured %s"

	// OpenStackControlPlaneKeystoneAPIReadyInitMessage
	OpenStackControlPlaneKeystoneAPIReadyInitMessage = "OpenStackControlPlane KeystoneAPI not started"

	// OpenStackControlPlaneKeystoneAPIReadyMessage
	OpenStackControlPlaneKeystoneAPIReadyMessage = "OpenStackControlPlane KeystoneAPI completed"

	// OpenStackControlPlaneKeystoneAPIReadyRunningMessage
	OpenStackControlPlaneKeystoneAPIReadyRunningMessage = "OpenStackControlPlane KeystoneAPI in progress"

	// OpenStackControlPlaneKeystoneAPIReadyErrorMessage
	OpenStackControlPlaneKeystoneAPIReadyErrorMessage = "OpenStackControlPlane KeystoneAPI error occured %s"

	// OpenStackControlPlanePlacementAPIReadyInitMessage
	OpenStackControlPlanePlacementAPIReadyInitMessage = "OpenStackControlPlane PlacementAPI not started"

	// OpenStackControlPlanePlacementAPIReadyMessage
	OpenStackControlPlanePlacementAPIReadyMessage = "OpenStackControlPlane PlacementAPI completed"

	// OpenStackControlPlanePlacementAPIReadyRunningMessage
	OpenStackControlPlanePlacementAPIReadyRunningMessage = "OpenStackControlPlane PlacementAPI in progress"

	// OpenStackControlPlanePlacementAPIReadyErrorMessage
	OpenStackControlPlanePlacementAPIReadyErrorMessage = "OpenStackControlPlane PlacementAPI error occured %s"

	// OpenStackControlPlaneGlanceReadyInitMessage
	OpenStackControlPlaneGlanceReadyInitMessage = "OpenStackControlPlane Glance not started"

	// OpenStackControlPlaneGlanceReadyMessage
	OpenStackControlPlaneGlanceReadyMessage = "OpenStackControlPlane Glance completed"

	// OpenStackControlPlaneGlanceReadyRunningMessage
	OpenStackControlPlaneGlanceReadyRunningMessage = "OpenStackControlPlane Glance in progress"

	// OpenStackControlPlaneGlanceReadyErrorMessage
	OpenStackControlPlaneGlanceReadyErrorMessage = "OpenStackControlPlane Glance error occured %s"

	// OpenStackControlPlaneCinderReadyInitMessage
	OpenStackControlPlaneCinderReadyInitMessage = "OpenStackControlPlane Cinder not started"

	// OpenStackControlPlaneCinderReadyMessage
	OpenStackControlPlaneCinderReadyMessage = "OpenStackControlPlane Cinder completed"

	// OpenStackControlPlaneCinderReadyRunningMessage
	OpenStackControlPlaneCinderReadyRunningMessage = "OpenStackControlPlane Cinder in progress"

	// OpenStackControlPlaneCinderReadyErrorMessage
	OpenStackControlPlaneCinderReadyErrorMessage = "OpenStackControlPlane Cinder error occured %s"

	// OpenStackControlPlaneOVNReadyInitMessage
	OpenStackControlPlaneOVNReadyInitMessage = "OpenStackControlPlane OVN not started"

	// OpenStackControlPlaneOVNReadyMessage
	OpenStackControlPlaneOVNReadyMessage = "OpenStackControlPlane OVN completed"

	// OpenStackControlPlaneOVNReadyRunningMessage
	OpenStackControlPlaneOVNReadyRunningMessage = "OpenStackControlPlane OVN in progress"

	// OpenStackControlPlaneOVNReadyErrorMessage
	OpenStackControlPlaneOVNReadyErrorMessage = "OpenStackControlPlane OVN error occured %s"

	// OpenStackControlPlaneNeutronReadyInitMessage
	OpenStackControlPlaneNeutronReadyInitMessage = "OpenStackControlPlane Neutron not started"

	// OpenStackControlPlaneNeutronReadyMessage
	OpenStackControlPlaneNeutronReadyMessage = "OpenStackControlPlane Neutron completed"

	// OpenStackControlPlaneNeutronReadyRunningMessage
	OpenStackControlPlaneNeutronReadyRunningMessage = "OpenStackControlPlane Neutron in progress"

	// OpenStackControlPlaneNeutronReadyErrorMessage
	OpenStackControlPlaneNeutronReadyErrorMessage = "OpenStackControlPlane Neutron error occured %s"

	// OpenStackControlPlaneNovaReadyInitMessage
	OpenStackControlPlaneNovaReadyInitMessage = "OpenStackControlPlane Nova not started"

	// OpenStackControlPlaneNovaReadyMessage
	OpenStackControlPlaneNovaReadyMessage = "OpenStackControlPlane Nova completed"

	// OpenStackControlPlaneNovaReadyRunningMessage
	OpenStackControlPlaneNovaReadyRunningMessage = "OpenStackControlPlane Nova in progress"

	// OpenStackControlPlaneNovaReadyErrorMessage
	OpenStackControlPlaneNovaReadyErrorMessage = "OpenStackControlPlane Nova error occured %s"

	// OpenStackControlPlaneCertCleanupReadyErrorMessage
	OpenStackControlPlaneCertCleanupReadyErrorMessage = "OpenStackControlPlane Cert cleanup error occured %s"

	// OpenStackControlPlaneHeatReadyInitMessage
	OpenStackControlPlaneHeatReadyInitMessage = "OpenStackControlPlane Heat not started"

	// OpenStackControlPlaneHeatReadyMessage
	OpenStackControlPlaneHeatReadyMessage = "OpenStackControlPlane Heat completed"

	// OpenStackControlPlaneHeatReadyRunningMessage
	OpenStackControlPlaneHeatReadyRunningMessage = "OpenStackControlPlane Heat in progress"

	// OpenStackControlPlaneHeatReadyErrorMessage
	OpenStackControlPlaneHeatReadyErrorMessage = "OpenStackControlPlane Heat error occured %s"

	// OpenStackControlPlaneIronicReadyInitMessage
	OpenStackControlPlaneIronicReadyInitMessage = "OpenStackControlPlane Ironic not started"

	// OpenStackControlPlaneIronicReadyMessage
	OpenStackControlPlaneIronicReadyMessage = "OpenStackControlPlane Ironic completed"

	// OpenStackControlPlaneIronicReadyRunningMessage
	OpenStackControlPlaneIronicReadyRunningMessage = "OpenStackControlPlane Ironic in progress"

	// OpenStackControlPlaneIronicReadyErrorMessage
	OpenStackControlPlaneIronicReadyErrorMessage = "OpenStackControlPlane Ironic error occured %s"

	// OpenStackControlPlaneClientReadyInitMessage
	OpenStackControlPlaneClientReadyInitMessage = "OpenStackControlPlane Client not started"

	// OpenStackControlPlaneClientReadyMessage
	OpenStackControlPlaneClientReadyMessage = "OpenStackControlPlane Client completed"

	// OpenStackControlPlaneClientReadyRunningMessage
	OpenStackControlPlaneClientReadyRunningMessage = "OpenStackControlPlane Client in progress"

	// OpenStackControlPlaneClientReadyErrorMessage
	OpenStackControlPlaneClientReadyErrorMessage = "OpenStackControlPlane Client error occured %s"

	// OpenStackControlPlaneHorizonReadyInitMessage
	OpenStackControlPlaneHorizonReadyInitMessage = "OpenStackControlPlane Horizon not started"

	// OpenStackControlPlaneHorizonReadyMessage
	OpenStackControlPlaneHorizonReadyMessage = "OpenStackControlPlane Horizon completed"

	// OpenStackControlPlaneHorizonReadyRunningMessage
	OpenStackControlPlaneHorizonReadyRunningMessage = "OpenStackControlPlane Horizon in progress"

	// OpenStackControlPlaneHorizonReadyErrorMessage
	OpenStackControlPlaneHorizonReadyErrorMessage = "OpenStackControlPlane Horizon error occured %s"

	// OpenStackControlPlaneDNSReadyInitMessage
	OpenStackControlPlaneDNSReadyInitMessage = "OpenStackControlPlane DNS not started"

	// OpenStackControlPlaneDNSReadyMessage
	OpenStackControlPlaneDNSReadyMessage = "OpenStackControlPlane DNS completed"

	// OpenStackControlPlaneDNSReadyRunningMessage
	OpenStackControlPlaneDNSReadyRunningMessage = "OpenStackControlPlane DNS in progress"

	// OpenStackControlPlaneDNSReadyErrorMessage
	OpenStackControlPlaneDNSReadyErrorMessage = "OpenStackControlPlane DNS error occured %s"

	// OpenStackControlPlaneTelemetryReadyInitMessage
	OpenStackControlPlaneTelemetryReadyInitMessage = "OpenStackControlPlane Telemetry not started"

	// OpenStackControlPlaneTelemetryReadyMessage
	OpenStackControlPlaneTelemetryReadyMessage = "OpenStackControlPlane Telemetry completed"

	// OpenStackControlPlaneTelemetryReadyRunningMessage
	OpenStackControlPlaneTelemetryReadyRunningMessage = "OpenStackControlPlane Telemetry in progress"

	// OpenStackControlPlaneTelemetryReadyErrorMessage
	OpenStackControlPlaneTelemetryReadyErrorMessage = "OpenStackControlPlane Telemetry error occured %s"

	// OpenStackControlPlaneOctaviaReadyInitMessage
	OpenStackControlPlaneOctaviaReadyInitMessage = "OpenStackControlPlane Octavia not started"

	// OpenStackControlPlaneOctaviaReadyMessage
	OpenStackControlPlaneOctaviaReadyMessage = "OpenStackControlPlane Octavia completed"

	// OpenStackControlPlaneOctaviaReadyRunningMessage
	OpenStackControlPlaneOctaviaReadyRunningMessage = "OpenStackControlPlane Octavia in progress"

	// OpenStackControlPlaneOctaviaReadyErrorMessage
	OpenStackControlPlaneOctaviaReadyErrorMessage = "OpenStackControlPlane Octavia error occured %s"

	// OpenStackControlPlaneDesignateReadyInitMessage
	OpenStackControlPlaneDesignateReadyInitMessage = "OpenStackControlPlane Designate not started"

	// OpenStackControlPlaneDesignateReadyMessage
	OpenStackControlPlaneDesignateReadyMessage = "OpenStackControlPlane Designate completed"

	// OpenStackControlPlaneDesignateReadyRunningMessage
	OpenStackControlPlaneDesignateReadyRunningMessage = "OpenStackControlPlane Designate in progress"

	// OpenStackControlPlaneDesignateReadyErrorMessage
	OpenStackControlPlaneDesignateReadyErrorMessage = "OpenStackControlPlane Designate error occured %s"

	// OpenStackControlPlaneBarbicanReadyInitMessage
	OpenStackControlPlaneBarbicanReadyInitMessage = "OpenStackControlPlane Barbican not started"

	// OpenStackControlPlaneBarbicanReadyMessage
	OpenStackControlPlaneBarbicanReadyMessage = "OpenStackControlPlane Barbican completed"

	// OpenStackControlPlaneBarbicanReadyRunningMessage
	OpenStackControlPlaneBarbicanReadyRunningMessage = "OpenStackControlPlane Barbican in progress"

	// OpenStackControlPlaneBarbicanReadyErrorMessage
	OpenStackControlPlaneBarbicanReadyErrorMessage = "OpenStackControlPlane Barbican error occured %s"

	// OpenStackControlPlaneSwiftReadyInitMessage
	OpenStackControlPlaneSwiftReadyInitMessage = "OpenStackControlPlane Swift not started"

	// OpenStackControlPlaneSwiftReadyMessage
	OpenStackControlPlaneSwiftReadyMessage = "OpenStackControlPlane Swift completed"

	// OpenStackControlPlaneSwiftReadyRunningMessage
	OpenStackControlPlaneSwiftReadyRunningMessage = "OpenStackControlPlane Swift in progress"

	// OpenStackControlPlaneSwiftReadyErrorMessage
	OpenStackControlPlaneSwiftReadyErrorMessage = "OpenStackControlPlane Swift error occured %s"

	// OpenStackControlPlaneManilaReadyInitMessage
	OpenStackControlPlaneManilaReadyInitMessage = "OpenStackControlPlane Manila not started"

	// OpenStackControlPlaneManilaReadyMessage
	OpenStackControlPlaneManilaReadyMessage = "OpenStackControlPlane Manila completed"

	// OpenStackControlPlaneManilaReadyRunningMessage
	OpenStackControlPlaneManilaReadyRunningMessage = "OpenStackControlPlane Manila in progress"

	// OpenStackControlPlaneManilaReadyErrorMessage
	OpenStackControlPlaneManilaReadyErrorMessage = "OpenStackControlPlane Manila error occured %s"

	// OpenStackControlPlaneRedisReadyInitMessage
	OpenStackControlPlaneRedisReadyInitMessage = "OpenStackControlPlane Redis not started"

	// OpenStackControlPlaneRedisReadyMessage
	OpenStackControlPlaneRedisReadyMessage = "OpenStackControlPlane Redis completed"

	// OpenStackControlPlaneRedisReadyRunningMessage
	OpenStackControlPlaneRedisReadyRunningMessage = "OpenStackControlPlane Redis in progress"

	// OpenStackControlPlaneRedisReadyErrorMessage
	OpenStackControlPlaneRedisReadyErrorMessage = "OpenStackControlPlane Redis error occured %s"

	// OpenStackControlPlaneExposeServiceReadyInitMessage
	OpenStackControlPlaneExposeServiceReadyInitMessage = "OpenStackControlPlane %s exposing service %s not started"

	// OpenStackControlPlaneExposeServiceReadyErrorMessage
	OpenStackControlPlaneExposeServiceReadyErrorMessage = "OpenStackControlPlane %s exposing service via route %s error occured %s"

	// OpenStackControlPlaneExposeServiceReadyMessage
	OpenStackControlPlaneExposeServiceReadyMessage = "OpenStackControlPlane %s service exposed"

	// OpenStackControlPlaneExposeServiceReadyRouteAdmissionErrorMessage
	OpenStackControlPlaneExposeServiceReadyRouteAdmissionErrorMessage = "OpenStackControlPlane %s route %s admission failed: %s"

	// OpenStackControlPlaneCAReadyInitMessage
	OpenStackControlPlaneCAReadyInitMessage = "OpenStackControlPlane CAs not started"

	// OpenStackControlPlaneCAReadyMessage
	OpenStackControlPlaneCAReadyMessage = "OpenStackControlPlane CAs completed"

	// OpenStackControlPlaneCAReadyRunningMessage
	OpenStackControlPlaneCAReadyRunningMessage = "OpenStackControlPlane CAs in progress"

	// OpenStackControlPlaneCAReadyErrorMessage
	OpenStackControlPlaneCAReadyErrorMessage = "OpenStackControlPlane CAs %s %s error occured %s"

	// OpenStackControlPlaneCustomTLSReadyMessage
	OpenStackControlPlaneCustomTLSReadyMessage = "OpenStackControlPlane custom TLS cert secret available"

	// OpenStackControlPlaneCustomTLSReadyWaitingMessage
	OpenStackControlPlaneCustomTLSReadyWaitingMessage = "OpenStackControlPlane custom TLS cert secret %s not yet available"

	// OpenStackControlPlaneCAReadyErrorMessage
	OpenStackControlPlaneCustomTLSReadyErrorMessage = "OpenStackControlPlane custom TLS cert secret %s error occured %s"

	// OpenStackControlPlaneTestCMReadyErrorMessage
	OpenStackControlPlaneTestCMReadyErrorMessage = "OpenStackControlPlane Test Operator CM error occured %s"

	// OpenStackControlPlaneTestCMReadyMessage
	OpenStackControlPlaneTestCMReadyMessage = "OpenStackControlPlane Test Operator CM is available"

	// OpenStackControlPlaneInstanceHaCMReadyErrorMessage
	OpenStackControlPlaneInstanceHaCMReadyErrorMessage = "OpenStackControlPlane InstanceHa CM error occured %s"

	// OpenStackControlPlaneInstanceHaCMReadyMessage
	OpenStackControlPlaneInstanceHaCMReadyMessage = "OpenStackControlPlane InstanceHa CM is available"

	// OpenStackControlPlaneOpenStackVersionInitializationReadyInitMessage
	OpenStackControlPlaneOpenStackVersionInitializationReadyInitMessage = "OpenStackControlPlane OpenStackVersion initialization not started"

	// OpenStackControlPlaneOpenStackVersionInitializationReadyMessage
	OpenStackControlPlaneOpenStackVersionInitializationReadyMessage = "OpenStackControlPlane OpenStackVersion initialized"

	// OpenStackControlPlaneOpenStackVersionInitializationReadyRunningMessage
	OpenStackControlPlaneOpenStackVersionInitializationReadyRunningMessage = "OpenStackControlPlane OpenStackVersion initialization in progress"

	// OpenStackControlPlaneOpenStackVersionInitializationReadyErrorMessage
	OpenStackControlPlaneOpenStackVersionInitializationReadyErrorMessage = "OpenStackControlPlane OpenStackVersion initialization error occured %s"

	// OpenStackControlPlaneWatcherReadyInitMessage
	OpenStackControlPlaneWatcherReadyInitMessage = "OpenStackControlPlane Watcher not started"

	// OpenStackControlPlaneWatcherReadyMessage
	OpenStackControlPlaneWatcherReadyMessage = "OpenStackControlPlane Watcher completed"

	// OpenStackControlPlaneWatcherReadyRunningMessage
	OpenStackControlPlaneWatcherReadyRunningMessage = "OpenStackControlPlane Watcher in progress"

	// OpenStackControlPlaneWatcherReadyErrorMessage
	OpenStackControlPlaneWatcherReadyErrorMessage = "OpenStackControlPlane Watcher error occured %s"

	// OpenStackControlPlaneInfrastructureReadyInitMessage
	OpenStackControlPlaneInfrastructureReadyInitMessage = "OpenStackControlPlane Infrastructure not started"

	// OpenStackControlPlaneInfrastructureReadyMessage
	OpenStackControlPlaneInfrastructureReadyMessage = "OpenStackControlPlane Infrastructure ready"

	// OpenStackControlPlaneInfrastructureReadyRunningMessage
	OpenStackControlPlaneInfrastructureReadyRunningMessage = "OpenStackControlPlane Infrastructure in progress"

	// OpenStackControlPlaneInfrastructureReadyWaitingMessage
	OpenStackControlPlaneInfrastructureReadyWaitingMessage = "OpenStackControlPlane Infrastructure in progress - waiting for: %s"

	// OpenStackControlPlaneInfrastructureReadyPausedMessage
	OpenStackControlPlaneInfrastructureReadyPausedMessage = "OpenStackControlPlane Infrastructure ready - deployment paused. Remove annotation to resume reconcile of OpenStack services"

	// OpenStackControlPlaneInfrastructureReadyErrorMessage
	OpenStackControlPlaneInfrastructureReadyErrorMessage = "OpenStackControlPlane Infrastructure error occured %s"
)

Common Messages used by API objects.

View Source
const (
	OpenStackVersionInitialized condition.Type = "Initialized"

	OpenStackVersionMinorUpdateOVNDataplane condition.Type = "MinorUpdateOVNDataplane"

	OpenStackVersionMinorUpdateOVNControlplane condition.Type = "MinorUpdateOVNControlplane"

	OpenStackVersionMinorUpdateRabbitMQ condition.Type = "MinorUpdateRabbitMQ"

	OpenStackVersionMinorUpdateMariaDB condition.Type = "MinorUpdateMariaDB"

	OpenStackVersionMinorUpdateMemcached condition.Type = "MinorUpdateMemcached"

	OpenStackVersionMinorUpdateKeystone condition.Type = "MinorUpdateKeystone"

	OpenStackVersionMinorUpdateControlplane condition.Type = "MinorUpdateControlplane"

	OpenStackVersionMinorUpdateDataplane condition.Type = "MinorUpdateDataplane"

	OpenStackVersionMinorUpdateAvailable condition.Type = "MinorUpdateAvailable"
)

Version Conditions used by to drive minor updates

View Source
const (

	// OpenStackVersionInitializedInitMessage
	OpenStackVersionInitializedInitMessage = "not started"

	// OpenStackVersionInitializedReadyMessage
	OpenStackVersionInitializedReadyMessage = "completed"

	// OpenStackVersionInitializedReadyRunningMessage
	OpenStackVersionInitializedReadyRunningMessage = "in progress"

	// OpenStackVersionInitializedReadyErrorMessage
	OpenStackVersionInitializedReadyErrorMessage = "error occured %s"

	// OpenStackVersionMinorUpdateInitMessage
	OpenStackVersionMinorUpdateInitMessage = "not started"

	// OpenStackVersionMinorUpdateReadyMessage
	OpenStackVersionMinorUpdateReadyMessage = "completed"

	// OpenStackVersionMinorUpdateReadyRunningMessage
	OpenStackVersionMinorUpdateReadyRunningMessage = "in progress"

	// OpenStackVersionMinorUpdateReadyErrorMessage
	OpenStackVersionMinorUpdateReadyErrorMessage = "error occured %s"

	// OpenStackVersionMinorUpdateAvailableMessage
	OpenStackVersionMinorUpdateAvailableMessage = "update available"
)

Version Messages used by API objects.

View Source
const (
	// IngressCaName -
	IngressCaName = tls.DefaultCAPrefix + string(service.EndpointPublic)
	// InternalCaName -
	InternalCaName = tls.DefaultCAPrefix + string(service.EndpointInternal)
	// OvnDbCaName -
	OvnDbCaName = tls.DefaultCAPrefix + "ovn"
	// LibvirtCaName -
	LibvirtCaName = tls.DefaultCAPrefix + "libvirt"

	// GlanceName - Default Glance name
	GlanceName = "glance"
	// CinderName - Default Cinder name
	CinderName = "cinder"

	// DeploymentStageAnnotation - Annotation key for controlling deployment stages
	DeploymentStageAnnotation = "core.openstack.org/deployment-stage"
	// DeploymentStageInfrastructureOnly - Annotation value to pause after infrastructure deployment
	DeploymentStageInfrastructureOnly = "infrastructure-only"

	// ReconcileTriggerAnnotation - Generic annotation to trigger reconciliation and webhook
	// Value is typically a timestamp to ensure annotation changes trigger updates
	// Used by controller to trigger UPDATE webhook when needed (e.g., for service name caching)
	ReconcileTriggerAnnotation = "openstack.org/reconcile-trigger"
)
View Source
const (
	// MinorUpdateOvnControlPlane -
	MinorUpdateOvnControlPlane string = "Minor Update OVN Controlplane In Progress"
	// MinorUpdateControlPlane -
	MinorUpdateControlPlane string = "Minor Update Controlplane In Progress"
	// MinorUpdateComplete -
	MinorUpdateComplete string = "Complete"
)

Variables

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

func GetOpenStackReleaseVersion(envVars []string) string

GetOpenStackReleaseVersion - returns the OpenStack release version

func SetupOpenStackVersionDefaults

func SetupOpenStackVersionDefaults(defaults OpenStackVersionDefaults)

SetupOpenStackVersionDefaults - initialize OpenStackControlPlane spec defaults for use with internal webhooks

func SetupVersionDefaults

func SetupVersionDefaults()

SetupVersionDefaults -

Types

type ACRule

type ACRule struct {
	// Service is the name of the service to target (e.g. "identity").
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Service string `json:"service"`
	// Path is the HTTP path (e.g. "/v3/auth/tokens").
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Path string `json:"path"`
	// Method is the HTTP method to allow (e.g. "POST").
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Method string `json:"method"`
}

ACRule describes a single access rule for an ApplicationCredential +k8s:openapi-gen=true

func (*ACRule) DeepCopy

func (in *ACRule) DeepCopy() *ACRule

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

func (*ACRule) DeepCopyInto

func (in *ACRule) DeepCopyInto(out *ACRule)

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

type ApplicationCredentialSection

type ApplicationCredentialSection struct {
	// Enabled indicates whether an ApplicationCredential should be created
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	Enabled bool `json:"enabled"`

	// ExpirationDays sets the lifetime in days for the AC
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=730
	// +kubebuilder:validation:Minimum=2
	ExpirationDays *int `json:"expirationDays"`

	// GracePeriodDays sets how many days before expiration the AC should be rotated
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=364
	// +kubebuilder:validation:Minimum=1
	GracePeriodDays *int `json:"gracePeriodDays"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default={"admin","service"}
	// +kubebuilder:validation:MinItems=1
	// Roles to assign to the ApplicationCredential
	Roles []string `json:"roles"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Whether the AC should be unrestricted
	Unrestricted *bool `json:"unrestricted"`

	// AccessRules lets supply a custom list of rules
	// If unset, no accessRules field is emitted
	// +kubebuilder:validation:Optional
	// +listType=atomic
	AccessRules []ACRule `json:"accessRules,omitempty"`
}

+kubebuilder:validation:XValidation:rule="self.gracePeriodDays < self.expirationDays",message="gracePeriodDays must be smaller than expirationDays" ApplicationCredentialSection defines the desired configuration for ApplicationCredentials

func (*ApplicationCredentialSection) DeepCopy

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

func (*ApplicationCredentialSection) DeepCopyInto

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

type BarbicanSection

type BarbicanSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether Barbican service should be deployed and managed
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating the Barbican Service
	Template *barbicanv1.BarbicanSpecCore `json:"template,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// APIOverride, provides the ability to override the generated manifest of several child resources.
	APIOverride Override `json:"apiOverride,omitempty"`

	// ApplicationCredential allows service-specific overrides of the global AC configuration.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Optional
	// +nullable
	// +kubebuilder:default={enabled:false}
	ApplicationCredential *ServiceAppCredSection `json:"applicationCredential"`
}

BarbicanSection defines the desired state of Barbican service

func (*BarbicanSection) DeepCopy

func (in *BarbicanSection) DeepCopy() *BarbicanSection

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

func (*BarbicanSection) DeepCopyInto

func (in *BarbicanSection) DeepCopyInto(out *BarbicanSection)

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

type CACertConfig

type CACertConfig struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="87600h"
	// The requested 'duration' (i.e. lifetime) of the Certificate.
	// The Certificate will be renewed either 2/3 through its duration or
	// `renewBefore` period before its expiry, whichever is later. Minimum
	// accepted duration is 1 hour. Value must be in units accepted by Go
	// time.ParseDuration https://golang.org/pkg/time/#ParseDuration
	Duration *metav1.Duration `json:"duration"`

	// +kubebuilder:validation:Optional
	// How long before the currently issued certificate's expiry
	// cert-manager should renew the certificate. The default is 2/3 of the
	// issued certificate's duration. Minimum accepted value is 5 minutes.
	// Value must be in units accepted by Go time.ParseDuration
	// https://golang.org/pkg/time/#ParseDuration
	RenewBefore *metav1.Duration `json:"renewBefore,omitempty"`

	// +kubebuilder:validation:Optional
	// CustomIssuer - use pre-created issue for this CA. No CA and issure is being created
	// the CA cert and chain needs to be added using the CaBundleSecretName.
	CustomIssuer *string `json:"customIssuer,omitempty"`
}

CACertConfig defines details for ca cert configs

func (*CACertConfig) DeepCopy

func (in *CACertConfig) DeepCopy() *CACertConfig

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

func (*CACertConfig) DeepCopyInto

func (in *CACertConfig) DeepCopyInto(out *CACertConfig)

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

func (CACertConfig) IsCustomIssuer

func (ca CACertConfig) IsCustomIssuer() bool

IsCustomIssuer - returns true if CustomIssuer is provided and not empty string

type CertConfig

type CertConfig struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="43800h"
	// The requested 'duration' (i.e. lifetime) of the Certificate.
	// The Certificate will be renewed either 2/3 through its duration or
	// `renewBefore` period before its expiry, whichever is later. Minimum
	// accepted duration is 1 hour. Value must be in units accepted by Go
	// time.ParseDuration https://golang.org/pkg/time/#ParseDuration
	Duration *metav1.Duration `json:"duration"`

	// +kubebuilder:validation:Optional
	// How long before the currently issued certificate's expiry
	// cert-manager should renew the certificate. The default is 2/3 of the
	// issued certificate's duration. Minimum accepted value is 5 minutes.
	// Value must be in units accepted by Go time.ParseDuration
	// https://golang.org/pkg/time/#ParseDuration
	RenewBefore *metav1.Duration `json:"renewBefore,omitempty"`
}

CertConfig defines details for cert configs

func (*CertConfig) DeepCopy

func (in *CertConfig) DeepCopy() *CertConfig

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

func (*CertConfig) DeepCopyInto

func (in *CertConfig) DeepCopyInto(out *CertConfig)

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

func (CertConfig) GetDurationHours

func (c CertConfig) GetDurationHours() string

GetDurationHours - returns the duration in hours

func (CertConfig) GetRenewBeforeHours

func (c CertConfig) GetRenewBeforeHours() string

GetRenewBeforeHours - returns the renewBefore in hours

type CertSection

type CertSection struct {
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:default={duration: "43800h"}
	// Cert - defines details for cert config
	Cert CertConfig `json:"cert"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:default={duration: "87600h"}
	// Ca - defines details for CA cert config
	Ca CACertConfig `json:"ca"`
}

CertSection defines details for CA config and its certs

func (*CertSection) DeepCopy

func (in *CertSection) DeepCopy() *CertSection

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

func (*CertSection) DeepCopyInto

func (in *CertSection) DeepCopyInto(out *CertSection)

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

type CinderSection

type CinderSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether Cinder service should be deployed and managed
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating Cinder Resources
	Template *cinderv1.CinderSpecCore `json:"template,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// APIOverride, provides the ability to override the generated manifest of several child resources.
	APIOverride Override `json:"apiOverride,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// UniquePodNames - Use a unique prefix for cinder CRs to have unique pod names.
	// Convenient to avoid podname (and thus hostname) collision between different deployments.
	// Useful for CI jobs as well as preproduction and production environments that use the same storage backend, etc.
	UniquePodNames bool `json:"uniquePodNames"`

	// +kubebuilder:validation:Optional
	// ServiceName - Cached service name for Cinder CR. Set automatically when UniquePodNames is enabled.
	// This field preserves the service name (with UID suffix) across reconciliations and restores,
	// ensuring consistent resource naming even when the CR is recreated. Should not be manually set.
	ServiceName string `json:"serviceName,omitempty"`

	// ApplicationCredential allows service-specific overrides of the global AC configuration.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Optional
	// +nullable
	// +kubebuilder:default={enabled:false}
	ApplicationCredential *ServiceAppCredSection `json:"applicationCredential"`
}

CinderSection defines the desired state of Cinder service

func (*CinderSection) DeepCopy

func (in *CinderSection) DeepCopy() *CinderSection

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

func (*CinderSection) DeepCopyInto

func (in *CinderSection) DeepCopyInto(out *CinderSection)

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

type ContainerDefaults

type ContainerDefaults struct {
	ContainerTemplate `json:",inline"`
	CinderVolumeImage *string `json:"cinderVolumeImage,omitempty"`
	ManilaShareImage  *string `json:"manilaShareImage,omitempty"`
}

ContainerDefaults - struct that contains container image default URLs for each service (internal use only)

func (*ContainerDefaults) DeepCopy

func (in *ContainerDefaults) DeepCopy() *ContainerDefaults

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

func (*ContainerDefaults) DeepCopyInto

func (in *ContainerDefaults) DeepCopyInto(out *ContainerDefaults)

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

type ContainerImages

type ContainerImages struct {
	ContainerTemplate    `json:",inline"`
	OctaviaApacheImage   *string `json:"octaviaApacheImage,omitempty"`   // gets set to ApacheImage once applied
	CeilometerProxyImage *string `json:"ceilometerProxyImage,omitempty"` // gets set to ApacheImage once applied
	// CinderVolumeImages custom Cinder Volume images for each backend (default Cinder volume image is stored 'default' key)
	// TODO: add validation to cinder-operator to prevent backend being named 'default'
	CinderVolumeImages map[string]*string `json:"cinderVolumeImages,omitempty"`
	// ManilaShareImages custom Manila Share images for each backend (default Manila share image is stored 'default' key)
	// TODO: add validation to manila-operator to prevent backend being named 'default'
	ManilaShareImages map[string]*string `json:"manilaShareImages,omitempty"`
}

ContainerImages - struct acts as the source of truth for container image URLs to be deployed

func (*ContainerImages) DeepCopy

func (in *ContainerImages) DeepCopy() *ContainerImages

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

func (*ContainerImages) DeepCopyInto

func (in *ContainerImages) DeepCopyInto(out *ContainerImages)

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

type ContainerTemplate

type ContainerTemplate struct {
	AgentImage         *string `json:"agentImage,omitempty"`
	AnsibleeeImage     *string `json:"ansibleeeImage,omitempty"`
	AodhAPIImage       *string `json:"aodhAPIImage,omitempty"`
	AodhEvaluatorImage *string `json:"aodhEvaluatorImage,omitempty"`
	AodhListenerImage  *string `json:"aodhListenerImage,omitempty"`
	AodhNotifierImage  *string `json:"aodhNotifierImage,omitempty"`
	// this is shared by BaremetalOperator, OctaviaOperator, and TelemetryOperator
	ApacheImage                   *string `json:"apacheImage,omitempty"`
	BarbicanAPIImage              *string `json:"barbicanAPIImage,omitempty"`
	BarbicanKeystoneListenerImage *string `json:"barbicanKeystoneListenerImage,omitempty"`
	BarbicanWorkerImage           *string `json:"barbicanWorkerImage,omitempty"`
	CeilometerCentralImage        *string `json:"ceilometerCentralImage,omitempty"`
	CeilometerComputeImage        *string `json:"ceilometerComputeImage,omitempty"`
	CeilometerIpmiImage           *string `json:"ceilometerIpmiImage,omitempty"`
	CeilometerNotificationImage   *string `json:"ceilometerNotificationImage,omitempty"`
	CeilometerSgcoreImage         *string `json:"ceilometerSgcoreImage,omitempty"`
	CeilometerMysqldExporterImage *string `json:"ceilometerMysqldExporterImage,omitempty"`
	CinderAPIImage                *string `json:"cinderAPIImage,omitempty"`
	CinderBackupImage             *string `json:"cinderBackupImage,omitempty"`
	CinderSchedulerImage          *string `json:"cinderSchedulerImage,omitempty"`
	CloudKittyAPIImage            *string `json:"cloudkittyAPIImage,omitempty"`
	CloudKittyProcImage           *string `json:"cloudkittyProcImage,omitempty"`
	DesignateAPIImage             *string `json:"designateAPIImage,omitempty"`
	DesignateBackendbind9Image    *string `json:"designateBackendbind9Image,omitempty"`
	DesignateCentralImage         *string `json:"designateCentralImage,omitempty"`
	DesignateMdnsImage            *string `json:"designateMdnsImage,omitempty"`
	DesignateProducerImage        *string `json:"designateProducerImage,omitempty"`
	DesignateUnboundImage         *string `json:"designateUnboundImage,omitempty"`
	DesignateWorkerImage          *string `json:"designateWorkerImage,omitempty"`
	EdpmFrrImage                  *string `json:"edpmFrrImage,omitempty"`
	EdpmIscsidImage               *string `json:"edpmIscsidImage,omitempty"`
	EdpmLogrotateCrondImage       *string `json:"edpmLogrotateCrondImage,omitempty"`
	EdpmMultipathdImage           *string `json:"edpmMultipathdImage,omitempty"`
	EdpmNeutronDhcpAgentImage     *string `json:"edpmNeutronDhcpAgentImage,omitempty"`
	EdpmNeutronMetadataAgentImage *string `json:"edpmNeutronMetadataAgentImage,omitempty"`
	EdpmNeutronOvnAgentImage      *string `json:"edpmNeutronOvnAgentImage,omitempty"`
	EdpmNeutronSriovAgentImage    *string `json:"edpmNeutronSriovAgentImage,omitempty"`
	EdpmOvnBgpAgentImage          *string `json:"edpmOvnBgpAgentImage,omitempty"`
	EdpmNodeExporterImage         *string `json:"edpmNodeExporterImage,omitempty"`
	EdpmKeplerImage               *string `json:"edpmKeplerImage,omitempty"`
	EdpmPodmanExporterImage       *string `json:"edpmPodmanExporterImage,omitempty"`
	// Deprecated: Use OpenstackNetworkExporterImage instead
	EdpmOpenstackNetworkExporterImage *string `json:"edpmOpenstackNetworkExporterImage,omitempty"`
	OpenstackNetworkExporterImage     *string `json:"openstackNetworkExporterImage,omitempty"`
	GlanceAPIImage                    *string `json:"glanceAPIImage,omitempty"`
	HeatAPIImage                      *string `json:"heatAPIImage,omitempty"`
	HeatCfnapiImage                   *string `json:"heatCfnapiImage,omitempty"`
	HeatEngineImage                   *string `json:"heatEngineImage,omitempty"`
	HorizonImage                      *string `json:"horizonImage,omitempty"`
	InfraDnsmasqImage                 *string `json:"infraDnsmasqImage,omitempty"`
	InfraMemcachedImage               *string `json:"infraMemcachedImage,omitempty"`
	InfraRedisImage                   *string `json:"infraRedisImage,omitempty"`
	IronicAPIImage                    *string `json:"ironicAPIImage,omitempty"`
	IronicConductorImage              *string `json:"ironicConductorImage,omitempty"`
	IronicInspectorImage              *string `json:"ironicInspectorImage,omitempty"`
	IronicNeutronAgentImage           *string `json:"ironicNeutronAgentImage,omitempty"`
	IronicPxeImage                    *string `json:"ironicPxeImage,omitempty"`
	IronicPythonAgentImage            *string `json:"ironicPythonAgentImage,omitempty"`
	KeystoneAPIImage                  *string `json:"keystoneAPIImage,omitempty"`
	KsmImage                          *string `json:"ksmImage,omitempty"`
	ManilaAPIImage                    *string `json:"manilaAPIImage,omitempty"`
	ManilaSchedulerImage              *string `json:"manilaSchedulerImage,omitempty"`
	MariadbImage                      *string `json:"mariadbImage,omitempty"`
	NetUtilsImage                     *string `json:"netUtilsImage,omitempty"`
	NeutronAPIImage                   *string `json:"neutronAPIImage,omitempty"`
	NovaAPIImage                      *string `json:"novaAPIImage,omitempty"`
	NovaComputeImage                  *string `json:"novaComputeImage,omitempty"`
	NovaConductorImage                *string `json:"novaConductorImage,omitempty"`
	NovaNovncImage                    *string `json:"novaNovncImage,omitempty"`
	NovaSchedulerImage                *string `json:"novaSchedulerImage,omitempty"`
	OctaviaAPIImage                   *string `json:"octaviaAPIImage,omitempty"`
	OctaviaHealthmanagerImage         *string `json:"octaviaHealthmanagerImage,omitempty"`
	OctaviaHousekeepingImage          *string `json:"octaviaHousekeepingImage,omitempty"`
	OctaviaWorkerImage                *string `json:"octaviaWorkerImage,omitempty"`
	OctaviaRsyslogImage               *string `json:"octaviaRsyslogImage,omitempty"`
	OpenstackClientImage              *string `json:"openstackClientImage,omitempty"`
	OsContainerImage                  *string `json:"osContainerImage,omitempty"` //fixme wire this in?
	OvnControllerImage                *string `json:"ovnControllerImage,omitempty"`
	OvnControllerOvsImage             *string `json:"ovnControllerOvsImage,omitempty"`
	OvnNbDbclusterImage               *string `json:"ovnNbDbclusterImage,omitempty"`
	OvnNorthdImage                    *string `json:"ovnNorthdImage,omitempty"`
	OvnSbDbclusterImage               *string `json:"ovnSbDbclusterImage,omitempty"`
	PlacementAPIImage                 *string `json:"placementAPIImage,omitempty"`
	RabbitmqImage                     *string `json:"rabbitmqImage,omitempty"`
	SwiftAccountImage                 *string `json:"swiftAccountImage,omitempty"`
	SwiftContainerImage               *string `json:"swiftContainerImage,omitempty"`
	SwiftObjectImage                  *string `json:"swiftObjectImage,omitempty"`
	SwiftProxyImage                   *string `json:"swiftProxyImage,omitempty"`
	TelemetryNodeExporterImage        *string `json:"telemetryNodeExporterImage,omitempty"`
	TestTempestImage                  *string `json:"testTempestImage,omitempty"`
	TestTobikoImage                   *string `json:"testTobikoImage,omitempty"`
	TestHorizontestImage              *string `json:"testHorizontestImage,omitempty"`
	TestAnsibletestImage              *string `json:"testAnsibletestImage,omitempty"`
	WatcherAPIImage                   *string `json:"watcherAPIImage,omitempty"`
	WatcherApplierImage               *string `json:"watcherApplierImage,omitempty"`
	WatcherDecisionEngineImage        *string `json:"watcherDecisionEngineImage,omitempty"`
}

ContainerTemplate - struct that contains container image URLs for each service in OpenStackControlplane

func (*ContainerTemplate) DeepCopy

func (in *ContainerTemplate) DeepCopy() *ContainerTemplate

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

func (*ContainerTemplate) DeepCopyInto

func (in *ContainerTemplate) DeepCopyInto(out *ContainerTemplate)

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

type CustomContainerImages

type CustomContainerImages struct {
	ContainerTemplate  `json:",inline"`
	CinderVolumeImages map[string]*string `json:"cinderVolumeImages,omitempty"`
	ManilaShareImages  map[string]*string `json:"manilaShareImages,omitempty"`
}

CustomContainerImages - struct for custom container images

func (*CustomContainerImages) DeepCopy

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

func (*CustomContainerImages) DeepCopyInto

func (in *CustomContainerImages) DeepCopyInto(out *CustomContainerImages)

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

type DNSMasqSection

type DNSMasqSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether DNSMasq service should be deployed and managed
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating the DNSMasq service
	Template *networkv1.DNSMasqSpecCore `json:"template,omitempty"`
}

DNSMasqSection defines the desired state of DNSMasq service

func (*DNSMasqSection) DeepCopy

func (in *DNSMasqSection) DeepCopy() *DNSMasqSection

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

func (*DNSMasqSection) DeepCopyInto

func (in *DNSMasqSection) DeepCopyInto(out *DNSMasqSection)

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

type DesignateSection

type DesignateSection struct {
	// +kubebuilder:validation:Optional
	// Enabled - Whether the Designate service should be deployed and managed
	// +kubebuilder:default=false
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	Enabled bool `json:"enabled"`

	// +kubebuilder:valdiation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating Designate Resources
	Template *designatev1.DesignateSpecCore `json:"template,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// APIOverride, provides the ability to override the generated manifest of several child resources.
	APIOverride Override `json:"apiOverride,omitempty"`

	// ApplicationCredential allows service-specific overrides of the global AC configuration.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Optional
	// +nullable
	// +kubebuilder:default={enabled:false}
	ApplicationCredential *ServiceAppCredSection `json:"applicationCredential"`
}

DesignateSection defines the desired state of the Designate service

func (*DesignateSection) DeepCopy

func (in *DesignateSection) DeepCopy() *DesignateSection

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

func (*DesignateSection) DeepCopyInto

func (in *DesignateSection) DeepCopyInto(out *DesignateSection)

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

type GaleraSection

type GaleraSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether Galera services should be deployed and managed
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Templates - Overrides to use when creating the Galera databases
	Templates *map[string]mariadbv1.GaleraSpecCore `json:"templates,omitempty"`
}

GaleraSection defines the desired state of Galera services

func (*GaleraSection) DeepCopy

func (in *GaleraSection) DeepCopy() *GaleraSection

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

func (*GaleraSection) DeepCopyInto

func (in *GaleraSection) DeepCopyInto(out *GaleraSection)

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

type GlanceSection

type GlanceSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether Glance service should be deployed and managed
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating the Glance Service
	Template *glancev1.GlanceSpecCore `json:"template,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// APIOverride, provides the ability to override the generated manifest of several child resources.
	APIOverride map[string]Override `json:"apiOverrides,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// UniquePodNames - Use a unique prefix for glance CRs to have unique pod names.
	// Convenient to avoid podname (and thus hostname) collision between different deployments.
	// Useful for CI jobs as well as preproduction and production environments that use the same storage backend, etc.
	UniquePodNames bool `json:"uniquePodNames"`

	// +kubebuilder:validation:Optional
	// ServiceName - Cached service name for Glance CR. Set automatically when UniquePodNames is enabled.
	// This field preserves the service name (with UID suffix) across reconciliations and restores,
	// ensuring consistent resource naming even when the CR is recreated. Should not be manually set.
	ServiceName string `json:"serviceName,omitempty"`

	// ApplicationCredential allows service-specific overrides of the global AC configuration.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Optional
	// +nullable
	// +kubebuilder:default={enabled:false}
	ApplicationCredential *ServiceAppCredSection `json:"applicationCredential"`
}

GlanceSection defines the desired state of Glance service

func (*GlanceSection) DeepCopy

func (in *GlanceSection) DeepCopy() *GlanceSection

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

func (*GlanceSection) DeepCopyInto

func (in *GlanceSection) DeepCopyInto(out *GlanceSection)

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

type HeatSection

type HeatSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether Heat services should be deployed and managed
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating the Heat services
	Template *heatv1.HeatSpecCore `json:"template,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// APIOverride, provides the ability to override the generated manifest of several child resources.
	APIOverride Override `json:"apiOverride,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// CnfAPIOverride, provides the ability to override the generated manifest of several child resources.
	CnfAPIOverride Override `json:"cnfAPIOverride,omitempty"`

	// ApplicationCredential allows service-specific overrides of the global AC configuration.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Optional
	// +nullable
	// +kubebuilder:default={enabled:false}
	ApplicationCredential *ServiceAppCredSection `json:"applicationCredential"`
}

HeatSection defines the desired state of Heat services

func (*HeatSection) DeepCopy

func (in *HeatSection) DeepCopy() *HeatSection

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

func (*HeatSection) DeepCopyInto

func (in *HeatSection) DeepCopyInto(out *HeatSection)

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

type HorizonSection

type HorizonSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Enabled - Whether Horizon services should be deployed and managed
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating the Horizon services
	Template *horizonv1.HorizonSpecCore `json:"template,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// APIOverride, provides the ability to override the generated manifest of several child resources.
	APIOverride Override `json:"apiOverride,omitempty"`
}

HorizonSection defines the desired state of Horizon services

func (*HorizonSection) DeepCopy

func (in *HorizonSection) DeepCopy() *HorizonSection

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

func (*HorizonSection) DeepCopyInto

func (in *HorizonSection) DeepCopyInto(out *HorizonSection)

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

type IronicSection

type IronicSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether Ironic services should be deployed and managed
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating the Ironic services
	Template *ironicv1.IronicSpecCore `json:"template,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// APIOverride, provides the ability to override the generated manifest of several child resources.
	APIOverride Override `json:"apiOverride,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// InspectorOverride, provides the ability to override the generated manifest of several child resources.
	InspectorOverride Override `json:"inspectorOverride,omitempty"`

	// ApplicationCredential allows service-specific overrides of the global AC configuration.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Optional
	// +nullable
	// +kubebuilder:default={enabled:false}
	ApplicationCredential *ServiceAppCredSection `json:"applicationCredential"`
}

IronicSection defines the desired state of Ironic services

func (*IronicSection) DeepCopy

func (in *IronicSection) DeepCopy() *IronicSection

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

func (*IronicSection) DeepCopyInto

func (in *IronicSection) DeepCopyInto(out *IronicSection)

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

type KeystoneSection

type KeystoneSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether Keystone service should be deployed and managed
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating the Keystone service
	Template *keystonev1.KeystoneAPISpecCore `json:"template,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// APIOverride, provides the ability to override the generated manifest of several child resources.
	APIOverride Override `json:"apiOverride,omitempty"`
}

KeystoneSection defines the desired state of Keystone service

func (*KeystoneSection) DeepCopy

func (in *KeystoneSection) DeepCopy() *KeystoneSection

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

func (*KeystoneSection) DeepCopyInto

func (in *KeystoneSection) DeepCopyInto(out *KeystoneSection)

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

type ManilaSection

type ManilaSection struct {
	// +kubebuilder:validation:Optional
	// Enabled - Whether Manila service should be deployed and managed
	// +kubebuilder:default=false
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating Manila Resources
	Template *manilav1.ManilaSpecCore `json:"template,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// APIOverride, provides the ability to override the generated manifest of several child resources.
	APIOverride Override `json:"apiOverride,omitempty"`

	// ApplicationCredential allows service-specific overrides of the global AC configuration.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Optional
	// +nullable
	// +kubebuilder:default={enabled:false}
	ApplicationCredential *ServiceAppCredSection `json:"applicationCredential"`
}

ManilaSection defines the desired state of Manila service

func (*ManilaSection) DeepCopy

func (in *ManilaSection) DeepCopy() *ManilaSection

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

func (*ManilaSection) DeepCopyInto

func (in *ManilaSection) DeepCopyInto(out *ManilaSection)

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

type MemcachedSection

type MemcachedSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether Memcached services should be deployed and managed
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Templates - Overrides to use when creating the Memcached databases
	Templates *map[string]memcachedv1.MemcachedSpecCore `json:"templates,omitempty"`
}

MemcachedSection defines the desired state of Memcached services

func (*MemcachedSection) DeepCopy

func (in *MemcachedSection) DeepCopy() *MemcachedSection

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

func (*MemcachedSection) DeepCopyInto

func (in *MemcachedSection) DeepCopyInto(out *MemcachedSection)

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

type NeutronSection

type NeutronSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether Neutron service should be deployed and managed
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating the Neutron Service
	Template *neutronv1.NeutronAPISpecCore `json:"template,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// APIOverride, provides the ability to override the generated manifest of several child resources.
	APIOverride Override `json:"apiOverride,omitempty"`

	// ApplicationCredential allows service-specific overrides of the global AC configuration.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Optional
	// +nullable
	// +kubebuilder:default={enabled:false}
	ApplicationCredential *ServiceAppCredSection `json:"applicationCredential"`
}

NeutronSection defines the desired state of Neutron service

func (*NeutronSection) DeepCopy

func (in *NeutronSection) DeepCopy() *NeutronSection

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

func (*NeutronSection) DeepCopyInto

func (in *NeutronSection) DeepCopyInto(out *NeutronSection)

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

type NovaCellOverrideSpec

type NovaCellOverrideSpec struct {
	// +kubebuilder:validation:Optional
	NoVNCProxy Override `json:"noVNCProxy,omitempty"`
}

NovaCellOverrideSpec to override the generated manifest of several child resources.

func (*NovaCellOverrideSpec) DeepCopy

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

func (*NovaCellOverrideSpec) DeepCopyInto

func (in *NovaCellOverrideSpec) DeepCopyInto(out *NovaCellOverrideSpec)

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

type NovaSection

type NovaSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether Nova services should be deployed and managed
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating the Nova services
	Template *novav1.NovaSpecCore `json:"template,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// APIOverride, provides the ability to override the generated manifest of several child resources.
	APIOverride Override `json:"apiOverride,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// CellOverride, provides the ability to override the generated manifest of several child resources
	// for a nova cell. cell0 never have compute nodes and therefore it won't have a noVNCProxy deployed.
	// Providing an override for cell0 noVNCProxy does not have an effect.
	CellOverride map[string]NovaCellOverrideSpec `json:"cellOverride,omitempty"`

	// ApplicationCredential allows service-specific overrides of the global AC configuration.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Optional
	// +nullable
	// +kubebuilder:default={enabled:false}
	ApplicationCredential *ServiceAppCredSection `json:"applicationCredential"`
}

NovaSection defines the desired state of Nova services

func (*NovaSection) DeepCopy

func (in *NovaSection) DeepCopy() *NovaSection

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

func (*NovaSection) DeepCopyInto

func (in *NovaSection) DeepCopyInto(out *NovaSection)

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

type OctaviaSection

type OctaviaSection struct {
	// +kubebuilder:validation:Optional
	// Enabled - Whether the Octavia service should be deployed and managed
	// +kubebuilder:default=false
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	Enabled bool `json:"enabled"`

	// +kubebuilder:valdiation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating Octavia Resources
	Template *octaviav1.OctaviaSpecCore `json:"template,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// APIOverride, provides the ability to override the generated manifest of several child resources.
	APIOverride Override `json:"apiOverride,omitempty"`

	// ApplicationCredential allows service-specific overrides of the global AC configuration.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Optional
	// +nullable
	// +kubebuilder:default={enabled:false}
	ApplicationCredential *ServiceAppCredSection `json:"applicationCredential"`
}

OctaviaSection defines the desired state of the Octavia service

func (*OctaviaSection) DeepCopy

func (in *OctaviaSection) DeepCopy() *OctaviaSection

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

func (*OctaviaSection) DeepCopyInto

func (in *OctaviaSection) DeepCopyInto(out *OctaviaSection)

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

type OpenStackClientSection

type OpenStackClientSection struct {
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating the OpenStackClient Resource
	Template v1beta1.OpenStackClientSpecCore `json:"template,omitempty"`
}

OpenStackClientSection defines the desired state of the OpenStackClient

func (*OpenStackClientSection) DeepCopy

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

func (*OpenStackClientSection) DeepCopyInto

func (in *OpenStackClientSection) DeepCopyInto(out *OpenStackClientSection)

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

type OpenStackControlPlane

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

	Spec   OpenStackControlPlaneSpec   `json:"spec,omitempty"`
	Status OpenStackControlPlaneStatus `json:"status,omitempty"`
}

OpenStackControlPlane is the Schema for the openstackcontrolplanes API

func (*OpenStackControlPlane) CacheServiceNameForCreate

func (r *OpenStackControlPlane) CacheServiceNameForCreate(serviceName string) (string, error)

CacheServiceNameForCreate handles service name caching during CREATE operations Generates a random ID since UID is not yet available

func (*OpenStackControlPlane) CacheServiceNameForUpdate

func (r *OpenStackControlPlane) CacheServiceNameForUpdate(ctx context.Context, c client.Client, serviceName string) (string, error)

CacheServiceNameForUpdate handles service name caching during UPDATE operations Uses existing CR name if it's owned by this OpenStackControlPlane, otherwise generates based on current settings This provides robust flip detection: if we created a CR previously, we preserve its name to avoid creating duplicates

func (*OpenStackControlPlane) DeepCopy

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

func (*OpenStackControlPlane) DeepCopyInto

func (in *OpenStackControlPlane) DeepCopyInto(out *OpenStackControlPlane)

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

func (*OpenStackControlPlane) DeepCopyObject

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

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

func (*OpenStackControlPlane) Default

func (r *OpenStackControlPlane) Default()

Default sets default values for the OpenStackControlPlane

func (*OpenStackControlPlane) DefaultLabel

func (r *OpenStackControlPlane) DefaultLabel()

DefaultLabel - adding default label to the OpenStackControlPlane

func (*OpenStackControlPlane) DefaultServices

func (r *OpenStackControlPlane) DefaultServices()

DefaultServices - common function for calling individual services' defaulting functions

func (OpenStackControlPlane) GetInternalIssuer

func (instance OpenStackControlPlane) GetInternalIssuer() string

GetInternalIssuer - returns the internal CA issuer name or custom if configured

func (OpenStackControlPlane) GetLibvirtIssuer

func (instance OpenStackControlPlane) GetLibvirtIssuer() string

GetLibvirtIssuer - returns the libvirt CA issuer name or custom if configured

func (OpenStackControlPlane) GetOvnIssuer

func (instance OpenStackControlPlane) GetOvnIssuer() string

GetOvnIssuer - returns the ovn CA issuer name or custom if configured

func (OpenStackControlPlane) GetPublicIssuer

func (instance OpenStackControlPlane) GetPublicIssuer() string

GetPublicIssuer - returns the public CA issuer name or custom if configured

func (OpenStackControlPlane) GetServiceName

func (instance OpenStackControlPlane) GetServiceName(name string, uniquePodNames bool) (string, string)

GetServiceName - returns the name and altName depending if UniquePodNames is configured

func (OpenStackControlPlane) GetServiceNameCached

func (instance OpenStackControlPlane) GetServiceNameCached(name string, uniquePodNames bool, cachedName string) (string, string)

GetServiceNameCached - returns the name and altName depending if UniquePodNames is configured. If cachedName is provided (non-empty), it will be used instead of generating a new name with UID. This ensures consistent naming across reconciliations and restores.

func (*OpenStackControlPlane) InitConditions

func (instance *OpenStackControlPlane) InitConditions()

InitConditions - Initializes Status Conditons

func (OpenStackControlPlane) IsReady

func (instance OpenStackControlPlane) IsReady() bool

IsReady - returns true if service is ready to serve requests

func (*OpenStackControlPlane) ValidateCreate

ValidateCreate validates the OpenStackControlPlane on creation

func (*OpenStackControlPlane) ValidateCreateServices

func (r *OpenStackControlPlane) ValidateCreateServices(basePath *field.Path) (admission.Warnings, field.ErrorList)

ValidateCreateServices validating service definitions during the OpenstackControlPlane CR creation

func (*OpenStackControlPlane) ValidateDelete

ValidateDelete validates the OpenStackControlPlane on deletion

func (*OpenStackControlPlane) ValidateMessagingBusConfig

func (r *OpenStackControlPlane) ValidateMessagingBusConfig(basePath *field.Path) field.ErrorList

ValidateMessagingBusConfig validates that the User field is not set in top-level messagingBus and notificationsBus configurations. Setting a shared username would cause webhook validation failures in infra-operator when multiple services try to create RabbitMQUser resources with the same username. The Cluster and Vhost fields are allowed at the top level since they can be safely shared across services.

func (*OpenStackControlPlane) ValidateNotificationsBusInstance

func (r *OpenStackControlPlane) ValidateNotificationsBusInstance(basePath *field.Path) *field.Error

ValidateNotificationsBusInstance - returns an error if the notificationsBusInstance parameter is not valid. - nil or empty string must be raised as an error - when notificationsBusInstance does not point to an existing RabbitMQ instance

func (*OpenStackControlPlane) ValidateServiceDependencies

func (r *OpenStackControlPlane) ValidateServiceDependencies(basePath *field.Path) field.ErrorList

ValidateServiceDependencies ensures that when a service is enabled then all the services it depends on are also enabled

func (*OpenStackControlPlane) ValidateTopology

func (r *OpenStackControlPlane) ValidateTopology(basePath *field.Path) *field.Error

ValidateTopology validates the TopologyRef in the OpenStackControlPlane

func (*OpenStackControlPlane) ValidateUpdate

ValidateUpdate validates the OpenStackControlPlane on update

func (*OpenStackControlPlane) ValidateUpdateServices

func (r *OpenStackControlPlane) ValidateUpdateServices(old OpenStackControlPlaneSpec, basePath *field.Path) (admission.Warnings, field.ErrorList)

ValidateUpdateServices validating service definitions during the OpenstackControlPlane CR update

func (*OpenStackControlPlane) ValidateVersion

func (r *OpenStackControlPlane) ValidateVersion(ctx context.Context, c client.Client) (field.ErrorList, error)

ValidateVersion validates the OpenStackVersion reference in the OpenStackControlPlane

type OpenStackControlPlaneList

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

OpenStackControlPlaneList contains a list of OpenStackControlPlane

func (*OpenStackControlPlaneList) DeepCopy

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

func (*OpenStackControlPlaneList) DeepCopyInto

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

func (*OpenStackControlPlaneList) DeepCopyObject

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

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

type OpenStackControlPlaneSpec

type OpenStackControlPlaneSpec struct {

	// +kubebuilder:validation:Required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:io.kubernetes:Secret"}
	// Secret - FIXME: make this optional
	Secret string `json:"secret"`

	// +kubebuilder:validation:Required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:io.kubernetes:StorageClass"}
	// StorageClass -
	StorageClass string `json:"storageClass"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// NodeSelector to target subset of worker nodes running control plane services
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:default={ingress: {enabled: true, ca: {duration: "87600h"}, cert: {duration: "43800h"}}, podLevel: {enabled: true, internal:{ca: {duration: "87600h"}, cert: {duration: "43800h"}}, libvirt: {ca: {duration: "87600h"}, cert: {duration: "43800h"}}, ovn: {ca: {duration: "87600h"}, cert: {duration: "43800h"}}}}
	// TLS - Parameters related to the TLS
	TLS TLSSection `json:"tls"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// DNS - Parameters related to the DNSMasq service
	DNS DNSMasqSection `json:"dns,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Keystone - Parameters related to the Keystone service
	Keystone KeystoneSection `json:"keystone,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Placement - Parameters related to the Placement service
	Placement PlacementSection `json:"placement,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Glance - Parameters related to the Glance service
	Glance GlanceSection `json:"glance,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Cinder - Parameters related to the Cinder service
	Cinder CinderSection `json:"cinder,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Galera - Parameters related to the Galera services
	Galera GaleraSection `json:"galera,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Rabbitmq - Parameters related to the Rabbitmq service
	Rabbitmq RabbitmqSection `json:"rabbitmq,omitempty"`

	// +kubebuilder:validation:Optional
	// MessagingBus configuration (username, vhost, and cluster) for RPC communication.
	// This is the default configuration for all services.
	// Individual services can override by setting their own Template.MessagingBus.
	MessagingBus *rabbitmqv1.RabbitMqConfig `json:"messagingBus,omitempty"`

	// +kubebuilder:validation:Optional
	// NotificationsBusInstance - the name of RabbitMQ Cluster CR to select a Messaging
	// Bus Service instance used by all services that produce or consume notifications.
	// Avoid colocating it with RabbitMQ services used for PRC.
	// That instance will be pushed down for services, unless overriden in templates.
	// Deprecated: Use NotificationsBus.Cluster instead
	NotificationsBusInstance *string `json:"notificationsBusInstance,omitempty"`

	// +kubebuilder:validation:Optional
	// NotificationsBus configuration (username, vhost, and cluster) for notifications.
	// This is the default configuration for all services.
	// Individual services can override by setting their own Template.NotificationsBus.
	// Avoid colocating with MessagingBus used for RPC.
	NotificationsBus *rabbitmqv1.RabbitMqConfig `json:"notificationsBus,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Memcached - Parameters related to the Memcached service
	Memcached MemcachedSection `json:"memcached,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Ovn - Overrides to use when creating the OVN Services
	Ovn OvnSection `json:"ovn,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Neutron - Overrides to use when creating the Neutron Service
	Neutron NeutronSection `json:"neutron,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Nova - Parameters related to the Nova services
	Nova NovaSection `json:"nova,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Heat - Parameters related to the Heat services
	Heat HeatSection `json:"heat,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Ironic - Parameters related to the Ironic services
	Ironic IronicSection `json:"ironic,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Manila - Parameters related to the Manila service
	Manila ManilaSection `json:"manila,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Horizon - Parameters related to the Horizon services
	Horizon HorizonSection `json:"horizon,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Telemetry - Parameters related to the OpenStack Telemetry services
	Telemetry TelemetrySection `json:"telemetry,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Swift - Parameters related to the Swift service
	Swift SwiftSection `json:"swift,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Octavia - Parameters related to the Octavia service
	Octavia OctaviaSection `json:"octavia,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Designate - Parameters related to the Designate service
	Designate DesignateSection `json:"designate,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Barbican - Parameters related to the Barbican service
	Barbican BarbicanSection `json:"barbican,omitempty"`

	// Redis - Parameters related to the Redis service
	Redis RedisSection `json:"redis,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OpenStack Client"
	// OpenStackClient - Parameters related to the OpenStackClient
	OpenStackClient OpenStackClientSection `json:"openstackclient,omitempty"`

	// ExtraMounts containing conf files and credentials that should be provided
	// to the underlying operators.
	// This struct can be defined in the top level CR and propagated to the
	// underlying operators that accept it in their API (e.g., cinder/glance).
	// However, if extraVolumes are specified within the single operator
	// template Section, the globally defined ExtraMounts are ignored and
	// overridden for the operator which has this section already.
	ExtraMounts []OpenStackExtraVolMounts `json:"extraMounts,omitempty"`

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

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Watcher - Parameters related to the Watcher service
	Watcher WatcherSection `json:"watcher,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// ApplicationCredential - Global configuration for ApplicationCredentials.
	// Both this global section AND the per-service applicationCredential section
	// must be enabled for a service to use ApplicationCredentials.
	// If omitted, defaults to enabled=false with standard expiration/grace periods.
	ApplicationCredential ApplicationCredentialSection `json:"applicationCredential,omitempty"`
}

OpenStackControlPlaneSpec defines the desired state of OpenStackControlPlane

func (*OpenStackControlPlaneSpec) DeepCopy

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

func (*OpenStackControlPlaneSpec) DeepCopyInto

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

type OpenStackControlPlaneStatus

type OpenStackControlPlaneStatus struct {
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:io.kubernetes.conditions"}
	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

	// +operator-sdk:csv:customresourcedefinitions:type=status
	// TLS
	TLS TLSStatus `json:"tls,omitempty" optional:"true"`

	// +operator-sdk:csv:customresourcedefinitions:type=status
	// DeployedVersion
	DeployedVersion *string `json:"deployedVersion,omitempty"`

	// +operator-sdk:csv:customresourcedefinitions:type=status
	// DeployedOVNVersion
	DeployedOVNVersion *string `json:"deployedOVNVersion,omitempty"`

	// ContainerImages
	ContainerImages ContainerImages `json:"containerImages,omitempty"`

	//ObservedGeneration - the most recent generation observed for this object.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

OpenStackControlPlaneStatus defines the observed state of OpenStackControlPlane

func (*OpenStackControlPlaneStatus) DeepCopy

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

func (*OpenStackControlPlaneStatus) DeepCopyInto

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

type OpenStackExtraVolMounts

type OpenStackExtraVolMounts struct {
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Name string `json:"name,omitempty"`
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Region string `json:"region,omitempty"`
	// +kubebuilder:validation:Required
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	VolMounts []storage.VolMounts `json:"extraVol"`
}

OpenStackExtraVolMounts exposes additional parameters processed by the openstack-operator and defines the common VolMounts structure provided by the main storage module

func (*OpenStackExtraVolMounts) DeepCopy

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

func (*OpenStackExtraVolMounts) DeepCopyInto

func (in *OpenStackExtraVolMounts) DeepCopyInto(out *OpenStackExtraVolMounts)

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

type OpenStackVersion

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

	Spec   OpenStackVersionSpec   `json:"spec,omitempty"`
	Status OpenStackVersionStatus `json:"status,omitempty"`
}

OpenStackVersion defines the Schema for the openstackversionupdates API

func (*OpenStackVersion) DeepCopy

func (in *OpenStackVersion) DeepCopy() *OpenStackVersion

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

func (*OpenStackVersion) DeepCopyInto

func (in *OpenStackVersion) DeepCopyInto(out *OpenStackVersion)

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

func (*OpenStackVersion) DeepCopyObject

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

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

func (*OpenStackVersion) Default

func (r *OpenStackVersion) Default()

Default sets default values for the OpenStackVersion

func (OpenStackVersion) IsReady

func (instance OpenStackVersion) IsReady() bool

IsReady - returns true if service is ready to serve requests

func (*OpenStackVersion) ValidateCreate

func (r *OpenStackVersion) ValidateCreate(ctx context.Context, c goClient.Client) (admission.Warnings, error)

ValidateCreate validates the OpenStackVersion on creation

func (*OpenStackVersion) ValidateDelete

func (r *OpenStackVersion) ValidateDelete(ctx context.Context, c goClient.Client) (admission.Warnings, error)

ValidateDelete validates the OpenStackVersion on deletion

func (*OpenStackVersion) ValidateUpdate

ValidateUpdate validates the OpenStackVersion on update

type OpenStackVersionDefaults

type OpenStackVersionDefaults struct {
	AvailableVersion string
}

OpenStackVersionDefaults -

func (*OpenStackVersionDefaults) DeepCopy

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

func (*OpenStackVersionDefaults) DeepCopyInto

func (in *OpenStackVersionDefaults) DeepCopyInto(out *OpenStackVersionDefaults)

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

type OpenStackVersionList

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

OpenStackVersionList contains a list of OpenStackVersion

func GetOpenStackVersions

func GetOpenStackVersions(namespace string, k8sClient client.Client) (*OpenStackVersionList, error)

GetOpenStackVersions - returns the OpenStackVersion resource(s) associated with the namespace

func (*OpenStackVersionList) DeepCopy

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

func (*OpenStackVersionList) DeepCopyInto

func (in *OpenStackVersionList) DeepCopyInto(out *OpenStackVersionList)

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

func (*OpenStackVersionList) DeepCopyObject

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

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

type OpenStackVersionSpec

type OpenStackVersionSpec struct {

	// +kubebuilder:validation:Required
	// TargetVersion is the version of OpenStack to install (based on the availableVersion in the OpenStackVersion CR status)
	TargetVersion string `json:"targetVersion"`

	// CustomContainerImages is a list of containerImages to customize for deployment
	CustomContainerImages CustomContainerImages `json:"customContainerImages,omitempty"`
}

OpenStackVersionSpec - defines the desired state of OpenStackVersion

func (*OpenStackVersionSpec) DeepCopy

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

func (*OpenStackVersionSpec) DeepCopyInto

func (in *OpenStackVersionSpec) DeepCopyInto(out *OpenStackVersionSpec)

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

type OpenStackVersionStatus

type OpenStackVersionStatus struct {
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:io.kubernetes.conditions"}
	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

	DeployedVersion  *string `json:"deployedVersion,omitempty"`
	AvailableVersion *string `json:"availableVersion,omitempty"`

	// This is the source of truth for the container images to be deployed.
	ContainerImages ContainerImages `json:"containerImages,omitempty"`

	// where we keep track of the container images for previous versions
	ContainerImageVersionDefaults map[string]*ContainerDefaults `json:"containerImageVersionDefaults,omitempty"`

	// AvailableServiceDefaults - struct that contains defaults for OSP services for each discovered available version
	AvailableServiceDefaults map[string]*ServiceDefaults `json:"availableServiceDefaults,omitempty"`

	// ServiceDefaults - struct that contains current defaults for OSP services
	ServiceDefaults ServiceDefaults `json:"serviceDefaults,omitempty"`

	// TrackedCustomImages tracks CustomContainerImages used for each version to detect changes
	TrackedCustomImages map[string]CustomContainerImages `json:"trackedCustomImages,omitempty"`

	//ObservedGeneration - the most recent generation observed for this object.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

OpenStackVersionStatus defines the observed state of OpenStackVersion

func (*OpenStackVersionStatus) DeepCopy

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

func (*OpenStackVersionStatus) DeepCopyInto

func (in *OpenStackVersionStatus) DeepCopyInto(out *OpenStackVersionStatus)

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

type Override

type Override struct {
	// +kubebuilder:validation:Optional
	// Route overrides to use when creating the public service endpoint
	Route *route.OverrideSpec `json:"route,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// TLS - overrides tls parameters for public endpoint
	TLS *TLSServiceOverride `json:"tls,omitempty"`
}

Override to override the generated manifest of several child resources.

func (*Override) DeepCopy

func (in *Override) DeepCopy() *Override

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

func (*Override) DeepCopyInto

func (in *Override) DeepCopyInto(out *Override)

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

type OvnResources

type OvnResources struct {
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// OVNDBCluster - Overrides to use when creating the OVNDBCluster services
	OVNDBCluster map[string]ovnv1.OVNDBClusterSpecCore `json:"ovnDBCluster,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// OVNNorthd - Overrides to use when creating the OVNNorthd service
	OVNNorthd ovnv1.OVNNorthdSpecCore `json:"ovnNorthd,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// OVNController - Overrides to use when creating the OVNController service
	OVNController ovnv1.OVNControllerSpecCore `json:"ovnController,omitempty"`
}

OvnResources defines the desired state of OVN services

func (*OvnResources) DeepCopy

func (in *OvnResources) DeepCopy() *OvnResources

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

func (*OvnResources) DeepCopyInto

func (in *OvnResources) DeepCopyInto(out *OvnResources)

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

type OvnSection

type OvnSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether OVN services should be deployed and managed
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating the OVN services
	Template *OvnResources `json:"template,omitempty"`
}

OvnSection defines the desired state of OVN services

func (*OvnSection) DeepCopy

func (in *OvnSection) DeepCopy() *OvnSection

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

func (*OvnSection) DeepCopyInto

func (in *OvnSection) DeepCopyInto(out *OvnSection)

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

type PlacementSection

type PlacementSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether Placement service should be deployed and managed
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating the Placement API
	Template *placementv1.PlacementAPISpecCore `json:"template,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// APIOverride, provides the ability to override the generated manifest of several child resources.
	APIOverride Override `json:"apiOverride,omitempty"`

	// ApplicationCredential allows service-specific overrides of the global AC configuration.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Optional
	// +nullable
	// +kubebuilder:default={enabled:false}
	ApplicationCredential *ServiceAppCredSection `json:"applicationCredential"`
}

PlacementSection defines the desired state of Placement service

func (*PlacementSection) DeepCopy

func (in *PlacementSection) DeepCopy() *PlacementSection

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

func (*PlacementSection) DeepCopyInto

func (in *PlacementSection) DeepCopyInto(out *PlacementSection)

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

type RabbitmqSection

type RabbitmqSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether RabbitMQ services should be deployed and managed
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Templates - Overrides to use when creating the Rabbitmq clusters
	Templates *map[string]rabbitmqv1.RabbitMqSpecCore `json:"templates"`
}

RabbitmqSection defines the desired state of RabbitMQ service

func (*RabbitmqSection) DeepCopy

func (in *RabbitmqSection) DeepCopy() *RabbitmqSection

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

func (*RabbitmqSection) DeepCopyInto

func (in *RabbitmqSection) DeepCopyInto(out *RabbitmqSection)

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

type RedisSection

type RedisSection struct {
	// +kubebuilder:validation:Optional
	// Enabled - Whether the Redis service should be deployed and managed
	// +kubebuilder:default=false
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	//+operator-sdk:csv:customresourcedefinitions:type=spec
	// Templates - Overrides to use when creating the Redis Resources
	Templates *map[string]redisv1.RedisSpecCore `json:"templates,omitempty"`
}

RedisSection defines the desired state of the Redis service

func (*RedisSection) DeepCopy

func (in *RedisSection) DeepCopy() *RedisSection

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

func (*RedisSection) DeepCopyInto

func (in *RedisSection) DeepCopyInto(out *RedisSection)

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

type ServiceAppCredSection

type ServiceAppCredSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=2
	ExpirationDays *int `json:"expirationDays,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=1
	GracePeriodDays *int `json:"gracePeriodDays,omitempty"`

	// +kubebuilder:validation:Optional
	// Roles to assign to the ApplicationCredential
	Roles []string `json:"roles,omitempty"`

	// +kubebuilder:validation:Optional
	// Whether the AC should be unrestricted
	Unrestricted *bool `json:"unrestricted,omitempty"`

	// AccessRules lets the service override the global AccessRules if specified
	// +kubebuilder:validation:Optional
	// +listType=atomic
	AccessRules []ACRule `json:"accessRules,omitempty"`
}

+kubebuilder:validation:XValidation:rule="!(has(self.expirationDays) && has(self.gracePeriodDays)) || self.gracePeriodDays < self.expirationDays",message="gracePeriodDays must be smaller than expirationDays" ServiceAppCredSection allows service-specific overrides of the global AC configuration

func (*ServiceAppCredSection) DeepCopy

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

func (*ServiceAppCredSection) DeepCopyInto

func (in *ServiceAppCredSection) DeepCopyInto(out *ServiceAppCredSection)

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

type ServiceDefaults

type ServiceDefaults struct {
	GlanceWsgi *string `json:"glanceWsgi,omitempty"`
}

ServiceDefaults - struct that contains defaults for OSP services that can change over time but are associated with a specific OpenStack release version

func (*ServiceDefaults) DeepCopy

func (in *ServiceDefaults) DeepCopy() *ServiceDefaults

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

func (*ServiceDefaults) DeepCopyInto

func (in *ServiceDefaults) DeepCopyInto(out *ServiceDefaults)

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

type SwiftSection

type SwiftSection struct {
	// +kubebuilder:validation:Optional
	// Enabled - Whether Swift service should be deployed and managed
	// +kubebuilder:default=true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating Swift Resources
	Template *swiftv1.SwiftSpecCore `json:"template,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// ProxyOverride, provides the ability to override the generated manifest of several child resources.
	ProxyOverride Override `json:"proxyOverride,omitempty"`

	// ApplicationCredential allows service-specific overrides of the global AC configuration.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Optional
	// +nullable
	// +kubebuilder:default={enabled:false}
	ApplicationCredential *ServiceAppCredSection `json:"applicationCredential"`
}

SwiftSection defines the desired state of Swift service

func (*SwiftSection) DeepCopy

func (in *SwiftSection) DeepCopy() *SwiftSection

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

func (*SwiftSection) DeepCopyInto

func (in *SwiftSection) DeepCopyInto(out *SwiftSection)

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

type TLSCAStatus

type TLSCAStatus struct {
	Name    string `json:"name"`
	Expires string `json:"expires"`
}

TLSCAStatus defines the observed state of TLS

func (*TLSCAStatus) DeepCopy

func (in *TLSCAStatus) DeepCopy() *TLSCAStatus

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

func (*TLSCAStatus) DeepCopyInto

func (in *TLSCAStatus) DeepCopyInto(out *TLSCAStatus)

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

type TLSIngressConfig

type TLSIngressConfig struct {
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether TLS should be enabled for endpoint type
	// +kubebuilder:default=true
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	CertSection `json:",inline"`
}

TLSIngressConfig defines the desired state of the TLS configuration for the ingress configuration (route)

func (*TLSIngressConfig) DeepCopy

func (in *TLSIngressConfig) DeepCopy() *TLSIngressConfig

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

func (*TLSIngressConfig) DeepCopyInto

func (in *TLSIngressConfig) DeepCopyInto(out *TLSIngressConfig)

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

type TLSPodLevelConfig

type TLSPodLevelConfig struct {
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether TLS should be enabled for endpoint type
	// +kubebuilder:default=true
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:default={ca: {duration: "87600h"}, cert: {duration: "43800h"}}
	// Internal - default CA used for all OpenStackControlPlane and OpenStackDataplane endpoints,
	// except OVN related CA and certs
	Internal CertSection `json:"internal"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:default={ca: {duration: "87600h"}, cert: {duration: "43800h"}}
	// Libvirt - CA used for libvirt/qemu services on OpenStackControlPlane and OpenStackDataplane
	Libvirt CertSection `json:"libvirt"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:default={ca: {duration: "87600h"}, cert: {duration: "43800h"}}
	// Ovn - CA used for all OVN services on OpenStackControlPlane and OpenStackDataplane
	Ovn CertSection `json:"ovn"`
}

TLSPodLevelConfig defines the desired state of the TLS configuration for TLS termination at the pod level

func (*TLSPodLevelConfig) DeepCopy

func (in *TLSPodLevelConfig) DeepCopy() *TLSPodLevelConfig

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

func (*TLSPodLevelConfig) DeepCopyInto

func (in *TLSPodLevelConfig) DeepCopyInto(out *TLSPodLevelConfig)

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

type TLSSection

type TLSSection struct {
	// +kubebuilder:validation:optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:default={enabled: true, ca: {duration: "87600h"}, cert: {duration: "43800h"}}
	Ingress TLSIngressConfig `json:"ingress,omitempty"`

	// +kubebuilder:validation:optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:default={enabled: true, internal:{ca: {duration: "87600h"}, cert: {duration: "43800h"}}, libvirt: {ca: {duration: "87600h"}, cert: {duration: "43800h"}}, ovn: {ca: {duration: "87600h"}, cert: {duration: "43800h"}}}
	PodLevel TLSPodLevelConfig `json:"podLevel,omitempty"`

	// +kubebuilder:validation:optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Secret containing any additional CA certificates, which should be added to deployment pods.
	// If services get configured to use a custom cert/key, add the CA cert to validate those in this
	// CA secret.
	tls.Ca `json:",inline"`
}

TLSSection defines the desired state of TLS configuration

func (*TLSSection) DeepCopy

func (in *TLSSection) DeepCopy() *TLSSection

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

func (*TLSSection) DeepCopyInto

func (in *TLSSection) DeepCopyInto(out *TLSSection)

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

type TLSServiceOverride

type TLSServiceOverride struct {
	// +kubebuilder:validation:Optional
	// Name of a Secret in the same Namespace as the service, containing the server's private key, public certificate
	// and CA certificate for TLS.
	// The Secret must store these as tls.key, tls.crt and ca.crt respectively.
	SecretName string `json:"secretName,omitempty"`
}

TLSServiceOverride overrides tls parameters for public endpoint

func (*TLSServiceOverride) DeepCopy

func (in *TLSServiceOverride) DeepCopy() *TLSServiceOverride

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

func (*TLSServiceOverride) DeepCopyInto

func (in *TLSServiceOverride) DeepCopyInto(out *TLSServiceOverride)

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

type TLSStatus

type TLSStatus struct {
	CAList []TLSCAStatus `json:"caList,omitempty"`
	tls.Ca `json:",inline"`
}

TLSStatus defines the observed state of TLS

func (*TLSStatus) DeepCopy

func (in *TLSStatus) DeepCopy() *TLSStatus

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

func (*TLSStatus) DeepCopyInto

func (in *TLSStatus) DeepCopyInto(out *TLSStatus)

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

type TelemetrySection

type TelemetrySection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether OpenStack Telemetry services should be deployed and managed
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating the OpenStack Telemetry services
	Template *telemetryv1.TelemetrySpecCore `json:"template,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// AodhAPIOverride, provides the ability to override the generated manifest of several child resources.
	AodhAPIOverride Override `json:"aodhApiOverride,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// CloudKittyAPIOverride, provides the ability to override the generated manifest of several child resources.
	CloudKittyAPIOverride Override `json:"cloudKittyApiOverride,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// PrometheusOverride, provides the ability to override the generated manifest of several child resources.
	PrometheusOverride Override `json:"prometheusOverride,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// AlertmanagerOverride, provides the ability to override the generated manifest of several child resources.
	AlertmanagerOverride Override `json:"alertmanagerOverride,omitempty"`

	// ApplicationCredentialCeilometer allows service-specific overrides of the global AC configuration for Ceilometer.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Optional
	// +nullable
	// +kubebuilder:default={enabled:false}
	ApplicationCredentialCeilometer *ServiceAppCredSection `json:"applicationCredentialCeilometer"`

	// ApplicationCredentialAodh allows service-specific overrides of the global AC configuration for Aodh.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Optional
	// +nullable
	// +kubebuilder:default={enabled:false}
	ApplicationCredentialAodh *ServiceAppCredSection `json:"applicationCredentialAodh"`

	// ApplicationCredentialCloudKitty allows service-specific overrides of the global AC configuration for CloudKitty.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Optional
	// +nullable
	// +kubebuilder:default={enabled:false}
	ApplicationCredentialCloudKitty *ServiceAppCredSection `json:"applicationCredentialCloudKitty"`
}

TelemetrySection defines the desired state of OpenStack Telemetry services

func (*TelemetrySection) DeepCopy

func (in *TelemetrySection) DeepCopy() *TelemetrySection

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

func (*TelemetrySection) DeepCopyInto

func (in *TelemetrySection) DeepCopyInto(out *TelemetrySection)

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

type WatcherSection

type WatcherSection struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Enabled - Whether Watcher service should be deployed and managed
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Template - Overrides to use when creating the Watcher service
	Template *watcherv1.WatcherSpecCore `json:"template,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// APIOverride, provides the ability to override the generated manifest of several child resources.
	APIOverride Override `json:"apiOverride,omitempty"`

	// ApplicationCredential allows service-specific overrides of the global AC configuration.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Optional
	// +nullable
	// +kubebuilder:default={enabled:false}
	ApplicationCredential *ServiceAppCredSection `json:"applicationCredential"`
}

WatcherSection defines the desired state of Watcher service

func (*WatcherSection) DeepCopy

func (in *WatcherSection) DeepCopy() *WatcherSection

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

func (*WatcherSection) DeepCopyInto

func (in *WatcherSection) DeepCopyInto(out *WatcherSection)

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