Skip to content

Latest commit

 

History

History
242 lines (203 loc) · 14.5 KB

operator.md

File metadata and controls

242 lines (203 loc) · 14.5 KB

API Docs

This document describes the parameters for the Redis Enterprise CRD

Note this document is auto-generated from code comments. To contribute a change please change the code comments.

Table of Contents

Objects

ActiveActive

Field Description Scheme Default Value Required
method Used to distinguish between different platforms implementation ActiveActiveMethod true
apiIngressUrl RS API URL string true
dbIngressSuffix DB ENDPOINT SUFFIX - will be used to set the db host ingress Creates a host name so it should be unique if more than one db is created on the cluster with the same name string true
ingressAnnotations Used for ingress controllers such as ha-proxy or nginx in GKE map[string]string false
peerClusters List of peer clusters to be used by the service broker []PeerCluster false
Back to Table of Contents

ImageSpec

Image specification

Field Description Scheme Default Value Required
repository Repository string true
versionTag string true
imagePullPolicy v1.PullPolicy true
Back to Table of Contents

PeerCluster

Active Active peer cluster

Field Description Scheme Default Value Required
fqdn k8s cluster fqdn: cluster-name.namespace.svc.cluster.local string true
apiIngressUrl Redis Enterprise API URL string true
dbIngressSuffix DB host SUFFIX - will be used to set the db host ingress: Creates a host name so it should be unique if more than one db is created on the cluster with the same name string true
authSecret Name of k8s secret in current namespace that holds a "password" and "username" fields to allow connection to RS cluster API string true
Back to Table of Contents

PersistentConfigurationSpec

Specification for Redis Enterprise Cluster persistence

Field Description Scheme Default Value Required
enabled Whether to add persistent volume to Redis Enterprise pods *bool True true
storageClassName Storage class for persistent volume in Redis Enterprise pods Leave empty to use the default string true
volumeSize resource.Quantity true
Back to Table of Contents

RedisDatabase

TBD

Field Description Scheme Default Value Required
metadata metav1.ObjectMeta true
spec RedisDatabaseSpec true
status RedisDatabaseStatus false
Back to Table of Contents

RedisDatabaseList

TBD

Field Description Scheme Default Value Required
metadata metav1.ListMeta true
items []RedisDatabase true
Back to Table of Contents

RedisDatabaseSpec

not implemented yet

Field Description Scheme Default Value Required
Back to Table of Contents

RedisDatabaseStatus

not implemented yet

Field Description Scheme Default Value Required
Back to Table of Contents

RedisEnterpriseCluster

RedisEnterpriseCluster is the Schema for the redisenterpriseclusters API

Field Description Scheme Default Value Required
metadata metav1.ObjectMeta false
spec RedisEnterpriseClusterSpec false
status RedisEnterpriseClusterStatus false
Back to Table of Contents

RedisEnterpriseClusterList

RedisEnterpriseClusterList contains a list of RedisEnterpriseCluster

Field Description Scheme Default Value Required
metadata metav1.ListMeta false
items []RedisEnterpriseCluster true
Back to Table of Contents

RedisEnterpriseClusterSpec

RedisEnterpriseClusterSpec defines the desired state of RedisEnterpriseCluster

Field Description Scheme Default Value Required
nodes Number of Redis Enterprise nodes (pods) int32 3 true
serviceAccountName Name of the service account to use string RedisEnterpriseCluster's name false
createServiceAccount Whether to create service account *bool True false
uiServiceType Type of service used to expose Redis Enterprise UI (https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) *v1.ServiceType v1.ServiceTypeClusterIP false
uiAnnotations Annotations for Redis Enterprise UI service map[string]string false
servicesRiggerSpec Specification for service rigger *ServicesRiggerConfigurationSpec false
license Redis Enterprise License string false
username Username for the admin user of Redis Enterprise string [email protected] false
nodeSelector Selector for nodes that could fit Redis Enterprise pod *map[string]string false
redisEnterpriseImageSpec Specification for Redis Enterprise container image *ImageSpec the default Redis Enterprise image for this version false
redisEnterpriseServicesRiggerImageSpec Specification for Services Rigger container image *ImageSpec the default Services Rigger image for this version false
bootstrapperImageSpec Specification for Bootstrapper container image *ImageSpec the default Bootstrapper image for this version false
redisEnterpriseNodeResources Compute resource requirements for Redis Enterprise containers *v1.ResourceRequirements 2 CPUs and 4GB memory false
bootstrapperResources Compute resource requirements for bootstrapper containers *v1.ResourceRequirements 0.1 CPUs and 128Mi memory false
redisEnterpriseServicesRiggerResources Compute resource requirements for Services Rigger pod *v1.ResourceRequirements 0.5 CPU and 0.5GB memory false
pullSecrets PullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ []v1.LocalObjectReference empty false
persistentSpec Specification for Redis Enterprise Cluster persistence PersistentConfigurationSpec disabled false
serviceBrokerSpec Specification for Service Broker ServiceBrokerSpec disabled false
sideContainersSpec Specification for a side container that will be added to each Redis Enterprise pod []v1.Container empty false
extraLabels Labels that the user defines for their convenience map[string]string empty false
podAntiAffinity Override for the default anti-affinity rules of the Redis Enterprise pods *v1.PodAntiAffinity false
antiAffinityAdditionalTopologyKeys Additional antiAffinity terms in order to support installation on different zones/vcenters []string false
activeActive Specification for ActiveActive setup *ActiveActive false
upgradeSpec Specification for upgrades of Redis Enterprise *UpgradeSpec false
podSecurityPolicyName Name of pod security policy to use on pods See https://kubernetes.io/docs/concepts/policy/pod-security-policy/ string empty false
enforceIPv4 Sets ENFORCE_IPV4 environment variable *bool False false
clusterRecovery ClusterRecovery initiates cluster recovery when set to true. Note that this field is cleared automatically after the cluster is recovered *bool false
rackAwarenessNodeLabel Node label that specifies rack ID - if specified, will create rack aware cluster. Rack awareness requires node label must exist on all nodes. Additionally, operator needs a special cluster role with permission to list nodes. string false
priorityClassName Adds the priority class to pods managed by the operator string false
volumes additional volumes []v1.Volume false
redisEnterpriseVolumeMounts additional volume mounts within the redis enterprise containers []v1.VolumeMount false
Back to Table of Contents

RedisEnterpriseClusterStatus

RedisEnterpriseClusterStatus defines the observed state of RedisEnterpriseCluster

Field Description Scheme Default Value Required
state State of Redis Enterprise Cluster ClusterState true
specStatus Validity of Redis Enterprise Cluster specification SpecStatusName true
Back to Table of Contents

ServiceBrokerSpec

Specification for Service Broker

Field Description Scheme Default Value Required
enabled Whether to deploy Service Broker bool true
persistentSpec Persistence specification for Service Broker PersistentConfigurationSpec false
imageSpec Image specification for Service Broker *ImageSpec false
resources Compute resource requirements for Service Broker *v1.ResourceRequirements false
Back to Table of Contents

ServicesRiggerConfigurationSpec

Specification for service rigger

Field Description Scheme Default Value Required
databaseServiceType Service type for access to databases string true
serviceNaming string true
extraEnvVars []v1.EnvVar false
Back to Table of Contents

UpgradeSpec

Specification for upgrades of Redis Enterprise

Field Description Scheme Default Value Required
autoUpgradeRedisEnterprise Whether to upgrade Redis Enterprise automatically when operator is upgraded bool true
Back to Table of Contents

Enums

ActiveActiveMethod

Method of ingress from another cluster in Active-Active configuration

Value Description
OpenShiftRoute Routes are only usable in OpenShift
Ingress See https://kubernetes.io/docs/concepts/services-networking/ingress/
Back to Table of Contents

ClusterEventReason

Reason for cluster event

Value Description
InvalidConfiguration Invalid Configuration
StatusChange Status Change
Back to Table of Contents

ClusterState

State of the Redis Enterprise Cluster

Value Description
ClusterPendingCreate ClusterPendingCreate means cluster is not created yet
ClusterBootstrappingFirstPod Bootstrapping first pod
ClusterInitializing ClusterInitializing means the cluster was created and nodes are in the process of joining the cluster
ClusterRecoveryReset ClusterRecoveryReset resets the cluster by deleting all pods
ClusterRecoveringFirstPod ClusterRecoveringFirstPod means the cluster entered cluster recovery
ClusterRunning ClusterRunning means the cluster's sub-resources have been created and are in running state
ClusterError ClusterError means the there was an error when starting creating/updating the one or more of the cluster's resources
ClusterConfigurationInvalid ClusterConfigurationInvalid means an invalid spec was applied
ClusterInvalidUpgrade ClusterInvalidUpgrade means an upgrade is not possible at this time
ClusterUpgrade ClusterUpgrade
Back to Table of Contents

SpecStatusName

Whether the REC specification is valid (custom resource)

Value Description
SpecStatusInvalid Specification status invalid
SpecStatusValid Specification status valid
Back to Table of Contents