Files
infrastructure/clusters/cl01tl/manifests/mariadb-operator/CustomResourceDefinition-externalmariadbs.k8s.mariadb.com.yaml

358 lines
18 KiB
YAML

---
# 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 `<image>:<tag>`. 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: {}