160 lines
7.4 KiB
YAML
160 lines
7.4 KiB
YAML
apiVersion: apiextensions.k8s.io/v1
|
||
kind: CustomResourceDefinition
|
||
metadata:
|
||
annotations:
|
||
controller-gen.kubebuilder.io/version: v0.15.0
|
||
labels:
|
||
app.kubernetes.io/name: airlock-microgateway-operator
|
||
app.kubernetes.io/version: 4.3.0
|
||
name: redisproviders.microgateway.airlock.com
|
||
spec:
|
||
group: microgateway.airlock.com
|
||
names:
|
||
categories:
|
||
- airlock-microgateway
|
||
kind: RedisProvider
|
||
listKind: RedisProviderList
|
||
plural: redisproviders
|
||
singular: redisprovider
|
||
scope: Namespaced
|
||
versions:
|
||
- name: v1alpha1
|
||
schema:
|
||
openAPIV3Schema:
|
||
description: RedisProvider contains a client configuration for connecting to a Redis database.
|
||
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: Specification of a Redis database client configuration.
|
||
properties:
|
||
auth:
|
||
description: Auth specifies the Redis credentials.
|
||
properties:
|
||
password:
|
||
description: Password specifies the Redis password.
|
||
properties:
|
||
secretRef:
|
||
description: SecretRef selects the secret containing the Redis password under the key 'redis.password'.
|
||
properties:
|
||
name:
|
||
description: Name of the resource
|
||
minLength: 1
|
||
type: string
|
||
required:
|
||
- name
|
||
type: object
|
||
required:
|
||
- secretRef
|
||
type: object
|
||
username:
|
||
default: default
|
||
description: Username specifies the Redis username to authenticate with.
|
||
minLength: 1
|
||
pattern: ^[^\s]+$
|
||
type: string
|
||
required:
|
||
- password
|
||
type: object
|
||
mode:
|
||
description: Mode configures the redis deployment mode.
|
||
properties:
|
||
standalone:
|
||
description: Standalone specifies the standalone Redis instance to connect to.
|
||
properties:
|
||
host:
|
||
description: Host specifies the IP or hostname.
|
||
minLength: 1
|
||
pattern: ^(\d{1,3}(\.\d{1,3}){3}|([0-9a-fA-F]{1,4}|:)+(:\d{1,3}(\.\d{1,3}){3})?|[a-z0-9\-]+(\.[a-z0-9\-]+)*)$
|
||
type: string
|
||
port:
|
||
default: 6379
|
||
description: Port specifies the port.
|
||
maximum: 65535
|
||
minimum: 1
|
||
type: integer
|
||
required:
|
||
- host
|
||
type: object
|
||
type: object
|
||
timeouts:
|
||
description: Timeouts specifies the timeouts when interacting with the Redis endpoint.
|
||
properties:
|
||
connect:
|
||
default: 5s
|
||
description: Connect specifies the timeout for establishing a connection.
|
||
type: string
|
||
maxDuration:
|
||
default: 2s
|
||
description: MaxDuration specifies the response timeout.
|
||
type: string
|
||
type: object
|
||
tls:
|
||
description: TLS defines TLS settings. If not specified, TLS is disabled i.e. unencrypted TCP is used when connecting to the Redis instance.
|
||
properties:
|
||
certificateVerification:
|
||
description: CertificateVerification specifies how the certificate presented by the server is verified.
|
||
properties:
|
||
custom:
|
||
description: Custom explicitly specifies how the server certificate should be verified.
|
||
properties:
|
||
trustedCA:
|
||
description: TrustedCA defines which CA certificates are trusted.
|
||
properties:
|
||
certificates:
|
||
description: Certificates defines the list of secretRefs containing trusted CA certificates.
|
||
items:
|
||
properties:
|
||
secretRef:
|
||
description: SecretRef defines the reference to a secret containing one or more CA certificates under the key 'ca.crt'.
|
||
properties:
|
||
name:
|
||
description: Name of the resource
|
||
minLength: 1
|
||
type: string
|
||
required:
|
||
- name
|
||
type: object
|
||
required:
|
||
- secretRef
|
||
type: object
|
||
minItems: 1
|
||
type: array
|
||
required:
|
||
- certificates
|
||
type: object
|
||
required:
|
||
- trustedCA
|
||
type: object
|
||
disabled:
|
||
description: 'Disabled specifies to trust any certificate without verification. THIS IS INSECURE AND SHOULD ONLY BE USED FOR TESTING. Note: This setting currently also disables TLS SNI.'
|
||
type: object
|
||
publicCAs:
|
||
description: PublicCAs specifies to only accept certificates with a SAN matching the host and which are signed by a CA which is either directly or indirectly trusted by any of the root CA certificates shipped with the Airlock Microgateway Session Agent’s base image.
|
||
type: object
|
||
type: object
|
||
type: object
|
||
required:
|
||
- mode
|
||
type: object
|
||
required:
|
||
- spec
|
||
type: object
|
||
served: true
|
||
storage: true
|