--- # Source: mariadb-operator/charts/mariadb-operator-crds/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.18.0 name: externalmariadbs.k8s.mariadb.com spec: group: k8s.mariadb.com names: kind: ExternalMariaDB listKind: ExternalMariaDBList plural: externalmariadbs shortNames: - emdb singular: externalmariadb scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=="Ready")].status name: Ready type: string - jsonPath: .status.conditions[?(@.type=="Ready")].message name: Status type: string - jsonPath: .metadata.creationTimestamp name: Age type: date name: v1alpha1 schema: openAPIV3Schema: description: ExternalMariaDB is the Schema for the external MariaDBs API. It is used to define external MariaDB server. properties: apiVersion: description: |- APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: description: |- Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: description: ExternalMariaDBSpec defines the desired state of an External MariaDB properties: connection: description: Connection defines a template to configure a Connection for the external MariaDB. properties: healthCheck: description: HealthCheck to be used in the Connection. properties: interval: description: Interval used to perform health checks. type: string retryInterval: description: RetryInterval is the interval used to perform health check retries. type: string type: object params: additionalProperties: type: string description: Params to be used in the Connection. type: object port: description: Port to connect to. If not provided, it defaults to the MariaDB port or to the first MaxScale listener. format: int32 type: integer secretName: description: SecretName to be used in the Connection. type: string secretTemplate: description: SecretTemplate to be used in the Connection. properties: databaseKey: description: DatabaseKey to be used in the Secret. type: string format: description: Format to be used in the Secret. type: string hostKey: description: HostKey to be used in the Secret. type: string key: description: Key to be used in the Secret. type: string metadata: description: Metadata to be added to the Secret object. properties: annotations: additionalProperties: type: string description: Annotations to be added to children resources. type: object labels: additionalProperties: type: string description: Labels to be added to children resources. type: object type: object passwordKey: description: PasswordKey to be used in the Secret. type: string portKey: description: PortKey to be used in the Secret. type: string usernameKey: description: UsernameKey to be used in the Secret. type: string type: object serviceName: description: ServiceName to be used in the Connection. type: string type: object host: description: Hostname of the external MariaDB. type: string image: description: |- Image name to be used to perform operations on the external MariaDB, for example, for taking backups. The supported format is `:`. Only MariaDB official images are supported. If not provided, the MariaDB image version be inferred by the operator in runtime. The default MariaDB image will be used in this case, type: string imagePullPolicy: description: ImagePullPolicy is the image pull policy. One of `Always`, `Never` or `IfNotPresent`. If not defined, it defaults to `IfNotPresent`. enum: - Always - Never - IfNotPresent type: string imagePullSecrets: description: ImagePullSecrets is the list of pull Secrets to be used to pull the image. items: description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" type: string type: object type: array inheritMetadata: description: InheritMetadata defines the metadata to be inherited by children resources. properties: annotations: additionalProperties: type: string description: Annotations to be added to children resources. type: object labels: additionalProperties: type: string description: Labels to be added to children resources. type: object type: object passwordSecretKeyRef: description: PasswordSecretKeyRef is a reference to the password to connect to the external MariaDB. properties: key: type: string name: default: "" type: string required: - key type: object x-kubernetes-map-type: atomic port: default: 3306 description: Port of the external MariaDB. format: int32 type: integer tls: description: TLS defines the PKI to be used with the external MariaDB. properties: clientCASecretRef: description: |- ClientCASecretRef is a reference to a Secret containing the client certificate authority keypair. It is used to establish trust and issue client certificates. One of: - Secret containing both the 'ca.crt' and 'ca.key' keys. This allows you to bring your own CA to Kubernetes to issue certificates. - Secret containing only the 'ca.crt' in order to establish trust. In this case, either clientCertSecretRef or clientCertIssuerRef fields must be provided. If not provided, a self-signed CA will be provisioned to issue the client certificate. properties: name: default: "" type: string type: object clientCertIssuerRef: description: |- ClientCertIssuerRef is a reference to a cert-manager issuer object used to issue the client certificate. cert-manager must be installed previously in the cluster. It is mutually exclusive with clientCertSecretRef. By default, the Secret field 'ca.crt' provisioned by cert-manager will be added to the trust chain. A custom trust bundle may be specified via clientCASecretRef. properties: group: description: Group of the resource being referred to. type: string kind: description: Kind of the resource being referred to. type: string name: description: Name of the resource being referred to. type: string required: - name type: object clientCertSecretRef: description: |- ClientCertSecretRef is a reference to a TLS Secret containing the client certificate. It is mutually exclusive with clientCertIssuerRef. properties: name: default: "" type: string type: object enabled: description: |- Enabled indicates whether TLS is enabled, determining if certificates should be issued and mounted to the MariaDB instance. It is enabled by default. type: boolean galeraSSTEnabled: description: |- GaleraSSTEnabled determines whether Galera SST connections should use TLS. It disabled by default. type: boolean required: description: |- Required specifies whether TLS must be enforced for all connections. User TLS requirements take precedence over this. It disabled by default. type: boolean serverCASecretRef: description: |- ServerCASecretRef is a reference to a Secret containing the server certificate authority keypair. It is used to establish trust and issue server certificates. One of: - Secret containing both the 'ca.crt' and 'ca.key' keys. This allows you to bring your own CA to Kubernetes to issue certificates. - Secret containing only the 'ca.crt' in order to establish trust. In this case, either serverCertSecretRef or serverCertIssuerRef must be provided. If not provided, a self-signed CA will be provisioned to issue the server certificate. properties: name: default: "" type: string type: object serverCertIssuerRef: description: |- ServerCertIssuerRef is a reference to a cert-manager issuer object used to issue the server certificate. cert-manager must be installed previously in the cluster. It is mutually exclusive with serverCertSecretRef. By default, the Secret field 'ca.crt' provisioned by cert-manager will be added to the trust chain. A custom trust bundle may be specified via serverCASecretRef. properties: group: description: Group of the resource being referred to. type: string kind: description: Kind of the resource being referred to. type: string name: description: Name of the resource being referred to. type: string required: - name type: object serverCertSecretRef: description: |- ServerCertSecretRef is a reference to a TLS Secret containing the server certificate. It is mutually exclusive with serverCertIssuerRef. properties: name: default: "" type: string type: object type: object username: description: Username is the username to connect to the external MariaDB. type: string required: - host - username type: object status: description: ExternalMariaDBStatus defines the observed state of MariaDB properties: conditions: description: Conditions for the ExternalMariadb object. items: description: Condition contains details for one aspect of the current state of this API Resource. properties: lastTransitionTime: description: |- lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: description: |- observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ type: string status: description: status of the condition, one of True, False, Unknown. enum: - "True" - "False" - Unknown type: string type: description: type of condition in CamelCase or in foo.example.com/CamelCase. maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string required: - lastTransitionTime - message - reason - status - type type: object type: array isGaleraEnabled: description: IsGaleraEnabled indicates that the external MariaDb has Galera enabled. type: boolean version: description: Version of the external MariaDB server. type: string type: object required: - spec type: object served: true storage: true subresources: status: {}