RedisProvider

microgateway.airlock.com/v1alpha1


RedisProvider contains a client configuration for connecting to a Redis database.

apiVersion: microgateway.airlock.com/v1alpha1
kind: RedisProvider
metadata:
  name: redis-provider-example
spec:
  mode:
    standalone:
      host: redis.example.com
      port: 1111
  tls: # Enable mTLS with pinned CA for server certificate verification.
    certificateVerification:
      custom:
        trustedCA:
          certificates:
            - secretRef:
                name: ca
    clientCertificate:
      secretRef:
        name: client-certificate
  timeouts:
    connect: 10s
  auth:
    username: user1
    password:
      secretRef:
        name: redis-password
apiVersion: microgateway.airlock.com/v1alpha1
kind: RedisProvider
metadata:
  name: default

RedisProvider

Field Type Description Required Default Allowed Values
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata yes
spec object Specification of a Redis database client configuration. yes

RedisProvider.spec

Field Type Description Required Default Allowed Values
auth object Auth specifies the Redis credentials. no
mode object Mode configures the redis deployment mode. yes standalone{}, sentinel{}, cluster{}
tls object TLS defines TLS settings. If not specified, TLS is disabled i.e. unencrypted TCP is used when connecting to the Redis instance. no
timeouts object Timeouts specifies the timeouts when interacting with the Redis endpoint. no

RedisProvider.spec.auth

Field Type Description Required Default Allowed Values
password object Password specifies the Redis password. yes
username string Username specifies the Redis username to authenticate with. no default

RedisProvider.spec.auth.password

Field Type Description Required Default Allowed Values
secretRef object SecretRef selects the secret containing the Redis password under the key ‘redis.password’. yes

RedisProvider.spec.auth.password.secretRef

Field Type Description Required Default Allowed Values
name string Name of the resource yes

RedisProvider.spec.mode

Field Type Description Required Default Allowed Values
cluster object Cluster specifies the Redis Cluster to connect to. no
sentinel object Sentinel specifies the Redis Sentinels to connect to. no
standalone object Standalone specifies the standalone Redis instance to connect to. no

RedisProvider.spec.mode.cluster

Field Type Description Required Default Allowed Values
nodes object[] Nodes specifies the Cluster nodes. yes

RedisProvider.spec.mode.cluster.nodes[]

Field Type Description Required Default Allowed Values
host string Host specifies the IP or hostname. yes
port int Port specifies the port. no 6379 [1, 65535]

RedisProvider.spec.mode.sentinel

Field Type Description Required Default Allowed Values
masterName string MasterName specifies the master name. yes
nodes object[] Nodes specifies the Sentinel nodes. yes

RedisProvider.spec.mode.sentinel.nodes[]

Field Type Description Required Default Allowed Values
host string Host specifies the IP or hostname. yes
port int Port specifies the port. no 6379 [1, 65535]

RedisProvider.spec.mode.standalone

Field Type Description Required Default Allowed Values
host string Host specifies the IP or hostname. yes
port int Port specifies the port. no 6379 [1, 65535]

RedisProvider.spec.tls

Field Type Description Required Default Allowed Values
certificateVerification object CertificateVerification specifies how the certificate presented by the server is verified. no publicCAs{...} disabled{}, publicCAs{}, custom{}
clientCertificate object ClientCertificate configures client certificate authentication. If not specified, TLS-based client authentication is disabled. no

RedisProvider.spec.tls.certificateVerification

Field Type Description Required Default Allowed Values
custom object Custom explicitly specifies how the server certificate should be verified. no
disabled object 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. no
publicCAs object 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. no

RedisProvider.spec.tls.certificateVerification.custom

Field Type Description Required Default Allowed Values
trustedCA object TrustedCA defines which CA certificates are trusted. yes

RedisProvider.spec.tls.certificateVerification.custom.trustedCA

Field Type Description Required Default Allowed Values
certificates object[] Certificates defines the list of secretRefs containing trusted CA certificates. yes

RedisProvider.spec.tls.certificateVerification.custom.trustedCA.certificates[]

Field Type Description Required Default Allowed Values
secretRef object SecretRef defines the reference to a secret containing one or more CA certificates under the key ‘ca.crt’. yes

RedisProvider.spec.tls.certificateVerification.custom.trustedCA.certificates[].secretRef

Field Type Description Required Default Allowed Values
name string Name of the resource yes

RedisProvider.spec.tls.clientCertificate

Field Type Description Required Default Allowed Values
secretRef object SecretRef specifies the client certificate to use (secret of type kubernetes.io/tls). yes

RedisProvider.spec.tls.clientCertificate.secretRef

Field Type Description Required Default Allowed Values
name string Name of the resource yes

RedisProvider.spec.timeouts

Field Type Description Required Default Allowed Values
connect string (duration) Connect specifies the timeout for establishing a connection. no 5s See link
maxDuration string (duration) MaxDuration specifies the response timeout. no 2s See link