Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the core v1beta1 API group +kubebuilder:object:generate=true +groupName=core.openstack.org
Index ¶
- Constants
- Variables
- func GetOpenStackReleaseVersion(envVars []string) string
- func SetupOpenStackVersionDefaults(defaults OpenStackVersionDefaults)
- func SetupVersionDefaults()
- type ACRule
- type ApplicationCredentialSection
- type BarbicanSection
- type CACertConfig
- type CertConfig
- type CertSection
- type CinderSection
- type ContainerDefaults
- type ContainerImages
- type ContainerTemplate
- type CustomContainerImages
- type DNSMasqSection
- type DesignateSection
- type GaleraSection
- type GlanceSection
- type HeatSection
- type HorizonSection
- type IronicSection
- type KeystoneSection
- type ManilaSection
- type MemcachedSection
- type NeutronSection
- type NovaCellOverrideSpec
- type NovaSection
- type OctaviaSection
- type OpenStackClientSection
- type OpenStackControlPlane
- func (r *OpenStackControlPlane) CacheServiceNameForCreate(serviceName string) (string, error)
- func (r *OpenStackControlPlane) CacheServiceNameForUpdate(ctx context.Context, c client.Client, serviceName string) (string, error)
- func (in *OpenStackControlPlane) DeepCopy() *OpenStackControlPlane
- func (in *OpenStackControlPlane) DeepCopyInto(out *OpenStackControlPlane)
- func (in *OpenStackControlPlane) DeepCopyObject() runtime.Object
- func (r *OpenStackControlPlane) Default()
- func (r *OpenStackControlPlane) DefaultLabel()
- func (r *OpenStackControlPlane) DefaultServices()
- func (instance OpenStackControlPlane) GetInternalIssuer() string
- func (instance OpenStackControlPlane) GetLibvirtIssuer() string
- func (instance OpenStackControlPlane) GetOvnIssuer() string
- func (instance OpenStackControlPlane) GetPublicIssuer() string
- func (instance OpenStackControlPlane) GetServiceName(name string, uniquePodNames bool) (string, string)
- func (instance OpenStackControlPlane) GetServiceNameCached(name string, uniquePodNames bool, cachedName string) (string, string)
- func (instance *OpenStackControlPlane) InitConditions()
- func (instance OpenStackControlPlane) IsReady() bool
- func (r *OpenStackControlPlane) ValidateCreate(ctx context.Context, c client.Client) (admission.Warnings, error)
- func (r *OpenStackControlPlane) ValidateCreateServices(basePath *field.Path) (admission.Warnings, field.ErrorList)
- func (r *OpenStackControlPlane) ValidateDelete(ctx context.Context, c client.Client) (admission.Warnings, error)
- func (r *OpenStackControlPlane) ValidateMessagingBusConfig(basePath *field.Path) field.ErrorList
- func (r *OpenStackControlPlane) ValidateNotificationsBusInstance(basePath *field.Path) *field.Error
- func (r *OpenStackControlPlane) ValidateServiceDependencies(basePath *field.Path) field.ErrorList
- func (r *OpenStackControlPlane) ValidateTopology(basePath *field.Path) *field.Error
- func (r *OpenStackControlPlane) ValidateUpdate(ctx context.Context, old runtime.Object, c client.Client) (admission.Warnings, error)
- func (r *OpenStackControlPlane) ValidateUpdateServices(old OpenStackControlPlaneSpec, basePath *field.Path) (admission.Warnings, field.ErrorList)
- func (r *OpenStackControlPlane) ValidateVersion(ctx context.Context, c client.Client) (field.ErrorList, error)
- type OpenStackControlPlaneList
- type OpenStackControlPlaneSpec
- type OpenStackControlPlaneStatus
- type OpenStackExtraVolMounts
- type OpenStackVersion
- func (in *OpenStackVersion) DeepCopy() *OpenStackVersion
- func (in *OpenStackVersion) DeepCopyInto(out *OpenStackVersion)
- func (in *OpenStackVersion) DeepCopyObject() runtime.Object
- func (r *OpenStackVersion) Default()
- func (instance OpenStackVersion) IsReady() bool
- func (r *OpenStackVersion) ValidateCreate(ctx context.Context, c goClient.Client) (admission.Warnings, error)
- func (r *OpenStackVersion) ValidateDelete(ctx context.Context, c goClient.Client) (admission.Warnings, error)
- func (r *OpenStackVersion) ValidateUpdate(ctx context.Context, old runtime.Object, c goClient.Client) (admission.Warnings, error)
- type OpenStackVersionDefaults
- type OpenStackVersionList
- type OpenStackVersionSpec
- type OpenStackVersionStatus
- type Override
- type OvnResources
- type OvnSection
- type PlacementSection
- type RabbitmqSection
- type RedisSection
- type ServiceAppCredSection
- type ServiceDefaults
- type SwiftSection
- type TLSCAStatus
- type TLSIngressConfig
- type TLSPodLevelConfig
- type TLSSection
- type TLSServiceOverride
- type TLSStatus
- type TelemetrySection
- type WatcherSection
Constants ¶
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.
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.
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
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.
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" )
const ( // MinorUpdateOvnControlPlane - MinorUpdateOvnControlPlane string = "Minor Update OVN Controlplane In Progress" // MinorUpdateControlPlane - MinorUpdateControlPlane string = "Minor Update Controlplane In Progress" // MinorUpdateComplete - MinorUpdateComplete string = "Complete" )
Variables ¶
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 ¶
GetOpenStackReleaseVersion - returns the OpenStack release version
func SetupOpenStackVersionDefaults ¶
func SetupOpenStackVersionDefaults(defaults OpenStackVersionDefaults)
SetupOpenStackVersionDefaults - initialize OpenStackControlPlane spec defaults for use with internal webhooks
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ACRule.
func (*ACRule) DeepCopyInto ¶
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 ¶
func (in *ApplicationCredentialSection) DeepCopy() *ApplicationCredentialSection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationCredentialSection.
func (*ApplicationCredentialSection) DeepCopyInto ¶
func (in *ApplicationCredentialSection) DeepCopyInto(out *ApplicationCredentialSection)
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"`
}
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"`
// 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"`
}
CustomContainerImages - struct for custom container images
func (*CustomContainerImages) DeepCopy ¶
func (in *CustomContainerImages) DeepCopy() *CustomContainerImages
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 ¶
func (in *NovaCellOverrideSpec) DeepCopy() *NovaCellOverrideSpec
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 ¶
func (in *OpenStackClientSection) DeepCopy() *OpenStackClientSection
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 ¶
func (in *OpenStackControlPlane) DeepCopy() *OpenStackControlPlane
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 ¶
func (r *OpenStackControlPlane) ValidateCreate(ctx context.Context, c client.Client) (admission.Warnings, error)
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 ¶
func (r *OpenStackControlPlane) ValidateDelete(ctx context.Context, c client.Client) (admission.Warnings, error)
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 ¶
func (r *OpenStackControlPlane) ValidateUpdate(ctx context.Context, old runtime.Object, c client.Client) (admission.Warnings, error)
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 ¶
func (in *OpenStackControlPlaneList) DeepCopy() *OpenStackControlPlaneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackControlPlaneList.
func (*OpenStackControlPlaneList) DeepCopyInto ¶
func (in *OpenStackControlPlaneList) DeepCopyInto(out *OpenStackControlPlaneList)
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 ¶
func (in *OpenStackControlPlaneSpec) DeepCopy() *OpenStackControlPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackControlPlaneSpec.
func (*OpenStackControlPlaneSpec) DeepCopyInto ¶
func (in *OpenStackControlPlaneSpec) DeepCopyInto(out *OpenStackControlPlaneSpec)
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 ¶
func (in *OpenStackControlPlaneStatus) DeepCopy() *OpenStackControlPlaneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackControlPlaneStatus.
func (*OpenStackControlPlaneStatus) DeepCopyInto ¶
func (in *OpenStackControlPlaneStatus) DeepCopyInto(out *OpenStackControlPlaneStatus)
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 ¶
func (in *OpenStackExtraVolMounts) DeepCopy() *OpenStackExtraVolMounts
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
type OpenStackVersionDefaults ¶
type OpenStackVersionDefaults struct {
AvailableVersion string
}
OpenStackVersionDefaults -
func (*OpenStackVersionDefaults) DeepCopy ¶
func (in *OpenStackVersionDefaults) DeepCopy() *OpenStackVersionDefaults
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 ¶
func (in *OpenStackVersionList) DeepCopy() *OpenStackVersionList
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 ¶
func (in *OpenStackVersionSpec) DeepCopy() *OpenStackVersionSpec
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 ¶
func (in *OpenStackVersionStatus) DeepCopy() *OpenStackVersionStatus
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Override.
func (*Override) DeepCopyInto ¶
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 ¶
func (in *ServiceAppCredSection) DeepCopy() *ServiceAppCredSection
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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSStatus.
func (*TLSStatus) DeepCopyInto ¶
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.