apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.18.0 creationTimestamp: "2025-10-11T10:50:42Z" generation: 1 labels: openstack.openstack.org/crd: "" name: openstackcontrolplanes.core.openstack.org resourceVersion: "31970" uid: 635067ac-f777-4d1a-a028-935c2900ea1a spec: conversion: strategy: None group: core.openstack.org names: kind: OpenStackControlPlane listKind: OpenStackControlPlaneList plural: openstackcontrolplanes shortNames: - osctlplane - osctlplanes - oscp - oscps singular: openstackcontrolplane scope: Namespaced versions: - additionalPrinterColumns: - description: Status jsonPath: .status.conditions[0].status name: Status type: string - description: Message jsonPath: .status.conditions[0].message name: Message type: string name: v1beta1 schema: openAPIV3Schema: properties: apiVersion: type: string kind: type: string metadata: type: object spec: properties: barbican: properties: apiOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object enabled: default: true type: boolean template: properties: apiTimeout: default: 90 minimum: 10 type: integer barbicanAPI: properties: apiTimeout: type: integer customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array defaultConfigOverwrite: additionalProperties: type: string type: object enableSecureRBAC: default: true type: boolean networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object barbicanKeystoneListener: properties: customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array defaultConfigOverwrite: additionalProperties: type: string type: object networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object barbicanWorker: properties: customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array defaultConfigOverwrite: additionalProperties: type: string type: object networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object customServiceConfig: type: string databaseAccount: default: barbican type: string databaseInstance: type: string defaultConfigOverwrite: additionalProperties: type: string type: object enabledSecretStores: items: enum: - simple_crypto - pkcs11 type: string maxItems: 2 minItems: 1 type: array x-kubernetes-list-type: set globalDefaultSecretStore: default: simple_crypto enum: - simple_crypto - pkcs11 type: string nodeSelector: additionalProperties: type: string type: object passwordSelectors: default: service: BarbicanPassword simplecryptokek: BarbicanSimpleCryptoKEK properties: pkcs11pin: default: PKCS11Pin type: string service: default: BarbicanPassword type: string simplecryptoadditionalkeks: items: type: string type: array x-kubernetes-list-type: set simplecryptokek: default: SimpleCryptoKEK type: string type: object pkcs11: properties: clientDataPath: default: /etc/hsm-client type: string clientDataSecret: type: string loginSecret: type: string required: - clientDataSecret - loginSecret type: object preserveJobs: default: false type: boolean rabbitMqClusterName: default: rabbitmq type: string secret: default: osp-secret type: string serviceAccount: type: string serviceUser: default: barbican type: string simpleCryptoBackendSecret: default: osp-secret type: string topologyRef: properties: name: type: string namespace: type: string type: object required: - barbicanAPI - barbicanKeystoneListener - barbicanWorker - databaseInstance - rabbitMqClusterName - serviceAccount type: object type: object cinder: properties: apiOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object enabled: default: true type: boolean template: properties: apiTimeout: default: 60 minimum: 10 type: integer cinderAPI: properties: customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object replicas: default: 1 format: int32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object cinderBackup: properties: customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object cinderScheduler: properties: customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object cinderVolumes: additionalProperties: properties: customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 maximum: 1 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object type: object customServiceConfig: type: string databaseAccount: default: cinder type: string databaseInstance: type: string dbPurge: properties: age: default: 30 minimum: 1 type: integer schedule: default: 1 0 * * * type: string type: object extraMounts: items: properties: extraVol: items: properties: extraVolType: type: string mounts: items: properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string required: - mountPath - name type: object type: array propagation: items: type: string type: array volumes: items: properties: cephfs: properties: monitors: items: type: string type: array x-kubernetes-list-type: atomic path: type: string readOnly: type: boolean secretFile: type: string secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic user: type: string required: - monitors type: object configMap: properties: defaultMode: format: int32 type: integer items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic csi: properties: driver: type: string fsType: type: string nodePublishSecretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object required: - driver type: object downwardAPI: properties: defaultMode: format: int32 type: integer items: items: properties: fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic mode: format: int32 type: integer path: type: string resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic required: - path type: object type: array x-kubernetes-list-type: atomic type: object emptyDir: properties: medium: type: string sizeLimit: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object fc: properties: fsType: type: string lun: format: int32 type: integer readOnly: type: boolean targetWWNs: items: type: string type: array x-kubernetes-list-type: atomic wwids: items: type: string type: array x-kubernetes-list-type: atomic type: object hostPath: properties: path: type: string type: type: string required: - path type: object iscsi: properties: chapAuthDiscovery: type: boolean chapAuthSession: type: boolean fsType: type: string initiatorName: type: string iqn: type: string iscsiInterface: default: default type: string lun: format: int32 type: integer portals: items: type: string type: array x-kubernetes-list-type: atomic readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic targetPortal: type: string required: - iqn - lun - targetPortal type: object name: type: string nfs: properties: path: type: string readOnly: type: boolean server: type: string required: - path - server type: object persistentVolumeClaim: properties: claimName: type: string readOnly: type: boolean required: - claimName type: object projected: properties: defaultMode: format: int32 type: integer sources: items: properties: clusterTrustBundle: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic name: type: string optional: type: boolean path: type: string signerName: type: string required: - path type: object configMap: properties: items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic downwardAPI: properties: items: items: properties: fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic mode: format: int32 type: integer path: type: string resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic required: - path type: object type: array x-kubernetes-list-type: atomic type: object secret: properties: items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic serviceAccountToken: properties: audience: type: string expirationSeconds: format: int64 type: integer path: type: string required: - path type: object type: object type: array x-kubernetes-list-type: atomic type: object scaleIO: properties: fsType: default: xfs type: string gateway: type: string protectionDomain: type: string readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic sslEnabled: type: boolean storageMode: default: ThinProvisioned type: string storagePool: type: string system: type: string volumeName: type: string required: - gateway - secretRef - system type: object secret: properties: defaultMode: format: int32 type: integer items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic optional: type: boolean secretName: type: string type: object storageos: properties: fsType: type: string readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic volumeName: type: string volumeNamespace: type: string type: object required: - name type: object type: array required: - mounts - volumes type: object type: array name: type: string region: type: string required: - extraVol type: object type: array memcachedInstance: default: memcached type: string nodeSelector: additionalProperties: type: string type: object notificationsBusInstance: type: string passwordSelectors: default: service: CinderPassword properties: service: default: CinderPassword type: string type: object preserveJobs: default: false type: boolean rabbitMqClusterName: default: rabbitmq type: string secret: type: string serviceUser: default: cinder type: string topologyRef: properties: name: type: string namespace: type: string type: object required: - cinderAPI - cinderScheduler - databaseInstance - memcachedInstance - rabbitMqClusterName - secret type: object uniquePodNames: default: false type: boolean type: object designate: properties: apiOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object enabled: default: false type: boolean template: properties: apiTimeout: default: 120 type: integer backendMdnsServerProtocol: type: string backendType: type: string backendWorkerServerProtocol: type: string customServiceConfig: default: '# add your customization here' type: string databaseAccount: default: designate type: string databaseInstance: type: string defaultConfigOverwrite: additionalProperties: type: string type: object designateAPI: properties: apiTimeout: type: integer backendMdnsServerProtocol: type: string backendType: type: string backendWorkerServerProtocol: type: string customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array databaseAccount: default: designate type: string databaseHostname: type: string defaultConfigOverwrite: additionalProperties: type: string type: object networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object passwordSelectors: default: service: DesignatePassword properties: service: default: DesignatePassword type: string type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object secret: type: string serviceAccount: type: string serviceUser: default: designate type: string tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object transportURLSecret: type: string type: object designateBackendbind9: properties: backendMdnsServerProtocol: type: string backendType: type: string backendWorkerServerProtocol: type: string controlNetworkName: default: designate type: string customBindOptions: items: type: string type: array customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array databaseAccount: default: designate type: string databaseHostname: type: string defaultConfigOverwrite: additionalProperties: type: string type: object netUtilsImage: type: string networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: services: items: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: array x-kubernetes-list-type: atomic type: object passwordSelectors: default: service: DesignatePassword properties: service: default: DesignatePassword type: string type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object secret: type: string serviceAccount: type: string serviceUser: default: designate type: string storageClass: type: string storageRequest: type: string topologyRef: properties: name: type: string namespace: type: string type: object transportURLSecret: type: string type: object designateCentral: properties: backendMdnsServerProtocol: type: string backendType: type: string backendWorkerServerProtocol: type: string customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array databaseAccount: default: designate type: string databaseHostname: type: string defaultConfigOverwrite: additionalProperties: type: string type: object networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object passwordSelectors: default: service: DesignatePassword properties: service: default: DesignatePassword type: string type: object redisHostIPs: items: type: string type: array x-kubernetes-list-type: atomic replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object secret: type: string serviceAccount: type: string serviceUser: default: designate type: string tls: properties: caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object transportURLSecret: type: string type: object designateMdns: properties: backendMdnsServerProtocol: type: string backendType: type: string backendWorkerServerProtocol: type: string controlNetworkName: default: designate type: string customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array databaseAccount: default: designate type: string databaseHostname: type: string defaultConfigOverwrite: additionalProperties: type: string type: object netUtilsImage: type: string networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: services: items: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: array x-kubernetes-list-type: atomic type: object passwordSelectors: default: service: DesignatePassword properties: service: default: DesignatePassword type: string type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object secret: type: string serviceAccount: type: string serviceUser: default: designate type: string tls: properties: caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object transportURLSecret: type: string type: object designateNetworkAttachment: default: designate type: string designateProducer: properties: backendMdnsServerProtocol: type: string backendType: type: string backendWorkerServerProtocol: type: string customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array databaseAccount: default: designate type: string databaseHostname: type: string defaultConfigOverwrite: additionalProperties: type: string type: object networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object passwordSelectors: default: service: DesignatePassword properties: service: default: DesignatePassword type: string type: object redisHostIPs: items: type: string type: array x-kubernetes-list-type: atomic replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object secret: type: string serviceAccount: type: string serviceUser: default: designate type: string tls: properties: caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object transportURLSecret: type: string type: object designateUnbound: properties: customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array defaultConfigOverwrite: additionalProperties: type: string type: object networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: services: items: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: array x-kubernetes-list-type: atomic type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object serviceAccount: type: string stubZones: items: properties: name: type: string options: additionalProperties: type: string type: object required: - name type: object type: array x-kubernetes-list-type: atomic topologyRef: properties: name: type: string namespace: type: string type: object type: object designateWorker: properties: backendMdnsServerProtocol: type: string backendType: type: string backendWorkerServerProtocol: type: string customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array databaseAccount: default: designate type: string databaseHostname: type: string defaultConfigOverwrite: additionalProperties: type: string type: object networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object passwordSelectors: default: service: DesignatePassword properties: service: default: DesignatePassword type: string type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object secret: type: string serviceAccount: type: string serviceUser: default: designate type: string tls: properties: caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object transportURLSecret: type: string type: object nodeSelector: additionalProperties: type: string type: object nsRecords: items: properties: hostname: minLength: 1 type: string priority: minimum: 1 type: integer required: - hostname - priority type: object type: array x-kubernetes-list-type: atomic passwordSelectors: default: service: DesignatePassword properties: service: default: DesignatePassword type: string type: object preserveJobs: default: false type: boolean rabbitMqClusterName: default: rabbitmq type: string redisServiceName: default: designate-redis type: string resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object secret: type: string serviceUser: default: designate type: string topologyRef: properties: name: type: string namespace: type: string type: object required: - databaseInstance - designateAPI - designateBackendbind9 - designateCentral - designateMdns - designateProducer - designateWorker - rabbitMqClusterName - secret type: object type: object dns: properties: enabled: default: true type: boolean template: properties: dnsDataLabelSelectorValue: default: dnsdata type: string nodeSelector: additionalProperties: type: string type: object options: items: properties: key: enum: - server - rev-server - srv-host - txt-record - ptr-record - rebind-domain-ok - naptr-record - cname - host-record - caa-record - dns-rr - auth-zone - synth-domain - no-negcache - local type: string values: items: type: string type: array required: - key - values type: object type: array override: properties: service: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object replicas: default: 1 format: int32 type: integer topologyRef: properties: name: type: string namespace: type: string type: object type: object type: object extraMounts: items: properties: extraVol: items: properties: extraVolType: type: string mounts: items: properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string required: - mountPath - name type: object type: array propagation: items: type: string type: array volumes: items: properties: cephfs: properties: monitors: items: type: string type: array x-kubernetes-list-type: atomic path: type: string readOnly: type: boolean secretFile: type: string secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic user: type: string required: - monitors type: object configMap: properties: defaultMode: format: int32 type: integer items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic csi: properties: driver: type: string fsType: type: string nodePublishSecretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object required: - driver type: object downwardAPI: properties: defaultMode: format: int32 type: integer items: items: properties: fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic mode: format: int32 type: integer path: type: string resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic required: - path type: object type: array x-kubernetes-list-type: atomic type: object emptyDir: properties: medium: type: string sizeLimit: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object fc: properties: fsType: type: string lun: format: int32 type: integer readOnly: type: boolean targetWWNs: items: type: string type: array x-kubernetes-list-type: atomic wwids: items: type: string type: array x-kubernetes-list-type: atomic type: object hostPath: properties: path: type: string type: type: string required: - path type: object iscsi: properties: chapAuthDiscovery: type: boolean chapAuthSession: type: boolean fsType: type: string initiatorName: type: string iqn: type: string iscsiInterface: default: default type: string lun: format: int32 type: integer portals: items: type: string type: array x-kubernetes-list-type: atomic readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic targetPortal: type: string required: - iqn - lun - targetPortal type: object name: type: string nfs: properties: path: type: string readOnly: type: boolean server: type: string required: - path - server type: object persistentVolumeClaim: properties: claimName: type: string readOnly: type: boolean required: - claimName type: object projected: properties: defaultMode: format: int32 type: integer sources: items: properties: clusterTrustBundle: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic name: type: string optional: type: boolean path: type: string signerName: type: string required: - path type: object configMap: properties: items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic downwardAPI: properties: items: items: properties: fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic mode: format: int32 type: integer path: type: string resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic required: - path type: object type: array x-kubernetes-list-type: atomic type: object secret: properties: items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic serviceAccountToken: properties: audience: type: string expirationSeconds: format: int64 type: integer path: type: string required: - path type: object type: object type: array x-kubernetes-list-type: atomic type: object scaleIO: properties: fsType: default: xfs type: string gateway: type: string protectionDomain: type: string readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic sslEnabled: type: boolean storageMode: default: ThinProvisioned type: string storagePool: type: string system: type: string volumeName: type: string required: - gateway - secretRef - system type: object secret: properties: defaultMode: format: int32 type: integer items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic optional: type: boolean secretName: type: string type: object storageos: properties: fsType: type: string readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic volumeName: type: string volumeNamespace: type: string type: object required: - name type: object type: array required: - mounts - volumes type: object type: array name: type: string region: type: string required: - extraVol type: object type: array galera: properties: enabled: default: true type: boolean templates: additionalProperties: properties: customServiceConfig: type: string disableNonTLSListeners: type: boolean logToDisk: type: boolean nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 maximum: 3 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object secret: type: string storageClass: type: string storageRequest: type: string tls: properties: caBundleSecretName: type: string secretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object required: - replicas - secret - storageClass - storageRequest type: object type: object type: object glance: properties: apiOverrides: additionalProperties: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object type: object enabled: default: true type: boolean template: properties: apiTimeout: default: 60 minimum: 1 type: integer customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array databaseAccount: default: glance type: string databaseInstance: type: string dbPurge: properties: age: default: 30 minimum: 1 type: integer schedule: default: 1 0 * * * type: string type: object extraMounts: items: properties: extraVol: items: properties: extraVolType: type: string mounts: items: properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string required: - mountPath - name type: object type: array propagation: items: type: string type: array volumes: items: properties: cephfs: properties: monitors: items: type: string type: array x-kubernetes-list-type: atomic path: type: string readOnly: type: boolean secretFile: type: string secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic user: type: string required: - monitors type: object configMap: properties: defaultMode: format: int32 type: integer items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic csi: properties: driver: type: string fsType: type: string nodePublishSecretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object required: - driver type: object downwardAPI: properties: defaultMode: format: int32 type: integer items: items: properties: fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic mode: format: int32 type: integer path: type: string resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic required: - path type: object type: array x-kubernetes-list-type: atomic type: object emptyDir: properties: medium: type: string sizeLimit: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object fc: properties: fsType: type: string lun: format: int32 type: integer readOnly: type: boolean targetWWNs: items: type: string type: array x-kubernetes-list-type: atomic wwids: items: type: string type: array x-kubernetes-list-type: atomic type: object hostPath: properties: path: type: string type: type: string required: - path type: object iscsi: properties: chapAuthDiscovery: type: boolean chapAuthSession: type: boolean fsType: type: string initiatorName: type: string iqn: type: string iscsiInterface: default: default type: string lun: format: int32 type: integer portals: items: type: string type: array x-kubernetes-list-type: atomic readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic targetPortal: type: string required: - iqn - lun - targetPortal type: object name: type: string nfs: properties: path: type: string readOnly: type: boolean server: type: string required: - path - server type: object persistentVolumeClaim: properties: claimName: type: string readOnly: type: boolean required: - claimName type: object projected: properties: defaultMode: format: int32 type: integer sources: items: properties: clusterTrustBundle: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic name: type: string optional: type: boolean path: type: string signerName: type: string required: - path type: object configMap: properties: items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic downwardAPI: properties: items: items: properties: fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic mode: format: int32 type: integer path: type: string resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic required: - path type: object type: array x-kubernetes-list-type: atomic type: object secret: properties: items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic serviceAccountToken: properties: audience: type: string expirationSeconds: format: int64 type: integer path: type: string required: - path type: object type: object type: array x-kubernetes-list-type: atomic type: object scaleIO: properties: fsType: default: xfs type: string gateway: type: string protectionDomain: type: string readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic sslEnabled: type: boolean storageMode: default: ThinProvisioned type: string storagePool: type: string system: type: string volumeName: type: string required: - gateway - secretRef - system type: object secret: properties: defaultMode: format: int32 type: integer items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic optional: type: boolean secretName: type: string type: object storageos: properties: fsType: type: string readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic volumeName: type: string volumeNamespace: type: string type: object required: - name type: object type: array required: - mounts - volumes type: object type: array name: type: string region: type: string required: - extraVol type: object type: array glanceAPIs: additionalProperties: properties: apiTimeout: minimum: 1 type: integer containerImage: type: string customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array imageCache: properties: cleanerScheduler: default: '*/30 * * * *' type: string prunerScheduler: default: 1 0 * * * type: string size: default: "" type: string required: - size type: object networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object storage: properties: external: type: boolean storageClass: type: string storageRequest: type: string type: object tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object type: default: split enum: - split - single - edge type: string required: - containerImage type: object default: {} type: object imageCache: properties: cleanerScheduler: default: '*/30 * * * *' type: string prunerScheduler: default: 1 0 * * * type: string size: default: "" type: string required: - size type: object keystoneEndpoint: default: "" type: string memcachedInstance: default: memcached type: string nodeSelector: additionalProperties: type: string type: object notificationBusInstance: type: string passwordSelectors: default: service: GlancePassword properties: service: default: GlancePassword type: string type: object preserveJobs: default: false type: boolean quotas: properties: imageCountTotal: default: 0 type: integer imageCountUpload: default: 0 type: integer imageSizeTotal: default: 0 type: integer imageStageTotal: default: 0 type: integer required: - imageCountTotal - imageCountUpload - imageSizeTotal - imageStageTotal type: object secret: type: string serviceUser: default: glance type: string storage: properties: external: type: boolean storageClass: type: string storageRequest: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object required: - databaseInstance - glanceAPIs - imageCache - keystoneEndpoint - memcachedInstance - secret type: object uniquePodNames: default: false type: boolean type: object heat: properties: apiOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object cnfAPIOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object enabled: default: false type: boolean template: properties: apiTimeout: default: 600 minimum: 60 type: integer customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array databaseAccount: default: heat type: string databaseInstance: default: openstack type: string defaultConfigOverwrite: additionalProperties: type: string type: object extraMounts: items: properties: extraVol: items: properties: extraVolType: type: string mounts: items: properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string required: - mountPath - name type: object type: array propagation: items: type: string type: array volumes: items: properties: cephfs: properties: monitors: items: type: string type: array x-kubernetes-list-type: atomic path: type: string readOnly: type: boolean secretFile: type: string secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic user: type: string required: - monitors type: object configMap: properties: defaultMode: format: int32 type: integer items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic csi: properties: driver: type: string fsType: type: string nodePublishSecretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object required: - driver type: object downwardAPI: properties: defaultMode: format: int32 type: integer items: items: properties: fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic mode: format: int32 type: integer path: type: string resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic required: - path type: object type: array x-kubernetes-list-type: atomic type: object emptyDir: properties: medium: type: string sizeLimit: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object fc: properties: fsType: type: string lun: format: int32 type: integer readOnly: type: boolean targetWWNs: items: type: string type: array x-kubernetes-list-type: atomic wwids: items: type: string type: array x-kubernetes-list-type: atomic type: object hostPath: properties: path: type: string type: type: string required: - path type: object iscsi: properties: chapAuthDiscovery: type: boolean chapAuthSession: type: boolean fsType: type: string initiatorName: type: string iqn: type: string iscsiInterface: default: default type: string lun: format: int32 type: integer portals: items: type: string type: array x-kubernetes-list-type: atomic readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic targetPortal: type: string required: - iqn - lun - targetPortal type: object name: type: string nfs: properties: path: type: string readOnly: type: boolean server: type: string required: - path - server type: object persistentVolumeClaim: properties: claimName: type: string readOnly: type: boolean required: - claimName type: object projected: properties: defaultMode: format: int32 type: integer sources: items: properties: clusterTrustBundle: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic name: type: string optional: type: boolean path: type: string signerName: type: string required: - path type: object configMap: properties: items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic downwardAPI: properties: items: items: properties: fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic mode: format: int32 type: integer path: type: string resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic required: - path type: object type: array x-kubernetes-list-type: atomic type: object secret: properties: items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic serviceAccountToken: properties: audience: type: string expirationSeconds: format: int64 type: integer path: type: string required: - path type: object type: object type: array x-kubernetes-list-type: atomic type: object scaleIO: properties: fsType: default: xfs type: string gateway: type: string protectionDomain: type: string readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic sslEnabled: type: boolean storageMode: default: ThinProvisioned type: string storagePool: type: string system: type: string volumeName: type: string required: - gateway - secretRef - system type: object secret: properties: defaultMode: format: int32 type: integer items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic optional: type: boolean secretName: type: string type: object storageos: properties: fsType: type: string readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic volumeName: type: string volumeNamespace: type: string type: object required: - name type: object type: array required: - mounts - volumes type: object type: array name: type: string region: type: string required: - extraVol type: object type: array heatAPI: properties: customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array defaultConfigOverwrite: additionalProperties: type: string type: object nodeSelector: additionalProperties: type: string type: object override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object heatCfnAPI: properties: customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array defaultConfigOverwrite: additionalProperties: type: string type: object nodeSelector: additionalProperties: type: string type: object override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object heatEngine: properties: customServiceConfig: type: string customServiceConfigSecrets: items: type: string type: array defaultConfigOverwrite: additionalProperties: type: string type: object nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object memcachedInstance: default: memcached type: string nodeSelector: additionalProperties: type: string type: object passwordSelectors: default: authEncryptionKey: HeatAuthEncryptionKey service: HeatPassword properties: authEncryptionKey: default: HeatAuthEncryptionKey type: string service: default: HeatPassword type: string stackDomainAdminPassword: default: HeatStackDomainAdminPassword type: string type: object preserveJobs: default: false type: boolean rabbitMqClusterName: default: rabbitmq type: string secret: type: string serviceUser: default: heat type: string topologyRef: properties: name: type: string namespace: type: string type: object required: - databaseInstance - heatAPI - heatCfnAPI - heatEngine - memcachedInstance - rabbitMqClusterName - secret type: object type: object horizon: properties: apiOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object enabled: default: false type: boolean template: properties: customServiceConfig: default: '# add your customization here' type: string defaultConfigOverwrite: additionalProperties: type: string type: object extraMounts: default: [] items: properties: extraVol: items: properties: extraVolType: type: string mounts: items: properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string required: - mountPath - name type: object type: array propagation: items: type: string type: array volumes: items: properties: cephfs: properties: monitors: items: type: string type: array x-kubernetes-list-type: atomic path: type: string readOnly: type: boolean secretFile: type: string secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic user: type: string required: - monitors type: object configMap: properties: defaultMode: format: int32 type: integer items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic csi: properties: driver: type: string fsType: type: string nodePublishSecretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object required: - driver type: object downwardAPI: properties: defaultMode: format: int32 type: integer items: items: properties: fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic mode: format: int32 type: integer path: type: string resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic required: - path type: object type: array x-kubernetes-list-type: atomic type: object emptyDir: properties: medium: type: string sizeLimit: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object fc: properties: fsType: type: string lun: format: int32 type: integer readOnly: type: boolean targetWWNs: items: type: string type: array x-kubernetes-list-type: atomic wwids: items: type: string type: array x-kubernetes-list-type: atomic type: object hostPath: properties: path: type: string type: type: string required: - path type: object iscsi: properties: chapAuthDiscovery: type: boolean chapAuthSession: type: boolean fsType: type: string initiatorName: type: string iqn: type: string iscsiInterface: default: default type: string lun: format: int32 type: integer portals: items: type: string type: array x-kubernetes-list-type: atomic readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic targetPortal: type: string required: - iqn - lun - targetPortal type: object name: type: string nfs: properties: path: type: string readOnly: type: boolean server: type: string required: - path - server type: object persistentVolumeClaim: properties: claimName: type: string readOnly: type: boolean required: - claimName type: object projected: properties: defaultMode: format: int32 type: integer sources: items: properties: clusterTrustBundle: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic name: type: string optional: type: boolean path: type: string signerName: type: string required: - path type: object configMap: properties: items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic downwardAPI: properties: items: items: properties: fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic mode: format: int32 type: integer path: type: string resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic required: - path type: object type: array x-kubernetes-list-type: atomic type: object secret: properties: items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic serviceAccountToken: properties: audience: type: string expirationSeconds: format: int64 type: integer path: type: string required: - path type: object type: object type: array x-kubernetes-list-type: atomic type: object scaleIO: properties: fsType: default: xfs type: string gateway: type: string protectionDomain: type: string readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic sslEnabled: type: boolean storageMode: default: ThinProvisioned type: string storagePool: type: string system: type: string volumeName: type: string required: - gateway - secretRef - system type: object secret: properties: defaultMode: format: int32 type: integer items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic optional: type: boolean secretName: type: string type: object storageos: properties: fsType: type: string readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic volumeName: type: string volumeNamespace: type: string type: object required: - name type: object type: array required: - mounts - volumes type: object type: array name: type: string region: type: string required: - extraVol type: object type: array memcachedInstance: default: memcached type: string networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object preserveJobs: default: false type: boolean replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object secret: type: string tls: properties: caBundleSecretName: type: string secretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object required: - memcachedInstance - secret type: object type: object ironic: properties: apiOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object enabled: default: false type: boolean inspectorOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object template: properties: apiTimeout: default: 60 minimum: 10 type: integer customServiceConfig: default: '# add your customization here' type: string databaseAccount: default: ironic type: string databaseInstance: type: string defaultConfigOverwrite: additionalProperties: type: string type: object graphicalConsoles: default: Disabled enum: - Enabled - Disabled - "" type: string ironicAPI: properties: customServiceConfig: default: '# add your customization here' type: string defaultConfigOverwrite: additionalProperties: type: string type: object networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object ironicConductors: items: properties: conductorGroup: type: string customServiceConfig: default: '# add your customization here' type: string defaultConfigOverwrite: additionalProperties: type: string type: object dhcpRanges: items: properties: cidr: type: string end: type: string gateway: type: string mtu: type: integer name: type: string podIndex: type: integer start: type: string required: - cidr - end - start type: object type: array networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object provisionNetwork: type: string replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object storageClass: default: "" type: string storageRequest: type: string topologyRef: properties: name: type: string namespace: type: string type: object required: - storageClass - storageRequest type: object type: array ironicInspector: properties: customServiceConfig: default: '# add your customization here' type: string databaseAccount: default: ironic-inspector type: string defaultConfigOverwrite: additionalProperties: type: string type: object dhcpRanges: items: properties: cidr: type: string end: type: string gateway: type: string mtu: type: integer name: type: string podIndex: type: integer start: type: string required: - cidr - end - start type: object type: array inspectionNetwork: type: string networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object passwordSelectors: default: service: IronicInspectorPassword properties: service: default: IronicInspectorPassword type: string type: object preserveJobs: default: true type: boolean replicas: default: 1 format: int32 maximum: 1 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object serviceUser: default: ironic-inspector type: string storageClass: type: string tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object ironicNeutronAgent: properties: customServiceConfig: default: '# add your customization here' type: string defaultConfigOverwrite: additionalProperties: type: string type: object nodeSelector: additionalProperties: type: string type: object rabbitMqClusterName: default: rabbitmq type: string replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object nodeSelector: additionalProperties: type: string type: object passwordSelectors: default: service: IronicPassword properties: service: default: IronicPassword type: string type: object preserveJobs: default: true type: boolean rabbitMqClusterName: default: rabbitmq type: string rpcTransport: type: string secret: type: string serviceUser: default: ironic type: string standalone: default: false type: boolean storageClass: default: "" type: string topologyRef: properties: name: type: string namespace: type: string type: object required: - databaseInstance - ironicAPI - ironicInspector - ironicNeutronAgent - secret - storageClass type: object type: object keystone: properties: apiOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object enabled: default: true type: boolean template: properties: adminProject: default: admin type: string adminUser: default: admin type: string apiTimeout: default: 60 minimum: 10 type: integer customServiceConfig: type: string databaseAccount: default: keystone type: string databaseInstance: type: string defaultConfigOverwrite: additionalProperties: type: string type: object enableSecureRBAC: default: true type: boolean extraMounts: default: [] items: properties: extraVol: items: properties: extraVolType: type: string mounts: items: properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string required: - mountPath - name type: object type: array propagation: items: type: string type: array volumes: items: properties: cephfs: properties: monitors: items: type: string type: array x-kubernetes-list-type: atomic path: type: string readOnly: type: boolean secretFile: type: string secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic user: type: string required: - monitors type: object configMap: properties: defaultMode: format: int32 type: integer items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic csi: properties: driver: type: string fsType: type: string nodePublishSecretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object required: - driver type: object downwardAPI: properties: defaultMode: format: int32 type: integer items: items: properties: fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic mode: format: int32 type: integer path: type: string resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic required: - path type: object type: array x-kubernetes-list-type: atomic type: object emptyDir: properties: medium: type: string sizeLimit: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object fc: properties: fsType: type: string lun: format: int32 type: integer readOnly: type: boolean targetWWNs: items: type: string type: array x-kubernetes-list-type: atomic wwids: items: type: string type: array x-kubernetes-list-type: atomic type: object hostPath: properties: path: type: string type: type: string required: - path type: object iscsi: properties: chapAuthDiscovery: type: boolean chapAuthSession: type: boolean fsType: type: string initiatorName: type: string iqn: type: string iscsiInterface: default: default type: string lun: format: int32 type: integer portals: items: type: string type: array x-kubernetes-list-type: atomic readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic targetPortal: type: string required: - iqn - lun - targetPortal type: object name: type: string nfs: properties: path: type: string readOnly: type: boolean server: type: string required: - path - server type: object persistentVolumeClaim: properties: claimName: type: string readOnly: type: boolean required: - claimName type: object projected: properties: defaultMode: format: int32 type: integer sources: items: properties: clusterTrustBundle: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic name: type: string optional: type: boolean path: type: string signerName: type: string required: - path type: object configMap: properties: items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic downwardAPI: properties: items: items: properties: fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic mode: format: int32 type: integer path: type: string resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic required: - path type: object type: array x-kubernetes-list-type: atomic type: object secret: properties: items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic serviceAccountToken: properties: audience: type: string expirationSeconds: format: int64 type: integer path: type: string required: - path type: object type: object type: array x-kubernetes-list-type: atomic type: object scaleIO: properties: fsType: default: xfs type: string gateway: type: string protectionDomain: type: string readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic sslEnabled: type: boolean storageMode: default: ThinProvisioned type: string storagePool: type: string system: type: string volumeName: type: string required: - gateway - secretRef - system type: object secret: properties: defaultMode: format: int32 type: integer items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic optional: type: boolean secretName: type: string type: object storageos: properties: fsType: type: string readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic volumeName: type: string volumeNamespace: type: string type: object required: - name type: object type: array required: - mounts - volumes type: object type: array name: type: string region: type: string required: - extraVol type: object type: array federatedRealmConfig: type: string fernetMaxActiveKeys: default: 5 format: int32 minimum: 3 type: integer fernetRotationDays: default: 1 format: int32 minimum: 1 type: integer httpdCustomization: default: processNumber: 3 properties: customConfigSecret: type: string processNumber: default: 3 format: int32 minimum: 1 type: integer type: object memcachedInstance: default: memcached type: string networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object passwordSelectors: default: admin: AdminPassword properties: admin: default: AdminPassword type: string type: object preserveJobs: default: false type: boolean rabbitMqClusterName: default: rabbitmq type: string region: default: regionOne type: string replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object secret: type: string tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object trustFlushArgs: default: "" type: string trustFlushSchedule: default: 1 * * * * type: string trustFlushSuspend: default: false type: boolean required: - databaseInstance - memcachedInstance - rabbitMqClusterName - secret type: object type: object manila: properties: apiOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object enabled: default: false type: boolean template: properties: apiTimeout: default: 60 minimum: 10 type: integer customServiceConfig: default: '# add your customization here' type: string databaseAccount: default: manila type: string databaseInstance: type: string dbPurge: properties: age: default: 30 minimum: 1 type: integer schedule: default: 1 0 * * * type: string type: object debug: properties: dbPurge: default: false type: boolean type: object extraMounts: items: properties: extraVol: items: properties: extraVolType: type: string mounts: items: properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string required: - mountPath - name type: object type: array propagation: items: type: string type: array volumes: items: properties: cephfs: properties: monitors: items: type: string type: array x-kubernetes-list-type: atomic path: type: string readOnly: type: boolean secretFile: type: string secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic user: type: string required: - monitors type: object configMap: properties: defaultMode: format: int32 type: integer items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic csi: properties: driver: type: string fsType: type: string nodePublishSecretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object required: - driver type: object downwardAPI: properties: defaultMode: format: int32 type: integer items: items: properties: fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic mode: format: int32 type: integer path: type: string resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic required: - path type: object type: array x-kubernetes-list-type: atomic type: object emptyDir: properties: medium: type: string sizeLimit: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object fc: properties: fsType: type: string lun: format: int32 type: integer readOnly: type: boolean targetWWNs: items: type: string type: array x-kubernetes-list-type: atomic wwids: items: type: string type: array x-kubernetes-list-type: atomic type: object hostPath: properties: path: type: string type: type: string required: - path type: object iscsi: properties: chapAuthDiscovery: type: boolean chapAuthSession: type: boolean fsType: type: string initiatorName: type: string iqn: type: string iscsiInterface: default: default type: string lun: format: int32 type: integer portals: items: type: string type: array x-kubernetes-list-type: atomic readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic targetPortal: type: string required: - iqn - lun - targetPortal type: object name: type: string nfs: properties: path: type: string readOnly: type: boolean server: type: string required: - path - server type: object persistentVolumeClaim: properties: claimName: type: string readOnly: type: boolean required: - claimName type: object projected: properties: defaultMode: format: int32 type: integer sources: items: properties: clusterTrustBundle: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic name: type: string optional: type: boolean path: type: string signerName: type: string required: - path type: object configMap: properties: items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic downwardAPI: properties: items: items: properties: fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic mode: format: int32 type: integer path: type: string resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic required: - path type: object type: array x-kubernetes-list-type: atomic type: object secret: properties: items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic serviceAccountToken: properties: audience: type: string expirationSeconds: format: int64 type: integer path: type: string required: - path type: object type: object type: array x-kubernetes-list-type: atomic type: object scaleIO: properties: fsType: default: xfs type: string gateway: type: string protectionDomain: type: string readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic sslEnabled: type: boolean storageMode: default: ThinProvisioned type: string storagePool: type: string system: type: string volumeName: type: string required: - gateway - secretRef - system type: object secret: properties: defaultMode: format: int32 type: integer items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic optional: type: boolean secretName: type: string type: object storageos: properties: fsType: type: string readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic volumeName: type: string volumeNamespace: type: string type: object required: - name type: object type: array required: - mounts - volumes type: object type: array name: type: string region: type: string required: - extraVol type: object type: array manilaAPI: properties: customServiceConfig: default: '# add your customization here' type: string customServiceConfigSecrets: items: type: string type: array networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object manilaScheduler: properties: customServiceConfig: default: '# add your customization here' type: string customServiceConfigSecrets: items: type: string type: array networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object manilaShares: additionalProperties: properties: customServiceConfig: default: '# add your customization here' type: string customServiceConfigSecrets: items: type: string type: array networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object type: object memcachedInstance: default: memcached type: string nodeSelector: additionalProperties: type: string type: object notificationsBusInstance: type: string passwordSelectors: default: service: ManilaPassword properties: service: default: ManilaPassword type: string type: object preserveJobs: default: false type: boolean rabbitMqClusterName: default: rabbitmq type: string secret: type: string serviceUser: default: manila type: string topologyRef: properties: name: type: string namespace: type: string type: object required: - databaseInstance - manilaAPI - manilaScheduler - memcachedInstance - rabbitMqClusterName type: object type: object memcached: properties: enabled: default: true type: boolean templates: additionalProperties: properties: cacheSize: default: 9932 format: int32 type: integer maxConn: default: 8192 format: int32 type: integer nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 maximum: 32 minimum: 1 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object tls: properties: caBundleSecretName: type: string mtls: properties: authCertSecret: properties: secretName: type: string type: object sslVerifyMode: enum: - None - Request - Require type: string type: object secretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object required: - replicas type: object type: object type: object neutron: properties: apiOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object enabled: default: true type: boolean template: properties: apiTimeout: default: 120 minimum: 1 type: integer corePlugin: default: ml2 type: string customServiceConfig: type: string databaseAccount: default: neutron type: string databaseInstance: type: string defaultConfigOverwrite: additionalProperties: type: string type: object extraMounts: items: properties: extraVol: items: properties: extraVolType: type: string mounts: items: properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean recursiveReadOnly: type: string subPath: type: string subPathExpr: type: string required: - mountPath - name type: object type: array propagation: items: type: string type: array volumes: items: properties: cephfs: properties: monitors: items: type: string type: array x-kubernetes-list-type: atomic path: type: string readOnly: type: boolean secretFile: type: string secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic user: type: string required: - monitors type: object configMap: properties: defaultMode: format: int32 type: integer items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic csi: properties: driver: type: string fsType: type: string nodePublishSecretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object required: - driver type: object downwardAPI: properties: defaultMode: format: int32 type: integer items: items: properties: fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic mode: format: int32 type: integer path: type: string resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic required: - path type: object type: array x-kubernetes-list-type: atomic type: object emptyDir: properties: medium: type: string sizeLimit: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object fc: properties: fsType: type: string lun: format: int32 type: integer readOnly: type: boolean targetWWNs: items: type: string type: array x-kubernetes-list-type: atomic wwids: items: type: string type: array x-kubernetes-list-type: atomic type: object hostPath: properties: path: type: string type: type: string required: - path type: object iscsi: properties: chapAuthDiscovery: type: boolean chapAuthSession: type: boolean fsType: type: string initiatorName: type: string iqn: type: string iscsiInterface: default: default type: string lun: format: int32 type: integer portals: items: type: string type: array x-kubernetes-list-type: atomic readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic targetPortal: type: string required: - iqn - lun - targetPortal type: object name: type: string nfs: properties: path: type: string readOnly: type: boolean server: type: string required: - path - server type: object persistentVolumeClaim: properties: claimName: type: string readOnly: type: boolean required: - claimName type: object projected: properties: defaultMode: format: int32 type: integer sources: items: properties: clusterTrustBundle: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic name: type: string optional: type: boolean path: type: string signerName: type: string required: - path type: object configMap: properties: items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic downwardAPI: properties: items: items: properties: fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic mode: format: int32 type: integer path: type: string resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic required: - path type: object type: array x-kubernetes-list-type: atomic type: object secret: properties: items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic name: default: "" type: string optional: type: boolean type: object x-kubernetes-map-type: atomic serviceAccountToken: properties: audience: type: string expirationSeconds: format: int64 type: integer path: type: string required: - path type: object type: object type: array x-kubernetes-list-type: atomic type: object scaleIO: properties: fsType: default: xfs type: string gateway: type: string protectionDomain: type: string readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic sslEnabled: type: boolean storageMode: default: ThinProvisioned type: string storagePool: type: string system: type: string volumeName: type: string required: - gateway - secretRef - system type: object secret: properties: defaultMode: format: int32 type: integer items: items: properties: key: type: string mode: format: int32 type: integer path: type: string required: - key - path type: object type: array x-kubernetes-list-type: atomic optional: type: boolean secretName: type: string type: object storageos: properties: fsType: type: string readOnly: type: boolean secretRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic volumeName: type: string volumeNamespace: type: string type: object required: - name type: object type: array required: - mounts - volumes type: object type: array name: type: string region: type: string required: - extraVol type: object type: array memcachedInstance: default: memcached type: string ml2MechanismDrivers: default: - ovn items: type: string type: array networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object notificationsBusInstance: type: string override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object passwordSelectors: default: service: NeutronPassword properties: service: default: NeutronPassword type: string type: object preserveJobs: default: false type: boolean rabbitMqClusterName: default: rabbitmq type: string replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object secret: type: string serviceUser: default: neutron type: string tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string ovn: properties: secretName: type: string type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object required: - databaseInstance - memcachedInstance - rabbitMqClusterName - secret type: object type: object nodeSelector: additionalProperties: type: string type: object notificationsBusInstance: type: string nova: properties: apiOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object cellOverride: additionalProperties: properties: noVNCProxy: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object type: object type: object enabled: default: true type: boolean template: properties: apiDatabaseAccount: default: nova-api type: string apiDatabaseInstance: default: openstack type: string apiMessageBusInstance: default: rabbitmq type: string apiServiceTemplate: default: replicas: 1 properties: customServiceConfig: type: string defaultConfigOverwrite: additionalProperties: type: string type: object networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object apiTimeout: default: 60 minimum: 10 type: integer cellTemplates: additionalProperties: properties: cellDatabaseAccount: type: string cellDatabaseInstance: default: openstack type: string cellMessageBusInstance: default: rabbitmq type: string conductorServiceTemplate: properties: customServiceConfig: type: string networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object dbPurge: properties: archiveAge: default: 30 minimum: 1 type: integer purgeAge: default: 90 minimum: 1 type: integer schedule: default: 0 0 * * * type: string type: object hasAPIAccess: type: boolean memcachedInstance: type: string metadataServiceTemplate: properties: customServiceConfig: type: string defaultConfigOverwrite: additionalProperties: type: string type: object enabled: type: boolean networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object tls: properties: caBundleSecretName: type: string secretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object noVNCProxyServiceTemplate: properties: customServiceConfig: type: string enabled: type: boolean networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object tls: properties: caBundleSecretName: type: string service: properties: secretName: type: string type: object vencrypt: properties: secretName: type: string type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object nodeSelector: additionalProperties: type: string type: object novaComputeTemplates: additionalProperties: properties: computeDriver: enum: - ironic.IronicDriver - fake.FakeDriver type: string customServiceConfig: type: string defaultConfigOverwrite: additionalProperties: type: string type: object networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object required: - computeDriver type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object required: - cellDatabaseAccount - hasAPIAccess type: object default: cell0: cellDatabaseAccount: nova-cell0 hasAPIAccess: true cell1: cellDatabaseAccount: nova-cell1 cellDatabaseInstance: openstack-cell1 cellMessageBusInstance: rabbitmq-cell1 hasAPIAccess: true type: object keystoneInstance: default: keystone type: string memcachedInstance: default: memcached type: string metadataServiceTemplate: default: enabled: true properties: customServiceConfig: type: string defaultConfigOverwrite: additionalProperties: type: string type: object enabled: type: boolean networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object tls: properties: caBundleSecretName: type: string secretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object nodeSelector: additionalProperties: type: string type: object notificationsBusInstance: type: string passwordSelectors: default: service: NovaPassword properties: metadataSecret: default: MetadataSecret type: string prefixMetadataCellsSecret: default: MetadataCellsSecret type: string service: default: NovaPassword type: string type: object preserveJobs: default: false type: boolean schedulerServiceTemplate: default: replicas: 1 properties: customServiceConfig: type: string networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object secret: type: string serviceUser: default: nova type: string topologyRef: properties: name: type: string namespace: type: string type: object required: - secret type: object type: object octavia: properties: apiOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object enabled: default: false type: boolean template: properties: amphoraCustomFlavors: default: [] items: properties: RAM: type: integer RxTxFactor: type: string VCPUs: type: integer description: type: string disk: type: integer name: type: string required: - RAM - VCPUs - disk - name type: object type: array amphoraImageContainerImage: type: string apacheContainerImage: type: string apiTimeout: default: 120 type: integer customServiceConfig: default: '# add your customization here' type: string databaseAccount: default: octavia type: string databaseInstance: type: string defaultConfigOverwrite: additionalProperties: type: string type: object lbMgmtNetwork: default: createDefaultLbMgmtNetwork: true manageLbMgmtNetworks: true properties: availabilityZoneCIDRs: additionalProperties: type: string type: object availabilityZones: items: type: string type: array createDefaultLbMgmtNetwork: default: true type: boolean lbMgmtRouterGateway: type: string manageLbMgmtNetworks: default: true type: boolean type: object nodeSelector: additionalProperties: type: string type: object octaviaAPI: properties: apiTimeout: type: integer customServiceConfig: default: '# add your customization here' type: string databaseAccount: default: octavia type: string databaseHostname: type: string databaseInstance: type: string defaultConfigOverwrite: additionalProperties: type: string type: object networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object passwordSelectors: default: service: OctaviaPassword properties: database: default: OctaviaDatabasePassword type: string service: default: OctaviaPassword type: string type: object persistenceDatabaseAccount: default: octavia-persistence type: string preserveJobs: default: false type: boolean replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object secret: type: string serviceAccount: type: string serviceUser: default: octavia type: string tenantDomainName: default: Default type: string tenantName: default: service type: string tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string ovn: properties: secretName: type: string type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object transportURLSecret: type: string required: - databaseInstance - secret - serviceAccount type: object octaviaHealthManager: properties: amphoraCustomFlavors: default: [] items: properties: RAM: type: integer RxTxFactor: type: string VCPUs: type: integer description: type: string disk: type: integer name: type: string required: - RAM - VCPUs - disk - name type: object type: array amphoraImageOwnerID: default: "" type: string customServiceConfig: default: '# add your customization here' type: string databaseAccount: default: octavia type: string databaseHostname: type: string databaseInstance: type: string defaultConfigOverwrite: additionalProperties: type: string type: object lbMgmtNetworkID: default: "" type: string lbSecurityGroupID: default: "" type: string networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object octaviaProviderSubnetCIDR: type: string octaviaProviderSubnetExtraCIDRs: items: type: string type: array octaviaProviderSubnetGateway: type: string passwordSelectors: default: service: OctaviaPassword properties: database: default: OctaviaDatabasePassword type: string service: default: OctaviaPassword type: string type: object persistenceDatabaseAccount: default: octavia-persistence type: string redisHosts: default: [] items: type: string type: array x-kubernetes-list-type: atomic resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object role: type: string secret: type: string serviceAccount: type: string serviceUser: default: octavia type: string tenantDomainName: default: Default type: string tenantName: default: service type: string tls: properties: caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object transportURLSecret: type: string required: - databaseInstance - role - secret - serviceAccount type: object octaviaHousekeeping: properties: amphoraCustomFlavors: default: [] items: properties: RAM: type: integer RxTxFactor: type: string VCPUs: type: integer description: type: string disk: type: integer name: type: string required: - RAM - VCPUs - disk - name type: object type: array amphoraImageOwnerID: default: "" type: string customServiceConfig: default: '# add your customization here' type: string databaseAccount: default: octavia type: string databaseHostname: type: string databaseInstance: type: string defaultConfigOverwrite: additionalProperties: type: string type: object lbMgmtNetworkID: default: "" type: string lbSecurityGroupID: default: "" type: string networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object octaviaProviderSubnetCIDR: type: string octaviaProviderSubnetExtraCIDRs: items: type: string type: array octaviaProviderSubnetGateway: type: string passwordSelectors: default: service: OctaviaPassword properties: database: default: OctaviaDatabasePassword type: string service: default: OctaviaPassword type: string type: object persistenceDatabaseAccount: default: octavia-persistence type: string redisHosts: default: [] items: type: string type: array x-kubernetes-list-type: atomic resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object role: type: string secret: type: string serviceAccount: type: string serviceUser: default: octavia type: string tenantDomainName: default: Default type: string tenantName: default: service type: string tls: properties: caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object transportURLSecret: type: string required: - databaseInstance - role - secret - serviceAccount type: object octaviaNetworkAttachment: default: octavia type: string octaviaRsyslog: properties: adminLogTargets: items: properties: host: type: string port: type: integer protocol: type: string required: - host - port - protocol type: object type: array defaultConfigOverwrite: additionalProperties: type: string type: object networkAttachments: default: - octavia items: type: string type: array nodeSelector: additionalProperties: type: string type: object octaviaProviderSubnetCIDR: type: string octaviaProviderSubnetExtraCIDRs: items: type: string type: array x-kubernetes-list-type: atomic octaviaProviderSubnetGateway: type: string resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object serviceAccount: type: string serviceUser: default: octavia type: string tenantLogTargets: items: properties: host: type: string port: type: integer protocol: type: string required: - host - port - protocol type: object type: array topologyRef: properties: name: type: string namespace: type: string type: object required: - serviceAccount type: object octaviaWorker: properties: amphoraCustomFlavors: default: [] items: properties: RAM: type: integer RxTxFactor: type: string VCPUs: type: integer description: type: string disk: type: integer name: type: string required: - RAM - VCPUs - disk - name type: object type: array amphoraImageOwnerID: default: "" type: string customServiceConfig: default: '# add your customization here' type: string databaseAccount: default: octavia type: string databaseHostname: type: string databaseInstance: type: string defaultConfigOverwrite: additionalProperties: type: string type: object lbMgmtNetworkID: default: "" type: string lbSecurityGroupID: default: "" type: string networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object octaviaProviderSubnetCIDR: type: string octaviaProviderSubnetExtraCIDRs: items: type: string type: array octaviaProviderSubnetGateway: type: string passwordSelectors: default: service: OctaviaPassword properties: database: default: OctaviaDatabasePassword type: string service: default: OctaviaPassword type: string type: object persistenceDatabaseAccount: default: octavia-persistence type: string redisHosts: default: [] items: type: string type: array x-kubernetes-list-type: atomic resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object role: type: string secret: type: string serviceAccount: type: string serviceUser: default: octavia type: string tenantDomainName: default: Default type: string tenantName: default: service type: string tls: properties: caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object transportURLSecret: type: string required: - databaseInstance - role - secret - serviceAccount type: object passwordSelectors: default: service: OctaviaPassword properties: database: default: OctaviaDatabasePassword type: string service: default: OctaviaPassword type: string type: object persistenceDatabaseAccount: default: octavia-persistence type: string preserveJobs: default: false type: boolean rabbitMqClusterName: default: rabbitmq type: string redisServiceName: default: octavia-redis type: string resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object secret: type: string serviceUser: default: octavia type: string sshPrivkeySecret: default: octavia-ssh-privkey-secret type: string sshPubkey: default: octavia-ssh-pubkey type: string tenantDomainName: default: Default type: string tenantName: default: service type: string topologyRef: properties: name: type: string namespace: type: string type: object required: - apacheContainerImage - databaseInstance - octaviaAPI - octaviaNetworkAttachment - rabbitMqClusterName - secret type: object type: object openstackclient: properties: template: properties: caBundleSecretName: type: string env: items: properties: name: type: string value: type: string valueFrom: properties: configMapKeyRef: properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: type: string divisor: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: type: string required: - resource type: object x-kubernetes-map-type: atomic secretKeyRef: properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map nodeSelector: additionalProperties: type: string type: object openStackConfigMap: default: openstack-config type: string openStackConfigSecret: default: openstack-config-secret type: string required: - openStackConfigMap - openStackConfigSecret type: object type: object ovn: properties: enabled: default: true type: boolean template: properties: ovnController: properties: bondConfiguration: additionalProperties: properties: links: default: [] items: type: string type: array x-kubernetes-list-type: set mode: default: active-backup type: string mtu: default: 1500 format: int32 type: integer type: object type: object external-ids: default: {} properties: availability-zones: default: [] items: type: string type: array enable-chassis-as-gateway: default: true type: boolean ovn-bridge: default: br-int type: string ovn-encap-tos: default: "0" enum: - "0" - inherit type: string ovn-encap-type: default: geneve enum: - geneve - vxlan type: string system-id: default: random type: string type: object metricsEnabled: default: true type: boolean networkAttachment: type: string nicMappings: additionalProperties: type: string type: object nodeSelector: additionalProperties: type: string type: object resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object tls: properties: caBundleSecretName: type: string secretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object ovnDBCluster: additionalProperties: properties: dbType: default: NB pattern: ^NB|SB$ type: string electionTimer: default: 10000 format: int32 type: integer inactivityProbe: default: 60000 format: int32 type: integer logLevel: default: info type: string metricsEnabled: default: true type: boolean networkAttachment: type: string nodeSelector: additionalProperties: type: string type: object override: properties: service: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object probeIntervalToActive: default: 60000 format: int32 type: integer replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object storageClass: type: string storageRequest: type: string tls: properties: caBundleSecretName: type: string secretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object required: - dbType - storageRequest type: object type: object ovnNorthd: properties: logLevel: default: info type: string metricsEnabled: default: true type: boolean nThreads: default: 1 format: int32 type: integer nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object tls: properties: caBundleSecretName: type: string secretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object type: object type: object placement: properties: apiOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object enabled: default: true type: boolean template: properties: apiTimeout: default: 60 minimum: 10 type: integer customServiceConfig: type: string databaseAccount: default: placement type: string databaseInstance: type: string defaultConfigOverwrite: additionalProperties: type: string type: object networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object passwordSelectors: default: service: PlacementPassword properties: service: default: PlacementPassword type: string type: object preserveJobs: default: false type: boolean replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object secret: type: string serviceUser: default: placement type: string tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object required: - databaseInstance - secret type: object type: object rabbitmq: properties: enabled: default: true type: boolean templates: additionalProperties: properties: affinity: properties: nodeAffinity: properties: preferredDuringSchedulingIgnoredDuringExecution: items: properties: preference: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchFields: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic type: object x-kubernetes-map-type: atomic weight: format: int32 type: integer required: - preference - weight type: object type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: properties: nodeSelectorTerms: items: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchFields: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic type: object x-kubernetes-map-type: atomic type: array x-kubernetes-list-type: atomic required: - nodeSelectorTerms type: object x-kubernetes-map-type: atomic type: object podAffinity: properties: preferredDuringSchedulingIgnoredDuringExecution: items: properties: podAffinityTerm: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic matchLabelKeys: items: type: string type: array x-kubernetes-list-type: atomic mismatchLabelKeys: items: type: string type: array x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic namespaces: items: type: string type: array x-kubernetes-list-type: atomic topologyKey: type: string required: - topologyKey type: object weight: format: int32 type: integer required: - podAffinityTerm - weight type: object type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic matchLabelKeys: items: type: string type: array x-kubernetes-list-type: atomic mismatchLabelKeys: items: type: string type: array x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic namespaces: items: type: string type: array x-kubernetes-list-type: atomic topologyKey: type: string required: - topologyKey type: object type: array x-kubernetes-list-type: atomic type: object podAntiAffinity: properties: preferredDuringSchedulingIgnoredDuringExecution: items: properties: podAffinityTerm: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic matchLabelKeys: items: type: string type: array x-kubernetes-list-type: atomic mismatchLabelKeys: items: type: string type: array x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic namespaces: items: type: string type: array x-kubernetes-list-type: atomic topologyKey: type: string required: - topologyKey type: object weight: format: int32 type: integer required: - podAffinityTerm - weight type: object type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic matchLabelKeys: items: type: string type: array x-kubernetes-list-type: atomic mismatchLabelKeys: items: type: string type: array x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic namespaces: items: type: string type: array x-kubernetes-list-type: atomic topologyKey: type: string required: - topologyKey type: object type: array x-kubernetes-list-type: atomic type: object type: object delayStartSeconds: default: 30 format: int32 minimum: 0 type: integer nodeSelector: additionalProperties: type: string type: object override: properties: service: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: allocateLoadBalancerNodePorts: type: boolean clusterIP: type: string clusterIPs: items: type: string type: array x-kubernetes-list-type: atomic externalIPs: items: type: string type: array x-kubernetes-list-type: atomic externalName: type: string externalTrafficPolicy: type: string healthCheckNodePort: format: int32 type: integer internalTrafficPolicy: type: string ipFamilies: items: type: string type: array x-kubernetes-list-type: atomic ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerIP: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic ports: items: properties: appProtocol: type: string name: type: string nodePort: format: int32 type: integer port: format: int32 type: integer protocol: default: TCP type: string targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - port type: object type: array x-kubernetes-list-map-keys: - port - protocol x-kubernetes-list-type: map publishNotReadyAddresses: type: boolean selector: additionalProperties: type: string type: object x-kubernetes-map-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object trafficDistribution: type: string type: type: string type: object type: object statefulSet: type: object x-kubernetes-preserve-unknown-fields: true type: object persistence: default: storage: 10Gi properties: storage: anyOf: - type: integer - type: string default: 10Gi pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true storageClassName: type: string type: object queueType: default: Mirrored enum: - None - Mirrored - Quorum type: string rabbitmq: properties: additionalConfig: maxLength: 100000 type: string additionalPlugins: items: maxLength: 100 pattern: ^\w+$ type: string maxItems: 100 type: array advancedConfig: maxLength: 100000 type: string envConfig: maxLength: 100000 type: string erlangInetConfig: maxLength: 2000 type: string type: object replicas: default: 1 format: int32 minimum: 0 type: integer resources: default: limits: cpu: 2000m memory: 2Gi requests: cpu: 1000m memory: 2Gi properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object secretBackend: properties: externalSecret: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic vault: properties: annotations: additionalProperties: type: string type: object defaultUserPath: type: string defaultUserUpdaterImage: type: string role: type: string tls: properties: altNames: type: string commonName: type: string ipSans: type: string pkiIssuerPath: type: string pkiRootPath: type: string type: object type: object type: object service: properties: annotations: additionalProperties: type: string type: object ipFamilyPolicy: enum: - SingleStack - PreferDualStack - RequireDualStack type: string labels: additionalProperties: type: string type: object type: default: ClusterIP enum: - ClusterIP - LoadBalancer - NodePort type: string type: object skipPostDeploySteps: type: boolean terminationGracePeriodSeconds: default: 604800 format: int64 minimum: 0 type: integer tls: properties: caSecretName: type: string disableNonTLSListeners: type: boolean secretName: type: string type: object tolerations: items: properties: effect: type: string key: type: string operator: type: string tolerationSeconds: format: int64 type: integer value: type: string type: object type: array topologyRef: properties: name: type: string namespace: type: string type: object type: object type: object type: object redis: properties: enabled: default: false type: boolean templates: additionalProperties: properties: nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object sentinelResources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object tls: properties: caBundleSecretName: type: string secretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object type: object type: object secret: type: string storageClass: type: string swift: properties: enabled: default: true type: boolean proxyOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object template: properties: memcachedInstance: default: memcached type: string networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object ringConfigMaps: default: - swift-ring-files items: type: string type: array x-kubernetes-list-type: atomic storageClass: default: "" type: string swiftProxy: properties: apiTimeout: default: 60 minimum: 1 type: integer ceilometerEnabled: default: false type: boolean defaultConfigOverwrite: additionalProperties: type: string type: object encryptionEnabled: default: false type: boolean memcachedInstance: default: memcached type: string networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object passwordSelectors: default: service: SwiftPassword properties: service: default: SwiftPassword type: string type: object rabbitMqClusterName: default: rabbitmq type: string replicas: default: 1 format: int32 minimum: 0 type: integer ringConfigMaps: default: - swift-ring-files items: type: string type: array x-kubernetes-list-type: atomic secret: default: osp-secret type: string serviceUser: default: swift type: string tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object required: - memcachedInstance - rabbitMqClusterName - replicas - secret - serviceUser type: object swiftRing: properties: enabled: default: true type: boolean minPartHours: default: 1 format: int64 minimum: 1 type: integer nodeSelector: additionalProperties: type: string type: object partPower: default: 10 format: int64 minimum: 1 type: integer ringConfigMaps: default: - swift-ring-files items: type: string type: array x-kubernetes-list-type: atomic ringReplicas: default: 1 format: int64 minimum: 1 type: integer tls: properties: caBundleSecretName: type: string type: object required: - minPartHours - partPower - ringReplicas type: object swiftStorage: properties: containerSharderEnabled: default: false type: boolean defaultConfigOverwrite: additionalProperties: type: string type: object memcachedInstance: default: memcached type: string networkAttachments: items: type: string type: array nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 minimum: 0 type: integer ringConfigMaps: default: - swift-ring-files items: type: string type: array x-kubernetes-list-type: atomic storageClass: default: "" type: string storageRequest: default: 10Gi type: string topologyRef: properties: name: type: string namespace: type: string type: object required: - memcachedInstance - replicas - storageClass - storageRequest type: object topologyRef: properties: name: type: string namespace: type: string type: object required: - memcachedInstance - storageClass - swiftProxy - swiftRing - swiftStorage type: object type: object telemetry: properties: alertmanagerOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object aodhApiOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object enabled: default: true type: boolean prometheusOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object template: properties: autoscaling: properties: aodh: default: databaseAccount: aodh databaseInstance: openstack memcachedInstance: memcached passwordSelector: aodhService: AodhPassword rabbitMqClusterName: rabbitmq secret: osp-secret serviceUser: aodh properties: apiTimeout: default: 60 type: integer customServiceConfig: default: '# add your customization here' type: string databaseAccount: default: aodh type: string databaseInstance: default: openstack type: string defaultConfigOverwrite: additionalProperties: type: string type: object memcachedInstance: default: memcached type: string networkAttachmentDefinitions: items: type: string type: array nodeSelector: additionalProperties: type: string type: object override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object passwordSelector: default: aodhService: AodhPassword properties: aodhService: default: AodhPassword type: string ceilometerService: default: CeilometerPassword type: string type: object preserveJobs: default: false type: boolean rabbitMqClusterName: default: rabbitmq type: string secret: default: osp-secret type: string serviceUser: default: aodh type: string tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object required: - databaseInstance - secret type: object enabled: default: false type: boolean heatInstance: default: heat type: string prometheusHost: type: string prometheusPort: format: int32 maximum: 65535 minimum: 1 type: integer prometheusTLSCaCertSecret: nullable: true properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic required: - heatInstance type: object ceilometer: properties: apiTimeout: default: 60 type: integer customServiceConfig: default: '# add your customization here' type: string defaultConfigOverwrite: additionalProperties: type: string type: object enabled: default: true type: boolean ksmEnabled: default: true type: boolean ksmTls: properties: caBundleSecretName: type: string secretName: type: string type: object mysqldExporterDatabaseAccountPrefix: default: mysqld-exporter type: string mysqldExporterEnabled: type: boolean mysqldExporterTLS: properties: caBundleSecretName: type: string secretName: type: string type: object networkAttachmentDefinitions: items: type: string type: array x-kubernetes-list-type: atomic nodeSelector: additionalProperties: type: string type: object passwordSelector: default: ceilometerService: CeilometerPassword properties: aodhService: default: AodhPassword type: string ceilometerService: default: CeilometerPassword type: string type: object rabbitMqClusterName: default: rabbitmq type: string secret: default: osp-secret type: string serviceUser: default: ceilometer type: string tls: properties: caBundleSecretName: type: string secretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object required: - secret type: object logging: properties: annotations: additionalProperties: type: string default: metallb.universe.tf/address-pool: internalapi metallb.universe.tf/allow-shared-ip: internalapi metallb.universe.tf/loadBalancerIPs: 172.17.0.80 type: object cloNamespace: default: openshift-logging type: string enabled: default: true type: boolean port: default: 10514 format: int32 type: integer rsyslogQueueSize: default: 10000 format: int32 type: integer rsyslogQueueType: default: linkedList type: string rsyslogRetries: default: 100 format: int32 type: integer targetPort: default: 10514 type: integer required: - rsyslogQueueType type: object metricStorage: properties: customMonitoringStack: nullable: true properties: alertmanagerConfig: default: disabled: false properties: disabled: default: false type: boolean type: object logLevel: default: info enum: - debug - info - warn - error type: string namespaceSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic prometheusConfig: default: replicas: 2 properties: enableOtlpHttpReceiver: type: boolean enableRemoteWriteReceiver: type: boolean externalLabels: additionalProperties: type: string type: object persistentVolumeClaim: properties: accessModes: items: type: string type: array x-kubernetes-list-type: atomic dataSource: properties: apiGroup: type: string kind: type: string name: type: string required: - kind - name type: object x-kubernetes-map-type: atomic dataSourceRef: properties: apiGroup: type: string kind: type: string name: type: string namespace: type: string required: - kind - name type: object resources: properties: limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object selector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic storageClassName: type: string volumeAttributesClassName: type: string volumeMode: type: string volumeName: type: string type: object remoteWrite: items: properties: authorization: properties: credentials: properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic credentialsFile: type: string type: type: string type: object azureAd: properties: cloud: enum: - AzureChina - AzureGovernment - AzurePublic type: string managedIdentity: properties: clientId: type: string required: - clientId type: object oauth: properties: clientId: minLength: 1 type: string clientSecret: properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic tenantId: minLength: 1 pattern: ^[0-9a-zA-Z-.]+$ type: string required: - clientId - clientSecret - tenantId type: object type: object basicAuth: properties: password: properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic username: properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object bearerToken: type: string bearerTokenFile: type: string enableHTTP2: type: boolean headers: additionalProperties: type: string type: object metadataConfig: properties: send: type: boolean sendInterval: pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string type: object name: type: string oauth2: properties: clientId: properties: configMap: properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic secret: properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object clientSecret: properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic endpointParams: additionalProperties: type: string type: object scopes: items: type: string type: array tokenUrl: minLength: 1 type: string required: - clientId - clientSecret - tokenUrl type: object proxyUrl: type: string queueConfig: properties: batchSendDeadline: type: string capacity: type: integer maxBackoff: type: string maxRetries: type: integer maxSamplesPerSend: type: integer maxShards: type: integer minBackoff: type: string minShards: type: integer retryOnRateLimit: type: boolean type: object remoteTimeout: pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string sendExemplars: type: boolean sendNativeHistograms: type: boolean sigv4: properties: accessKey: properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic profile: type: string region: type: string roleArn: type: string secretKey: properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object tlsConfig: properties: ca: properties: configMap: properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic secret: properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object caFile: type: string cert: properties: configMap: properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic secret: properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object certFile: type: string insecureSkipVerify: type: boolean keyFile: type: string keySecret: properties: key: type: string name: default: "" type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic serverName: type: string type: object url: type: string writeRelabelConfigs: items: properties: action: default: replace enum: - replace - Replace - keep - Keep - drop - Drop - hashmod - HashMod - labelmap - LabelMap - labeldrop - LabelDrop - labelkeep - LabelKeep - lowercase - Lowercase - uppercase - Uppercase - keepequal - KeepEqual - dropequal - DropEqual type: string modulus: format: int64 type: integer regex: type: string replacement: type: string separator: type: string sourceLabels: items: pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: type: string type: object type: array required: - url type: object type: array replicas: default: 2 format: int32 minimum: 0 type: integer scrapeInterval: pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string type: object resourceSelector: nullable: true properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic resources: default: limits: cpu: 500m memory: 512Mi requests: cpu: 100m memory: 256Mi properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object retention: default: 120h pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string type: object dashboardsEnabled: default: false type: boolean dataplaneNetwork: default: ctlplane pattern: ^[a-zA-Z0-9][a-zA-Z0-9\-_]*[a-zA-Z0-9]$ type: string enabled: default: false type: boolean monitoringStack: nullable: true properties: alertingEnabled: default: true type: boolean scrapeInterval: default: 30s type: string storage: default: persistent: pvcStorageRequest: 20G retention: 24h strategy: persistent properties: persistent: properties: pvcStorageClass: type: string pvcStorageRequest: default: 20G type: string pvcStorageSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array x-kubernetes-list-type: atomic required: - key - operator type: object type: array x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string type: object type: object x-kubernetes-map-type: atomic type: object retention: default: 24h type: string strategy: default: persistent enum: - persistent - ephemeral type: string type: object type: object networkAttachments: items: type: string type: array x-kubernetes-list-type: atomic prometheusTls: properties: caBundleSecretName: type: string secretName: type: string type: object type: object nodeSelector: additionalProperties: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object type: object tls: default: ingress: ca: duration: 87600h cert: duration: 43800h enabled: true podLevel: enabled: true internal: ca: duration: 87600h cert: duration: 43800h libvirt: ca: duration: 87600h cert: duration: 43800h ovn: ca: duration: 87600h cert: duration: 43800h properties: caBundleSecretName: type: string ingress: default: ca: duration: 87600h cert: duration: 43800h enabled: true properties: ca: default: duration: 87600h properties: customIssuer: type: string duration: default: 87600h type: string renewBefore: type: string type: object cert: default: duration: 43800h properties: duration: default: 43800h type: string renewBefore: type: string type: object enabled: default: true type: boolean type: object podLevel: default: enabled: true internal: ca: duration: 87600h cert: duration: 43800h libvirt: ca: duration: 87600h cert: duration: 43800h ovn: ca: duration: 87600h cert: duration: 43800h properties: enabled: default: true type: boolean internal: default: ca: duration: 87600h cert: duration: 43800h properties: ca: default: duration: 87600h properties: customIssuer: type: string duration: default: 87600h type: string renewBefore: type: string type: object cert: default: duration: 43800h properties: duration: default: 43800h type: string renewBefore: type: string type: object type: object libvirt: default: ca: duration: 87600h cert: duration: 43800h properties: ca: default: duration: 87600h properties: customIssuer: type: string duration: default: 87600h type: string renewBefore: type: string type: object cert: default: duration: 43800h properties: duration: default: 43800h type: string renewBefore: type: string type: object type: object ovn: default: ca: duration: 87600h cert: duration: 43800h properties: ca: default: duration: 87600h properties: customIssuer: type: string duration: default: 87600h type: string renewBefore: type: string type: object cert: default: duration: 43800h properties: duration: default: 43800h type: string renewBefore: type: string type: object type: object type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object watcher: properties: apiOverride: properties: route: properties: metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: alternateBackends: items: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object maxItems: 3 type: array host: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string path: pattern: ^/ type: string port: properties: targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true required: - targetPort type: object subdomain: maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: properties: caCertificate: type: string certificate: type: string destinationCACertificate: type: string externalCertificate: properties: name: type: string type: object x-kubernetes-map-type: atomic insecureEdgeTerminationPolicy: enum: - Allow - None - Redirect - "" type: string key: type: string termination: enum: - edge - reencrypt - passthrough type: string required: - termination type: object x-kubernetes-validations: - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow' rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true' to: properties: kind: enum: - Service - "" type: string name: type: string weight: format: int32 maximum: 256 minimum: 0 type: integer type: object wildcardPolicy: enum: - None - Subdomain - "" type: string type: object type: object tls: properties: secretName: type: string type: object type: object enabled: default: false type: boolean template: properties: apiServiceTemplate: default: replicas: 1 properties: customServiceConfig: type: string nodeSelector: additionalProperties: type: string type: object override: properties: service: additionalProperties: properties: endpointURL: type: string metadata: properties: annotations: additionalProperties: type: string type: object labels: additionalProperties: type: string type: object type: object spec: properties: externalName: type: string externalTrafficPolicy: type: string internalTrafficPolicy: type: string ipFamilyPolicy: type: string loadBalancerClass: type: string loadBalancerSourceRanges: items: type: string type: array x-kubernetes-list-type: atomic sessionAffinity: type: string sessionAffinityConfig: properties: clientIP: properties: timeoutSeconds: format: int32 type: integer type: object type: object type: type: string type: object type: object type: object type: object replicas: default: 1 format: int32 maximum: 32 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object tls: properties: api: properties: internal: properties: secretName: type: string type: object public: properties: secretName: type: string type: object type: object caBundleSecretName: type: string type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object apiTimeout: default: 60 minimum: 10 type: integer applierServiceTemplate: default: replicas: 1 properties: customServiceConfig: type: string nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 maximum: 1 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object customServiceConfig: type: string databaseAccount: default: watcher type: string databaseInstance: type: string dbPurge: properties: purgeAge: default: 90 minimum: 1 type: integer schedule: default: 0 1 * * * type: string type: object decisionengineServiceTemplate: default: replicas: 1 properties: customServiceConfig: type: string nodeSelector: additionalProperties: type: string type: object replicas: default: 1 format: int32 maximum: 1 minimum: 0 type: integer resources: properties: claims: items: properties: name: type: string request: type: string required: - name type: object type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object topologyRef: properties: name: type: string namespace: type: string type: object type: object memcachedInstance: default: memcached type: string nodeSelector: additionalProperties: type: string type: object notificationsBusInstance: type: string passwordSelectors: default: service: WatcherPassword properties: service: default: WatcherPassword type: string type: object preserveJobs: default: false type: boolean prometheusSecret: default: metric-storage-prometheus-endpoint type: string rabbitMqClusterName: default: rabbitmq type: string secret: default: osp-secret type: string serviceUser: default: watcher type: string topologyRef: properties: name: type: string namespace: type: string type: object required: - apiServiceTemplate - applierServiceTemplate - databaseInstance - decisionengineServiceTemplate - rabbitMqClusterName type: object type: object required: - secret - storageClass type: object status: properties: conditions: items: properties: lastTransitionTime: format: date-time type: string message: type: string reason: type: string severity: type: string status: type: string type: type: string required: - lastTransitionTime - status - type type: object type: array containerImages: properties: agentImage: type: string ansibleeeImage: type: string aodhAPIImage: type: string aodhEvaluatorImage: type: string aodhListenerImage: type: string aodhNotifierImage: type: string apacheImage: type: string barbicanAPIImage: type: string barbicanKeystoneListenerImage: type: string barbicanWorkerImage: type: string ceilometerCentralImage: type: string ceilometerComputeImage: type: string ceilometerIpmiImage: type: string ceilometerMysqldExporterImage: type: string ceilometerNotificationImage: type: string ceilometerProxyImage: type: string ceilometerSgcoreImage: type: string cinderAPIImage: type: string cinderBackupImage: type: string cinderSchedulerImage: type: string cinderVolumeImages: additionalProperties: type: string type: object designateAPIImage: type: string designateBackendbind9Image: type: string designateCentralImage: type: string designateMdnsImage: type: string designateProducerImage: type: string designateUnboundImage: type: string designateWorkerImage: type: string edpmFrrImage: type: string edpmIscsidImage: type: string edpmKeplerImage: type: string edpmLogrotateCrondImage: type: string edpmMultipathdImage: type: string edpmNeutronDhcpAgentImage: type: string edpmNeutronMetadataAgentImage: type: string edpmNeutronOvnAgentImage: type: string edpmNeutronSriovAgentImage: type: string edpmNodeExporterImage: type: string edpmOpenstackNetworkExporterImage: type: string edpmOvnBgpAgentImage: type: string edpmPodmanExporterImage: type: string glanceAPIImage: type: string heatAPIImage: type: string heatCfnapiImage: type: string heatEngineImage: type: string horizonImage: type: string infraDnsmasqImage: type: string infraMemcachedImage: type: string infraRedisImage: type: string ironicAPIImage: type: string ironicConductorImage: type: string ironicInspectorImage: type: string ironicNeutronAgentImage: type: string ironicPxeImage: type: string ironicPythonAgentImage: type: string keystoneAPIImage: type: string ksmImage: type: string manilaAPIImage: type: string manilaSchedulerImage: type: string manilaShareImages: additionalProperties: type: string type: object mariadbImage: type: string netUtilsImage: type: string neutronAPIImage: type: string novaAPIImage: type: string novaComputeImage: type: string novaConductorImage: type: string novaNovncImage: type: string novaSchedulerImage: type: string octaviaAPIImage: type: string octaviaApacheImage: type: string octaviaHealthmanagerImage: type: string octaviaHousekeepingImage: type: string octaviaRsyslogImage: type: string octaviaWorkerImage: type: string openstackClientImage: type: string openstackNetworkExporterImage: type: string osContainerImage: type: string ovnControllerImage: type: string ovnControllerOvsImage: type: string ovnNbDbclusterImage: type: string ovnNorthdImage: type: string ovnSbDbclusterImage: type: string placementAPIImage: type: string rabbitmqImage: type: string swiftAccountImage: type: string swiftContainerImage: type: string swiftObjectImage: type: string swiftProxyImage: type: string telemetryNodeExporterImage: type: string testAnsibletestImage: type: string testHorizontestImage: type: string testTempestImage: type: string testTobikoImage: type: string watcherAPIImage: type: string watcherApplierImage: type: string watcherDecisionEngineImage: type: string type: object deployedOVNVersion: type: string deployedVersion: type: string observedGeneration: format: int64 type: integer tls: properties: caBundleSecretName: type: string caList: items: properties: expires: type: string name: type: string required: - expires - name type: object type: array type: object type: object type: object served: true storage: true subresources: status: {} status: acceptedNames: kind: OpenStackControlPlane listKind: OpenStackControlPlaneList plural: openstackcontrolplanes shortNames: - osctlplane - osctlplanes - oscp - oscps singular: openstackcontrolplane conditions: - lastTransitionTime: "2025-10-11T10:50:42Z" message: no conflicts found reason: NoConflicts status: "True" type: NamesAccepted - lastTransitionTime: "2025-10-11T10:50:43Z" message: the initial names have been accepted reason: InitialNamesAccepted status: "True" type: Established storedVersions: - v1beta1