Documentation
¶
Index ¶
- func RenderChart(release, namespace string, values *Values) ([]*unstructured.Unstructured, error)
- type Values
- type ValuesAuth
- type ValuesCommonAnnotations
- type ValuesCommonLabels
- type ValuesDiagnosticMode
- type ValuesGlobal
- type ValuesGlobalRedis
- type ValuesImage
- type ValuesMaster
- type ValuesMasterAffinity
- type ValuesMasterContainerPorts
- type ValuesMasterContainerSecurityContext
- type ValuesMasterContainerSecurityContextCapabilities
- type ValuesMasterContainerSecurityContextSeccompProfile
- type ValuesMasterCustomLivenessProbe
- type ValuesMasterCustomReadinessProbe
- type ValuesMasterCustomStartupProbe
- type ValuesMasterDnsConfig
- type ValuesMasterLifecycleHooks
- type ValuesMasterLivenessProbe
- type ValuesMasterNodeAffinityPreset
- type ValuesMasterNodeSelector
- type ValuesMasterPersistence
- type ValuesMasterPersistenceAnnotations
- type ValuesMasterPersistenceDataSource
- type ValuesMasterPersistenceLabels
- type ValuesMasterPersistenceSelector
- type ValuesMasterPersistentVolumeClaimRetentionPolicy
- type ValuesMasterPodAnnotations
- type ValuesMasterPodLabels
- type ValuesMasterPodSecurityContext
- type ValuesMasterReadinessProbe
- type ValuesMasterResources
- type ValuesMasterService
- type ValuesMasterServiceAccount
- type ValuesMasterServiceAccountAnnotations
- type ValuesMasterServiceAnnotations
- type ValuesMasterServiceNodePorts
- type ValuesMasterServicePorts
- type ValuesMasterServiceSessionAffinityConfig
- type ValuesMasterStartupProbe
- type ValuesMasterUpdateStrategy
- type ValuesMetrics
- type ValuesMetricsContainerPorts
- type ValuesMetricsContainerSecurityContext
- type ValuesMetricsContainerSecurityContextCapabilities
- type ValuesMetricsContainerSecurityContextSeccompProfile
- type ValuesMetricsCustomLivenessProbe
- type ValuesMetricsCustomReadinessProbe
- type ValuesMetricsCustomStartupProbe
- type ValuesMetricsExtraArgs
- type ValuesMetricsImage
- type ValuesMetricsLivenessProbe
- type ValuesMetricsPodLabels
- type ValuesMetricsPodMonitor
- type ValuesMetricsPodMonitorAdditionalLabels
- type ValuesMetricsPrometheusRule
- type ValuesMetricsPrometheusRuleAdditionalLabels
- type ValuesMetricsReadinessProbe
- type ValuesMetricsResources
- type ValuesMetricsService
- type ValuesMetricsServiceAnnotations
- type ValuesMetricsServiceMonitor
- type ValuesMetricsServiceMonitorAdditionalLabels
- type ValuesMetricsServicePorts
- type ValuesMetricsStartupProbe
- type ValuesNetworkPolicy
- type ValuesNetworkPolicyIngressNSMatchLabels
- type ValuesNetworkPolicyIngressNSPodMatchLabels
- type ValuesNetworkPolicyMetrics
- type ValuesNetworkPolicyMetricsIngressNSMatchLabels
- type ValuesNetworkPolicyMetricsIngressNSPodMatchLabels
- type ValuesPdb
- type ValuesPodSecurityPolicy
- type ValuesRbac
- type ValuesReplica
- type ValuesReplicaAffinity
- type ValuesReplicaAutoscaling
- type ValuesReplicaContainerPorts
- type ValuesReplicaContainerSecurityContext
- type ValuesReplicaContainerSecurityContextCapabilities
- type ValuesReplicaContainerSecurityContextSeccompProfile
- type ValuesReplicaCustomLivenessProbe
- type ValuesReplicaCustomReadinessProbe
- type ValuesReplicaCustomStartupProbe
- type ValuesReplicaDnsConfig
- type ValuesReplicaExternalMaster
- type ValuesReplicaLifecycleHooks
- type ValuesReplicaLivenessProbe
- type ValuesReplicaNodeAffinityPreset
- type ValuesReplicaNodeSelector
- type ValuesReplicaPersistence
- type ValuesReplicaPersistenceAnnotations
- type ValuesReplicaPersistenceDataSource
- type ValuesReplicaPersistenceLabels
- type ValuesReplicaPersistenceSelector
- type ValuesReplicaPersistentVolumeClaimRetentionPolicy
- type ValuesReplicaPodAnnotations
- type ValuesReplicaPodLabels
- type ValuesReplicaPodSecurityContext
- type ValuesReplicaReadinessProbe
- type ValuesReplicaResources
- type ValuesReplicaService
- type ValuesReplicaServiceAccount
- type ValuesReplicaServiceAccountAnnotations
- type ValuesReplicaServiceAnnotations
- type ValuesReplicaServiceNodePorts
- type ValuesReplicaServicePorts
- type ValuesReplicaServiceSessionAffinityConfig
- type ValuesReplicaStartupProbe
- type ValuesReplicaUpdateStrategy
- type ValuesSecretAnnotations
- type ValuesSentinel
- type ValuesSentinelAnnotations
- type ValuesSentinelContainerPorts
- type ValuesSentinelContainerSecurityContext
- type ValuesSentinelContainerSecurityContextCapabilities
- type ValuesSentinelContainerSecurityContextSeccompProfile
- type ValuesSentinelCustomLivenessProbe
- type ValuesSentinelCustomReadinessProbe
- type ValuesSentinelCustomStartupProbe
- type ValuesSentinelExternalMaster
- type ValuesSentinelImage
- type ValuesSentinelLifecycleHooks
- type ValuesSentinelLivenessProbe
- type ValuesSentinelPersistence
- type ValuesSentinelPersistenceAnnotations
- type ValuesSentinelPersistenceDataSource
- type ValuesSentinelPersistenceLabels
- type ValuesSentinelPersistenceSelector
- type ValuesSentinelPersistentVolumeClaimRetentionPolicy
- type ValuesSentinelReadinessProbe
- type ValuesSentinelResources
- type ValuesSentinelService
- type ValuesSentinelServiceAnnotations
- type ValuesSentinelServiceHeadless
- type ValuesSentinelServiceHeadlessAnnotations
- type ValuesSentinelServiceNodePorts
- type ValuesSentinelServicePorts
- type ValuesSentinelServiceSessionAffinityConfig
- type ValuesSentinelStartupProbe
- type ValuesServiceAccount
- type ValuesServiceAccountAnnotations
- type ValuesServiceBindings
- type ValuesSysctl
- type ValuesSysctlImage
- type ValuesSysctlResources
- type ValuesTls
- type ValuesUseExternalDNS
- type ValuesUseExternalDNSAdditionalAnnotations
- type ValuesVolumePermissions
- type ValuesVolumePermissionsContainerSecurityContext
- type ValuesVolumePermissionsImage
- type ValuesVolumePermissionsResources
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RenderChart ¶
func RenderChart(release, namespace string, values *Values) ([]*unstructured.Unstructured, error)
Types ¶
type Values ¶
type Values struct {
// Redis® architecture. Allowed values: `standalone` or `replication`
Architecture string `json:"architecture,omitempty" yaml:"architecture,omitempty" mapstructure:"architecture,omitempty"`
// Auth corresponds to the JSON schema field "auth".
Auth *ValuesAuth `json:"auth,omitempty" yaml:"auth,omitempty" mapstructure:"auth,omitempty"`
// Kubernetes cluster domain name
ClusterDomain string `json:"clusterDomain,omitempty" yaml:"clusterDomain,omitempty" mapstructure:"clusterDomain,omitempty"`
// Annotations to add to all deployed objects
CommonAnnotations ValuesCommonAnnotations `json:"commonAnnotations,omitempty" yaml:"commonAnnotations,omitempty" mapstructure:"commonAnnotations,omitempty"`
// Common configuration to be added into the ConfigMap
CommonConfiguration string `json:"commonConfiguration,omitempty" yaml:"commonConfiguration,omitempty" mapstructure:"commonConfiguration,omitempty"`
// Labels to add to all deployed objects
CommonLabels ValuesCommonLabels `json:"commonLabels,omitempty" yaml:"commonLabels,omitempty" mapstructure:"commonLabels,omitempty"`
// DiagnosticMode corresponds to the JSON schema field "diagnosticMode".
DiagnosticMode *ValuesDiagnosticMode `json:"diagnosticMode,omitempty" yaml:"diagnosticMode,omitempty" mapstructure:"diagnosticMode,omitempty"`
// The name of an existing ConfigMap with your custom configuration for Redis®
// nodes
ExistingConfigmap string `json:"existingConfigmap,omitempty" yaml:"existingConfigmap,omitempty" mapstructure:"existingConfigmap,omitempty"`
// Array of extra objects to deploy with the release
ExtraDeploy []interface{} `json:"extraDeploy,omitempty" yaml:"extraDeploy,omitempty" mapstructure:"extraDeploy,omitempty"`
// String to fully override common.names.fullname
FullnameOverride string `json:"fullnameOverride,omitempty" yaml:"fullnameOverride,omitempty" mapstructure:"fullnameOverride,omitempty"`
// Global corresponds to the JSON schema field "global".
Global *ValuesGlobal `json:"global,omitempty" yaml:"global,omitempty" mapstructure:"global,omitempty"`
// Image corresponds to the JSON schema field "image".
Image *ValuesImage `json:"image,omitempty" yaml:"image,omitempty" mapstructure:"image,omitempty"`
// Override Kubernetes version
KubeVersion string `json:"kubeVersion,omitempty" yaml:"kubeVersion,omitempty" mapstructure:"kubeVersion,omitempty"`
// Master corresponds to the JSON schema field "master".
Master *ValuesMaster `json:"master,omitempty" yaml:"master,omitempty" mapstructure:"master,omitempty"`
// Metrics corresponds to the JSON schema field "metrics".
Metrics *ValuesMetrics `json:"metrics,omitempty" yaml:"metrics,omitempty" mapstructure:"metrics,omitempty"`
// String to partially override common.names.fullname
NameOverride string `json:"nameOverride,omitempty" yaml:"nameOverride,omitempty" mapstructure:"nameOverride,omitempty"`
// Failure threshold for internal hostnames resolution
NameResolutionThreshold float64 `` /* 130-byte string literal not displayed */
// Timeout seconds between probes for internal hostnames resolution
NameResolutionTimeout float64 `json:"nameResolutionTimeout,omitempty" yaml:"nameResolutionTimeout,omitempty" mapstructure:"nameResolutionTimeout,omitempty"`
// String to fully override common.names.namespace
NamespaceOverride string `json:"namespaceOverride,omitempty" yaml:"namespaceOverride,omitempty" mapstructure:"namespaceOverride,omitempty"`
// NetworkPolicy corresponds to the JSON schema field "networkPolicy".
NetworkPolicy *ValuesNetworkPolicy `json:"networkPolicy,omitempty" yaml:"networkPolicy,omitempty" mapstructure:"networkPolicy,omitempty"`
// Pdb corresponds to the JSON schema field "pdb".
Pdb *ValuesPdb `json:"pdb,omitempty" yaml:"pdb,omitempty" mapstructure:"pdb,omitempty"`
// PodSecurityPolicy corresponds to the JSON schema field "podSecurityPolicy".
PodSecurityPolicy *ValuesPodSecurityPolicy `json:"podSecurityPolicy,omitempty" yaml:"podSecurityPolicy,omitempty" mapstructure:"podSecurityPolicy,omitempty"`
// Rbac corresponds to the JSON schema field "rbac".
Rbac *ValuesRbac `json:"rbac,omitempty" yaml:"rbac,omitempty" mapstructure:"rbac,omitempty"`
// Replica corresponds to the JSON schema field "replica".
Replica *ValuesReplica `json:"replica,omitempty" yaml:"replica,omitempty" mapstructure:"replica,omitempty"`
// Annotations to add to secret
SecretAnnotations ValuesSecretAnnotations `json:"secretAnnotations,omitempty" yaml:"secretAnnotations,omitempty" mapstructure:"secretAnnotations,omitempty"`
// Sentinel corresponds to the JSON schema field "sentinel".
Sentinel *ValuesSentinel `json:"sentinel,omitempty" yaml:"sentinel,omitempty" mapstructure:"sentinel,omitempty"`
// ServiceAccount corresponds to the JSON schema field "serviceAccount".
ServiceAccount *ValuesServiceAccount `json:"serviceAccount,omitempty" yaml:"serviceAccount,omitempty" mapstructure:"serviceAccount,omitempty"`
// ServiceBindings corresponds to the JSON schema field "serviceBindings".
ServiceBindings *ValuesServiceBindings `json:"serviceBindings,omitempty" yaml:"serviceBindings,omitempty" mapstructure:"serviceBindings,omitempty"`
// Sysctl corresponds to the JSON schema field "sysctl".
Sysctl *ValuesSysctl `json:"sysctl,omitempty" yaml:"sysctl,omitempty" mapstructure:"sysctl,omitempty"`
// Tls corresponds to the JSON schema field "tls".
Tls *ValuesTls `json:"tls,omitempty" yaml:"tls,omitempty" mapstructure:"tls,omitempty"`
// UseExternalDNS corresponds to the JSON schema field "useExternalDNS".
UseExternalDNS *ValuesUseExternalDNS `json:"useExternalDNS,omitempty" yaml:"useExternalDNS,omitempty" mapstructure:"useExternalDNS,omitempty"`
// Use hostnames internally when announcing replication. If false, the hostname
// will be resolved to an IP address
UseHostnames bool `json:"useHostnames,omitempty" yaml:"useHostnames,omitempty" mapstructure:"useHostnames,omitempty"`
// VolumePermissions corresponds to the JSON schema field "volumePermissions".
VolumePermissions *ValuesVolumePermissions `json:"volumePermissions,omitempty" yaml:"volumePermissions,omitempty" mapstructure:"volumePermissions,omitempty"`
}
type ValuesAuth ¶
type ValuesAuth struct {
// Enable password authentication
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// The name of an existing secret with Redis® credentials
ExistingSecret string `json:"existingSecret,omitempty" yaml:"existingSecret,omitempty" mapstructure:"existingSecret,omitempty"`
// Password key to be retrieved from existing secret
ExistingSecretPasswordKey string `` /* 136-byte string literal not displayed */
// Redis® password
Password string `json:"password,omitempty" yaml:"password,omitempty" mapstructure:"password,omitempty"`
// Enable password authentication on sentinels too
Sentinel bool `json:"sentinel,omitempty" yaml:"sentinel,omitempty" mapstructure:"sentinel,omitempty"`
// Mount password file from secret
UsePasswordFileFromSecret bool `` /* 136-byte string literal not displayed */
// Mount credentials as files instead of using an environment variable
UsePasswordFiles bool `json:"usePasswordFiles,omitempty" yaml:"usePasswordFiles,omitempty" mapstructure:"usePasswordFiles,omitempty"`
}
type ValuesCommonAnnotations ¶
type ValuesCommonAnnotations map[string]interface{}
Annotations to add to all deployed objects
type ValuesCommonLabels ¶
type ValuesCommonLabels map[string]interface{}
Labels to add to all deployed objects
type ValuesDiagnosticMode ¶
type ValuesDiagnosticMode struct {
// Args to override all containers in the deployment
Args []string `json:"args,omitempty" yaml:"args,omitempty" mapstructure:"args,omitempty"`
// Command to override all containers in the deployment
Command []string `json:"command,omitempty" yaml:"command,omitempty" mapstructure:"command,omitempty"`
// Enable diagnostic mode (all probes will be disabled and the command will be
// overridden)
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
}
type ValuesGlobal ¶
type ValuesGlobal struct {
// Global Docker registry secret names as an array
ImagePullSecrets []interface{} `json:"imagePullSecrets,omitempty" yaml:"imagePullSecrets,omitempty" mapstructure:"imagePullSecrets,omitempty"`
// Global Docker image registry
ImageRegistry string `json:"imageRegistry,omitempty" yaml:"imageRegistry,omitempty" mapstructure:"imageRegistry,omitempty"`
// Redis corresponds to the JSON schema field "redis".
Redis *ValuesGlobalRedis `json:"redis,omitempty" yaml:"redis,omitempty" mapstructure:"redis,omitempty"`
// Global StorageClass for Persistent Volume(s)
StorageClass string `json:"storageClass,omitempty" yaml:"storageClass,omitempty" mapstructure:"storageClass,omitempty"`
}
type ValuesGlobalRedis ¶
type ValuesGlobalRedis struct {
// Global Redis® password (overrides `auth.password`)
Password string `json:"password,omitempty" yaml:"password,omitempty" mapstructure:"password,omitempty"`
}
type ValuesImage ¶
type ValuesImage struct {
// Enable image debug mode
Debug bool `json:"debug,omitempty" yaml:"debug,omitempty" mapstructure:"debug,omitempty"`
// Redis® image digest in the way sha256:aa.... Please note this parameter, if
// set, will override the tag
Digest string `json:"digest,omitempty" yaml:"digest,omitempty" mapstructure:"digest,omitempty"`
// Redis® image pull policy
PullPolicy string `json:"pullPolicy,omitempty" yaml:"pullPolicy,omitempty" mapstructure:"pullPolicy,omitempty"`
// Redis® image pull secrets
PullSecrets []interface{} `json:"pullSecrets,omitempty" yaml:"pullSecrets,omitempty" mapstructure:"pullSecrets,omitempty"`
// Redis® image registry
Registry string `json:"registry,omitempty" yaml:"registry,omitempty" mapstructure:"registry,omitempty"`
// Redis® image repository
Repository string `json:"repository,omitempty" yaml:"repository,omitempty" mapstructure:"repository,omitempty"`
}
type ValuesMaster ¶
type ValuesMaster struct {
// Affinity for Redis® master pods assignment
Affinity ValuesMasterAffinity `json:"affinity,omitempty" yaml:"affinity,omitempty" mapstructure:"affinity,omitempty"`
// Override default container args (useful when using custom images)
Args []interface{} `json:"args,omitempty" yaml:"args,omitempty" mapstructure:"args,omitempty"`
// Mount Service Account token in pod
AutomountServiceAccountToken bool `` /* 145-byte string literal not displayed */
// Override default container command (useful when using custom images)
Command []interface{} `json:"command,omitempty" yaml:"command,omitempty" mapstructure:"command,omitempty"`
// Configuration for Redis® master nodes
Configuration string `json:"configuration,omitempty" yaml:"configuration,omitempty" mapstructure:"configuration,omitempty"`
// ContainerPorts corresponds to the JSON schema field "containerPorts".
ContainerPorts *ValuesMasterContainerPorts `json:"containerPorts,omitempty" yaml:"containerPorts,omitempty" mapstructure:"containerPorts,omitempty"`
// ContainerSecurityContext corresponds to the JSON schema field
// "containerSecurityContext".
ContainerSecurityContext *ValuesMasterContainerSecurityContext `` /* 133-byte string literal not displayed */
// Number of Redis® master instances to deploy (experimental, requires
// additional configuration)
Count float64 `json:"count,omitempty" yaml:"count,omitempty" mapstructure:"count,omitempty"`
// Custom livenessProbe that overrides the default one
CustomLivenessProbe ValuesMasterCustomLivenessProbe `json:"customLivenessProbe,omitempty" yaml:"customLivenessProbe,omitempty" mapstructure:"customLivenessProbe,omitempty"`
// Custom readinessProbe that overrides the default one
CustomReadinessProbe ValuesMasterCustomReadinessProbe `json:"customReadinessProbe,omitempty" yaml:"customReadinessProbe,omitempty" mapstructure:"customReadinessProbe,omitempty"`
// Custom startupProbe that overrides the default one
CustomStartupProbe ValuesMasterCustomStartupProbe `json:"customStartupProbe,omitempty" yaml:"customStartupProbe,omitempty" mapstructure:"customStartupProbe,omitempty"`
// Array with Redis® commands to disable on master nodes
DisableCommands []string `json:"disableCommands,omitempty" yaml:"disableCommands,omitempty" mapstructure:"disableCommands,omitempty"`
// DNS Configuration for Redis® master pod
DnsConfig ValuesMasterDnsConfig `json:"dnsConfig,omitempty" yaml:"dnsConfig,omitempty" mapstructure:"dnsConfig,omitempty"`
// DNS Policy for Redis® master pod
DnsPolicy string `json:"dnsPolicy,omitempty" yaml:"dnsPolicy,omitempty" mapstructure:"dnsPolicy,omitempty"`
// Whether information about services should be injected into pod's environment
// variable
EnableServiceLinks bool `json:"enableServiceLinks,omitempty" yaml:"enableServiceLinks,omitempty" mapstructure:"enableServiceLinks,omitempty"`
// Array with extra environment variables to add to Redis® master nodes
ExtraEnvVars []interface{} `json:"extraEnvVars,omitempty" yaml:"extraEnvVars,omitempty" mapstructure:"extraEnvVars,omitempty"`
// Name of existing ConfigMap containing extra env vars for Redis® master
// nodes
ExtraEnvVarsCM string `json:"extraEnvVarsCM,omitempty" yaml:"extraEnvVarsCM,omitempty" mapstructure:"extraEnvVarsCM,omitempty"`
// Name of existing Secret containing extra env vars for Redis® master nodes
ExtraEnvVarsSecret string `json:"extraEnvVarsSecret,omitempty" yaml:"extraEnvVarsSecret,omitempty" mapstructure:"extraEnvVarsSecret,omitempty"`
// Array with additional command line flags for Redis® master
ExtraFlags []interface{} `json:"extraFlags,omitempty" yaml:"extraFlags,omitempty" mapstructure:"extraFlags,omitempty"`
// Optionally specify extra list of additional volumeMounts for the Redis®
// master container(s)
ExtraVolumeMounts []interface{} `json:"extraVolumeMounts,omitempty" yaml:"extraVolumeMounts,omitempty" mapstructure:"extraVolumeMounts,omitempty"`
// Optionally specify extra list of additional volumes for the Redis® master
// pod(s)
ExtraVolumes []interface{} `json:"extraVolumes,omitempty" yaml:"extraVolumes,omitempty" mapstructure:"extraVolumes,omitempty"`
// Redis® master pods host aliases
HostAliases []interface{} `json:"hostAliases,omitempty" yaml:"hostAliases,omitempty" mapstructure:"hostAliases,omitempty"`
// Add additional init containers to the Redis® master pod(s)
InitContainers []interface{} `json:"initContainers,omitempty" yaml:"initContainers,omitempty" mapstructure:"initContainers,omitempty"`
// Use either Deployment, StatefulSet (default) or DaemonSet
Kind string `json:"kind,omitempty" yaml:"kind,omitempty" mapstructure:"kind,omitempty"`
// for the Redis® master container(s) to automate configuration before or
// after startup
LifecycleHooks ValuesMasterLifecycleHooks `json:"lifecycleHooks,omitempty" yaml:"lifecycleHooks,omitempty" mapstructure:"lifecycleHooks,omitempty"`
// LivenessProbe corresponds to the JSON schema field "livenessProbe".
LivenessProbe *ValuesMasterLivenessProbe `json:"livenessProbe,omitempty" yaml:"livenessProbe,omitempty" mapstructure:"livenessProbe,omitempty"`
// How many seconds a pod needs to be ready before killing the next, during update
MinReadySeconds float64 `json:"minReadySeconds,omitempty" yaml:"minReadySeconds,omitempty" mapstructure:"minReadySeconds,omitempty"`
// NodeAffinityPreset corresponds to the JSON schema field "nodeAffinityPreset".
NodeAffinityPreset *ValuesMasterNodeAffinityPreset `json:"nodeAffinityPreset,omitempty" yaml:"nodeAffinityPreset,omitempty" mapstructure:"nodeAffinityPreset,omitempty"`
// Node labels for Redis® master pods assignment
NodeSelector ValuesMasterNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"`
// Persistence corresponds to the JSON schema field "persistence".
Persistence *ValuesMasterPersistence `json:"persistence,omitempty" yaml:"persistence,omitempty" mapstructure:"persistence,omitempty"`
// PersistentVolumeClaimRetentionPolicy corresponds to the JSON schema field
// "persistentVolumeClaimRetentionPolicy".
PersistentVolumeClaimRetentionPolicy *ValuesMasterPersistentVolumeClaimRetentionPolicy `` /* 169-byte string literal not displayed */
// Pod affinity preset. Ignored if `master.affinity` is set. Allowed values:
// `soft` or `hard`
PodAffinityPreset string `json:"podAffinityPreset,omitempty" yaml:"podAffinityPreset,omitempty" mapstructure:"podAffinityPreset,omitempty"`
// Annotations for Redis® master pods
PodAnnotations ValuesMasterPodAnnotations `json:"podAnnotations,omitempty" yaml:"podAnnotations,omitempty" mapstructure:"podAnnotations,omitempty"`
// Pod anti-affinity preset. Ignored if `master.affinity` is set. Allowed values:
// `soft` or `hard`
PodAntiAffinityPreset string `json:"podAntiAffinityPreset,omitempty" yaml:"podAntiAffinityPreset,omitempty" mapstructure:"podAntiAffinityPreset,omitempty"`
// Extra labels for Redis® master pods
PodLabels ValuesMasterPodLabels `json:"podLabels,omitempty" yaml:"podLabels,omitempty" mapstructure:"podLabels,omitempty"`
// PodSecurityContext corresponds to the JSON schema field "podSecurityContext".
PodSecurityContext *ValuesMasterPodSecurityContext `json:"podSecurityContext,omitempty" yaml:"podSecurityContext,omitempty" mapstructure:"podSecurityContext,omitempty"`
// Additional commands to run prior to starting Redis® master
PreExecCmds []interface{} `json:"preExecCmds,omitempty" yaml:"preExecCmds,omitempty" mapstructure:"preExecCmds,omitempty"`
// Redis® master pods' priorityClassName
PriorityClassName string `json:"priorityClassName,omitempty" yaml:"priorityClassName,omitempty" mapstructure:"priorityClassName,omitempty"`
// ReadinessProbe corresponds to the JSON schema field "readinessProbe".
ReadinessProbe *ValuesMasterReadinessProbe `json:"readinessProbe,omitempty" yaml:"readinessProbe,omitempty" mapstructure:"readinessProbe,omitempty"`
// Set container requests and limits for different resources like CPU or memory
// (essential for production workloads)
Resources ValuesMasterResources `json:"resources,omitempty" yaml:"resources,omitempty" mapstructure:"resources,omitempty"`
// Set container resources according to one common preset (allowed values: none,
// nano, small, medium, large, xlarge, 2xlarge). This is ignored if
// master.resources is set (master.resources is recommended for production).
ResourcesPreset string `json:"resourcesPreset,omitempty" yaml:"resourcesPreset,omitempty" mapstructure:"resourcesPreset,omitempty"`
// Alternate scheduler for Redis® master pods
SchedulerName string `json:"schedulerName,omitempty" yaml:"schedulerName,omitempty" mapstructure:"schedulerName,omitempty"`
// Service corresponds to the JSON schema field "service".
Service *ValuesMasterService `json:"service,omitempty" yaml:"service,omitempty" mapstructure:"service,omitempty"`
// ServiceAccount corresponds to the JSON schema field "serviceAccount".
ServiceAccount *ValuesMasterServiceAccount `json:"serviceAccount,omitempty" yaml:"serviceAccount,omitempty" mapstructure:"serviceAccount,omitempty"`
// master pods
ShareProcessNamespace bool `json:"shareProcessNamespace,omitempty" yaml:"shareProcessNamespace,omitempty" mapstructure:"shareProcessNamespace,omitempty"`
// Add additional sidecar containers to the Redis® master pod(s)
Sidecars []interface{} `json:"sidecars,omitempty" yaml:"sidecars,omitempty" mapstructure:"sidecars,omitempty"`
// StartupProbe corresponds to the JSON schema field "startupProbe".
StartupProbe *ValuesMasterStartupProbe `json:"startupProbe,omitempty" yaml:"startupProbe,omitempty" mapstructure:"startupProbe,omitempty"`
// Integer setting the termination grace period for the redis-master pods
TerminationGracePeriodSeconds float64 `` /* 148-byte string literal not displayed */
// Tolerations for Redis® master pods assignment
Tolerations []interface{} `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"`
// Spread Constraints for Redis® master pod assignment
TopologySpreadConstraints []interface{} `` /* 136-byte string literal not displayed */
// UpdateStrategy corresponds to the JSON schema field "updateStrategy".
UpdateStrategy *ValuesMasterUpdateStrategy `json:"updateStrategy,omitempty" yaml:"updateStrategy,omitempty" mapstructure:"updateStrategy,omitempty"`
}
type ValuesMasterAffinity ¶
type ValuesMasterAffinity map[string]interface{}
Affinity for Redis® master pods assignment
type ValuesMasterContainerPorts ¶
type ValuesMasterContainerPorts struct {
// Container port to open on Redis® master nodes
Redis float64 `json:"redis,omitempty" yaml:"redis,omitempty" mapstructure:"redis,omitempty"`
}
type ValuesMasterContainerSecurityContext ¶
type ValuesMasterContainerSecurityContext struct {
// Is it possible to escalate Redis® pod(s) privileges
AllowPrivilegeEscalation bool `` /* 133-byte string literal not displayed */
// Capabilities corresponds to the JSON schema field "capabilities".
Capabilities *ValuesMasterContainerSecurityContextCapabilities `json:"capabilities,omitempty" yaml:"capabilities,omitempty" mapstructure:"capabilities,omitempty"`
// Enabled Redis® master containers' Security Context
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Set container's Security Context read-only root filesystem
ReadOnlyRootFilesystem bool `` /* 127-byte string literal not displayed */
// Set Redis® master containers' Security Context runAsGroup
RunAsGroup float64 `json:"runAsGroup,omitempty" yaml:"runAsGroup,omitempty" mapstructure:"runAsGroup,omitempty"`
// Set Redis® master containers' Security Context runAsNonRoot
RunAsNonRoot bool `json:"runAsNonRoot,omitempty" yaml:"runAsNonRoot,omitempty" mapstructure:"runAsNonRoot,omitempty"`
// Set Redis® master containers' Security Context runAsUser
RunAsUser float64 `json:"runAsUser,omitempty" yaml:"runAsUser,omitempty" mapstructure:"runAsUser,omitempty"`
// SeccompProfile corresponds to the JSON schema field "seccompProfile".
SeccompProfile *ValuesMasterContainerSecurityContextSeccompProfile `json:"seccompProfile,omitempty" yaml:"seccompProfile,omitempty" mapstructure:"seccompProfile,omitempty"`
}
type ValuesMasterContainerSecurityContextCapabilities ¶
type ValuesMasterContainerSecurityContextCapabilities struct {
// Set Redis® master containers' Security Context capabilities to drop
Drop []string `json:"drop,omitempty" yaml:"drop,omitempty" mapstructure:"drop,omitempty"`
}
type ValuesMasterContainerSecurityContextSeccompProfile ¶
type ValuesMasterContainerSecurityContextSeccompProfile struct {
// Set Redis® master containers' Security Context seccompProfile
Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}
type ValuesMasterCustomLivenessProbe ¶
type ValuesMasterCustomLivenessProbe map[string]interface{}
Custom livenessProbe that overrides the default one
type ValuesMasterCustomReadinessProbe ¶
type ValuesMasterCustomReadinessProbe map[string]interface{}
Custom readinessProbe that overrides the default one
type ValuesMasterCustomStartupProbe ¶
type ValuesMasterCustomStartupProbe map[string]interface{}
Custom startupProbe that overrides the default one
type ValuesMasterDnsConfig ¶
type ValuesMasterDnsConfig map[string]interface{}
DNS Configuration for Redis® master pod
type ValuesMasterLifecycleHooks ¶
type ValuesMasterLifecycleHooks map[string]interface{}
for the Redis® master container(s) to automate configuration before or after startup
type ValuesMasterLivenessProbe ¶
type ValuesMasterLivenessProbe struct {
// Enable livenessProbe on Redis® master nodes
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Failure threshold for livenessProbe
FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`
// Initial delay seconds for livenessProbe
InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`
// Period seconds for livenessProbe
PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`
// Success threshold for livenessProbe
SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`
// Timeout seconds for livenessProbe
TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}
type ValuesMasterNodeAffinityPreset ¶
type ValuesMasterNodeAffinityPreset struct {
// Node label key to match. Ignored if `master.affinity` is set
Key string `json:"key,omitempty" yaml:"key,omitempty" mapstructure:"key,omitempty"`
// Node affinity preset type. Ignored if `master.affinity` is set. Allowed values:
// `soft` or `hard`
Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
// Node label values to match. Ignored if `master.affinity` is set
Values []interface{} `json:"values,omitempty" yaml:"values,omitempty" mapstructure:"values,omitempty"`
}
type ValuesMasterNodeSelector ¶
type ValuesMasterNodeSelector map[string]interface{}
Node labels for Redis® master pods assignment
type ValuesMasterPersistence ¶
type ValuesMasterPersistence struct {
// Persistent Volume access modes
AccessModes []string `json:"accessModes,omitempty" yaml:"accessModes,omitempty" mapstructure:"accessModes,omitempty"`
// Additional custom annotations for the PVC
Annotations ValuesMasterPersistenceAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`
// Custom PVC data source
DataSource ValuesMasterPersistenceDataSource `json:"dataSource,omitempty" yaml:"dataSource,omitempty" mapstructure:"dataSource,omitempty"`
// Enable persistence on Redis® master nodes using Persistent Volume Claims
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Use a existing PVC which must be created manually before bound
ExistingClaim string `json:"existingClaim,omitempty" yaml:"existingClaim,omitempty" mapstructure:"existingClaim,omitempty"`
// Additional custom labels for the PVC
Labels ValuesMasterPersistenceLabels `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"`
// Provide a medium for `emptyDir` volumes.
Medium string `json:"medium,omitempty" yaml:"medium,omitempty" mapstructure:"medium,omitempty"`
// The path the volume will be mounted at on Redis® master containers
Path string `json:"path,omitempty" yaml:"path,omitempty" mapstructure:"path,omitempty"`
// Additional labels to match for the PVC
Selector ValuesMasterPersistenceSelector `json:"selector,omitempty" yaml:"selector,omitempty" mapstructure:"selector,omitempty"`
// Persistent Volume size
Size string `json:"size,omitempty" yaml:"size,omitempty" mapstructure:"size,omitempty"`
// Set this to enable a size limit for `emptyDir` volumes.
SizeLimit string `json:"sizeLimit,omitempty" yaml:"sizeLimit,omitempty" mapstructure:"sizeLimit,omitempty"`
// Persistent Volume storage class
StorageClass string `json:"storageClass,omitempty" yaml:"storageClass,omitempty" mapstructure:"storageClass,omitempty"`
// The subdirectory of the volume to mount on Redis® master containers
SubPath string `json:"subPath,omitempty" yaml:"subPath,omitempty" mapstructure:"subPath,omitempty"`
// Used to construct the subPath subdirectory of the volume to mount on Redis®
// master containers
SubPathExpr string `json:"subPathExpr,omitempty" yaml:"subPathExpr,omitempty" mapstructure:"subPathExpr,omitempty"`
}
type ValuesMasterPersistenceAnnotations ¶
type ValuesMasterPersistenceAnnotations map[string]interface{}
Additional custom annotations for the PVC
type ValuesMasterPersistenceDataSource ¶
type ValuesMasterPersistenceDataSource map[string]interface{}
Custom PVC data source
type ValuesMasterPersistenceLabels ¶
type ValuesMasterPersistenceLabels map[string]interface{}
Additional custom labels for the PVC
type ValuesMasterPersistenceSelector ¶
type ValuesMasterPersistenceSelector map[string]interface{}
Additional labels to match for the PVC
type ValuesMasterPersistentVolumeClaimRetentionPolicy ¶
type ValuesMasterPersistentVolumeClaimRetentionPolicy struct {
// Controls if and how PVCs are deleted during the lifecycle of a StatefulSet
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Volume retention behavior that applies when the StatefulSet is deleted
WhenDeleted string `json:"whenDeleted,omitempty" yaml:"whenDeleted,omitempty" mapstructure:"whenDeleted,omitempty"`
// Volume retention behavior when the replica count of the StatefulSet is reduced
WhenScaled string `json:"whenScaled,omitempty" yaml:"whenScaled,omitempty" mapstructure:"whenScaled,omitempty"`
}
type ValuesMasterPodAnnotations ¶
type ValuesMasterPodAnnotations map[string]interface{}
Annotations for Redis® master pods
type ValuesMasterPodLabels ¶
type ValuesMasterPodLabels map[string]interface{}
Extra labels for Redis® master pods
type ValuesMasterPodSecurityContext ¶
type ValuesMasterPodSecurityContext struct {
// Enabled Redis® master pods' Security Context
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Set Redis® master pod's Security Context fsGroup
FsGroup float64 `json:"fsGroup,omitempty" yaml:"fsGroup,omitempty" mapstructure:"fsGroup,omitempty"`
// Set filesystem group change policy
FsGroupChangePolicy string `json:"fsGroupChangePolicy,omitempty" yaml:"fsGroupChangePolicy,omitempty" mapstructure:"fsGroupChangePolicy,omitempty"`
// Set filesystem extra groups
SupplementalGroups []interface{} `json:"supplementalGroups,omitempty" yaml:"supplementalGroups,omitempty" mapstructure:"supplementalGroups,omitempty"`
// Set kernel settings using the sysctl interface
Sysctls []interface{} `json:"sysctls,omitempty" yaml:"sysctls,omitempty" mapstructure:"sysctls,omitempty"`
}
type ValuesMasterReadinessProbe ¶
type ValuesMasterReadinessProbe struct {
// Enable readinessProbe on Redis® master nodes
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Failure threshold for readinessProbe
FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`
// Initial delay seconds for readinessProbe
InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`
// Period seconds for readinessProbe
PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`
// Success threshold for readinessProbe
SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`
// Timeout seconds for readinessProbe
TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}
type ValuesMasterResources ¶
type ValuesMasterResources map[string]interface{}
Set container requests and limits for different resources like CPU or memory (essential for production workloads)
type ValuesMasterService ¶
type ValuesMasterService struct {
// Additional custom annotations for Redis® master service
Annotations ValuesMasterServiceAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`
// Redis® master service Cluster IP
ClusterIP string `json:"clusterIP,omitempty" yaml:"clusterIP,omitempty" mapstructure:"clusterIP,omitempty"`
// Redis® master service External IPs
ExternalIPs []interface{} `json:"externalIPs,omitempty" yaml:"externalIPs,omitempty" mapstructure:"externalIPs,omitempty"`
// Redis® master service external traffic policy
ExternalTrafficPolicy string `json:"externalTrafficPolicy,omitempty" yaml:"externalTrafficPolicy,omitempty" mapstructure:"externalTrafficPolicy,omitempty"`
// Extra ports to expose (normally used with the `sidecar` value)
ExtraPorts []interface{} `json:"extraPorts,omitempty" yaml:"extraPorts,omitempty" mapstructure:"extraPorts,omitempty"`
// Redis® master service internal traffic policy (requires Kubernetes v1.22 or
// greater to be usable)
InternalTrafficPolicy string `json:"internalTrafficPolicy,omitempty" yaml:"internalTrafficPolicy,omitempty" mapstructure:"internalTrafficPolicy,omitempty"`
// master service Load Balancer class if service type is `LoadBalancer` (optional,
// cloud specific)
LoadBalancerClass string `json:"loadBalancerClass,omitempty" yaml:"loadBalancerClass,omitempty" mapstructure:"loadBalancerClass,omitempty"`
// Redis® master service Load Balancer IP
LoadBalancerIP string `json:"loadBalancerIP,omitempty" yaml:"loadBalancerIP,omitempty" mapstructure:"loadBalancerIP,omitempty"`
// Redis® master service Load Balancer sources
LoadBalancerSourceRanges []interface{} `` /* 133-byte string literal not displayed */
// NodePorts corresponds to the JSON schema field "nodePorts".
NodePorts *ValuesMasterServiceNodePorts `json:"nodePorts,omitempty" yaml:"nodePorts,omitempty" mapstructure:"nodePorts,omitempty"`
// Ports corresponds to the JSON schema field "ports".
Ports *ValuesMasterServicePorts `json:"ports,omitempty" yaml:"ports,omitempty" mapstructure:"ports,omitempty"`
// Session Affinity for Kubernetes service, can be "None" or "ClientIP"
SessionAffinity string `json:"sessionAffinity,omitempty" yaml:"sessionAffinity,omitempty" mapstructure:"sessionAffinity,omitempty"`
// Additional settings for the sessionAffinity
SessionAffinityConfig ValuesMasterServiceSessionAffinityConfig `json:"sessionAffinityConfig,omitempty" yaml:"sessionAffinityConfig,omitempty" mapstructure:"sessionAffinityConfig,omitempty"`
// Redis® master service type
Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}
type ValuesMasterServiceAccount ¶
type ValuesMasterServiceAccount struct {
// Additional custom annotations for the ServiceAccount
Annotations ValuesMasterServiceAccountAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`
// Whether to auto mount the service account token
AutomountServiceAccountToken bool `` /* 145-byte string literal not displayed */
// Specifies whether a ServiceAccount should be created
Create bool `json:"create,omitempty" yaml:"create,omitempty" mapstructure:"create,omitempty"`
// The name of the ServiceAccount to use.
Name string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"`
}
type ValuesMasterServiceAccountAnnotations ¶
type ValuesMasterServiceAccountAnnotations map[string]interface{}
Additional custom annotations for the ServiceAccount
type ValuesMasterServiceAnnotations ¶
type ValuesMasterServiceAnnotations map[string]interface{}
Additional custom annotations for Redis® master service
type ValuesMasterServiceNodePorts ¶
type ValuesMasterServiceNodePorts struct {
// Node port for Redis® master
Redis string `json:"redis,omitempty" yaml:"redis,omitempty" mapstructure:"redis,omitempty"`
}
type ValuesMasterServicePorts ¶
type ValuesMasterServicePorts struct {
// Redis® master service port
Redis float64 `json:"redis,omitempty" yaml:"redis,omitempty" mapstructure:"redis,omitempty"`
}
type ValuesMasterServiceSessionAffinityConfig ¶
type ValuesMasterServiceSessionAffinityConfig map[string]interface{}
Additional settings for the sessionAffinity
type ValuesMasterStartupProbe ¶
type ValuesMasterStartupProbe struct {
// Enable startupProbe on Redis® master nodes
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Failure threshold for startupProbe
FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`
// Initial delay seconds for startupProbe
InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`
// Period seconds for startupProbe
PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`
// Success threshold for startupProbe
SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`
// Timeout seconds for startupProbe
TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}
type ValuesMasterUpdateStrategy ¶
type ValuesMasterUpdateStrategy struct {
// Redis® master statefulset strategy type
Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}
type ValuesMetrics ¶
type ValuesMetrics struct {
// Override default metrics container init command (useful when using custom
// images)
Command []interface{} `json:"command,omitempty" yaml:"command,omitempty" mapstructure:"command,omitempty"`
// ContainerPorts corresponds to the JSON schema field "containerPorts".
ContainerPorts *ValuesMetricsContainerPorts `json:"containerPorts,omitempty" yaml:"containerPorts,omitempty" mapstructure:"containerPorts,omitempty"`
// ContainerSecurityContext corresponds to the JSON schema field
// "containerSecurityContext".
ContainerSecurityContext *ValuesMetricsContainerSecurityContext `` /* 133-byte string literal not displayed */
// Custom livenessProbe that overrides the default one
CustomLivenessProbe ValuesMetricsCustomLivenessProbe `json:"customLivenessProbe,omitempty" yaml:"customLivenessProbe,omitempty" mapstructure:"customLivenessProbe,omitempty"`
// Custom readinessProbe that overrides the default one
CustomReadinessProbe ValuesMetricsCustomReadinessProbe `json:"customReadinessProbe,omitempty" yaml:"customReadinessProbe,omitempty" mapstructure:"customReadinessProbe,omitempty"`
// Custom startupProbe that overrides the default one
CustomStartupProbe ValuesMetricsCustomStartupProbe `json:"customStartupProbe,omitempty" yaml:"customStartupProbe,omitempty" mapstructure:"customStartupProbe,omitempty"`
// Start a sidecar prometheus exporter to expose Redis® metrics
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Extra arguments for Redis® exporter, for example:
ExtraArgs ValuesMetricsExtraArgs `json:"extraArgs,omitempty" yaml:"extraArgs,omitempty" mapstructure:"extraArgs,omitempty"`
// Array with extra environment variables to add to Redis® exporter
ExtraEnvVars []interface{} `json:"extraEnvVars,omitempty" yaml:"extraEnvVars,omitempty" mapstructure:"extraEnvVars,omitempty"`
// Optionally specify extra list of additional volumeMounts for the Redis®
// metrics sidecar
ExtraVolumeMounts []interface{} `json:"extraVolumeMounts,omitempty" yaml:"extraVolumeMounts,omitempty" mapstructure:"extraVolumeMounts,omitempty"`
// Optionally specify extra list of additional volumes for the Redis® metrics
// sidecar
ExtraVolumes []interface{} `json:"extraVolumes,omitempty" yaml:"extraVolumes,omitempty" mapstructure:"extraVolumes,omitempty"`
// Image corresponds to the JSON schema field "image".
Image *ValuesMetricsImage `json:"image,omitempty" yaml:"image,omitempty" mapstructure:"image,omitempty"`
// LivenessProbe corresponds to the JSON schema field "livenessProbe".
LivenessProbe *ValuesMetricsLivenessProbe `json:"livenessProbe,omitempty" yaml:"livenessProbe,omitempty" mapstructure:"livenessProbe,omitempty"`
// Extra labels for Redis® exporter pods
PodLabels ValuesMetricsPodLabels `json:"podLabels,omitempty" yaml:"podLabels,omitempty" mapstructure:"podLabels,omitempty"`
// PodMonitor corresponds to the JSON schema field "podMonitor".
PodMonitor *ValuesMetricsPodMonitor `json:"podMonitor,omitempty" yaml:"podMonitor,omitempty" mapstructure:"podMonitor,omitempty"`
// PrometheusRule corresponds to the JSON schema field "prometheusRule".
PrometheusRule *ValuesMetricsPrometheusRule `json:"prometheusRule,omitempty" yaml:"prometheusRule,omitempty" mapstructure:"prometheusRule,omitempty"`
// ReadinessProbe corresponds to the JSON schema field "readinessProbe".
ReadinessProbe *ValuesMetricsReadinessProbe `json:"readinessProbe,omitempty" yaml:"readinessProbe,omitempty" mapstructure:"readinessProbe,omitempty"`
// A way to specify an alternative Redis® hostname
RedisTargetHost string `json:"redisTargetHost,omitempty" yaml:"redisTargetHost,omitempty" mapstructure:"redisTargetHost,omitempty"`
// Set container requests and limits for different resources like CPU or memory
// (essential for production workloads)
Resources ValuesMetricsResources `json:"resources,omitempty" yaml:"resources,omitempty" mapstructure:"resources,omitempty"`
// Set container resources according to one common preset (allowed values: none,
// nano, small, medium, large, xlarge, 2xlarge). This is ignored if
// metrics.resources is set (metrics.resources is recommended for production).
ResourcesPreset string `json:"resourcesPreset,omitempty" yaml:"resourcesPreset,omitempty" mapstructure:"resourcesPreset,omitempty"`
// Service corresponds to the JSON schema field "service".
Service *ValuesMetricsService `json:"service,omitempty" yaml:"service,omitempty" mapstructure:"service,omitempty"`
// ServiceMonitor corresponds to the JSON schema field "serviceMonitor".
ServiceMonitor *ValuesMetricsServiceMonitor `json:"serviceMonitor,omitempty" yaml:"serviceMonitor,omitempty" mapstructure:"serviceMonitor,omitempty"`
// StartupProbe corresponds to the JSON schema field "startupProbe".
StartupProbe *ValuesMetricsStartupProbe `json:"startupProbe,omitempty" yaml:"startupProbe,omitempty" mapstructure:"startupProbe,omitempty"`
}
type ValuesMetricsContainerPorts ¶
type ValuesMetricsContainerPorts struct {
// Metrics HTTP container port
Http float64 `json:"http,omitempty" yaml:"http,omitempty" mapstructure:"http,omitempty"`
}
type ValuesMetricsContainerSecurityContext ¶
type ValuesMetricsContainerSecurityContext struct {
// Set Redis® exporter containers' Security Context allowPrivilegeEscalation
AllowPrivilegeEscalation bool `` /* 133-byte string literal not displayed */
// Capabilities corresponds to the JSON schema field "capabilities".
Capabilities *ValuesMetricsContainerSecurityContextCapabilities `json:"capabilities,omitempty" yaml:"capabilities,omitempty" mapstructure:"capabilities,omitempty"`
// Enabled Redis® exporter containers' Security Context
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Set container's Security Context read-only root filesystem
ReadOnlyRootFilesystem bool `` /* 127-byte string literal not displayed */
// Set Redis® exporter containers' Security Context runAsGroup
RunAsGroup float64 `json:"runAsGroup,omitempty" yaml:"runAsGroup,omitempty" mapstructure:"runAsGroup,omitempty"`
// Set Redis® exporter containers' Security Context runAsNonRoot
RunAsNonRoot bool `json:"runAsNonRoot,omitempty" yaml:"runAsNonRoot,omitempty" mapstructure:"runAsNonRoot,omitempty"`
// Set Redis® exporter containers' Security Context runAsUser
RunAsUser float64 `json:"runAsUser,omitempty" yaml:"runAsUser,omitempty" mapstructure:"runAsUser,omitempty"`
// SeccompProfile corresponds to the JSON schema field "seccompProfile".
SeccompProfile *ValuesMetricsContainerSecurityContextSeccompProfile `json:"seccompProfile,omitempty" yaml:"seccompProfile,omitempty" mapstructure:"seccompProfile,omitempty"`
}
type ValuesMetricsContainerSecurityContextCapabilities ¶
type ValuesMetricsContainerSecurityContextCapabilities struct {
// Set Redis® exporter containers' Security Context capabilities to drop
Drop []string `json:"drop,omitempty" yaml:"drop,omitempty" mapstructure:"drop,omitempty"`
}
type ValuesMetricsContainerSecurityContextSeccompProfile ¶
type ValuesMetricsContainerSecurityContextSeccompProfile struct {
// Set Redis® exporter containers' Security Context seccompProfile
Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}
type ValuesMetricsCustomLivenessProbe ¶
type ValuesMetricsCustomLivenessProbe map[string]interface{}
Custom livenessProbe that overrides the default one
type ValuesMetricsCustomReadinessProbe ¶
type ValuesMetricsCustomReadinessProbe map[string]interface{}
Custom readinessProbe that overrides the default one
type ValuesMetricsCustomStartupProbe ¶
type ValuesMetricsCustomStartupProbe map[string]interface{}
Custom startupProbe that overrides the default one
type ValuesMetricsExtraArgs ¶
type ValuesMetricsExtraArgs map[string]interface{}
Extra arguments for Redis® exporter, for example:
type ValuesMetricsImage ¶
type ValuesMetricsImage struct {
// Redis® Exporter image digest in the way sha256:aa.... Please note this
// parameter, if set, will override the tag
Digest string `json:"digest,omitempty" yaml:"digest,omitempty" mapstructure:"digest,omitempty"`
// Redis® Exporter image pull policy
PullPolicy string `json:"pullPolicy,omitempty" yaml:"pullPolicy,omitempty" mapstructure:"pullPolicy,omitempty"`
// Redis® Exporter image pull secrets
PullSecrets []interface{} `json:"pullSecrets,omitempty" yaml:"pullSecrets,omitempty" mapstructure:"pullSecrets,omitempty"`
// Redis® Exporter image registry
Registry string `json:"registry,omitempty" yaml:"registry,omitempty" mapstructure:"registry,omitempty"`
// Redis® Exporter image repository
Repository string `json:"repository,omitempty" yaml:"repository,omitempty" mapstructure:"repository,omitempty"`
}
type ValuesMetricsLivenessProbe ¶
type ValuesMetricsLivenessProbe struct {
// Enable livenessProbe on Redis® replicas nodes
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Failure threshold for livenessProbe
FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`
// Initial delay seconds for livenessProbe
InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`
// Period seconds for livenessProbe
PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`
// Success threshold for livenessProbe
SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`
// Timeout seconds for livenessProbe
TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}
type ValuesMetricsPodLabels ¶
type ValuesMetricsPodLabels map[string]interface{}
Extra labels for Redis® exporter pods
type ValuesMetricsPodMonitor ¶
type ValuesMetricsPodMonitor struct {
// Additional endpoints to scrape (e.g sentinel)
AdditionalEndpoints []interface{} `json:"additionalEndpoints,omitempty" yaml:"additionalEndpoints,omitempty" mapstructure:"additionalEndpoints,omitempty"`
// Additional labels that can be used so PodMonitor resource(s) can be discovered
// by Prometheus
AdditionalLabels ValuesMetricsPodMonitorAdditionalLabels `json:"additionalLabels,omitempty" yaml:"additionalLabels,omitempty" mapstructure:"additionalLabels,omitempty"`
// Create PodMonitor resource(s) for scraping metrics using PrometheusOperator
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Specify honorLabels parameter to add the scrape endpoint
HonorLabels bool `json:"honorLabels,omitempty" yaml:"honorLabels,omitempty" mapstructure:"honorLabels,omitempty"`
// The interval at which metrics should be scraped
Interval string `json:"interval,omitempty" yaml:"interval,omitempty" mapstructure:"interval,omitempty"`
// Metrics RelabelConfigs to apply to samples before ingestion.
MetricRelabelings []interface{} `json:"metricRelabelings,omitempty" yaml:"metricRelabelings,omitempty" mapstructure:"metricRelabelings,omitempty"`
// The namespace in which the PodMonitor will be created
Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty" mapstructure:"namespace,omitempty"`
// Labels from the Kubernetes pod to be transferred to the created metrics
PodTargetLabels []interface{} `json:"podTargetLabels,omitempty" yaml:"podTargetLabels,omitempty" mapstructure:"podTargetLabels,omitempty"`
// the pod port to scrape metrics from
Port string `json:"port,omitempty" yaml:"port,omitempty" mapstructure:"port,omitempty"`
// Metrics RelabelConfigs to apply to samples before scraping.
Relabellings []interface{} `json:"relabellings,omitempty" yaml:"relabellings,omitempty" mapstructure:"relabellings,omitempty"`
// Limit of how many samples should be scraped from every Pod
SampleLimit bool `json:"sampleLimit,omitempty" yaml:"sampleLimit,omitempty" mapstructure:"sampleLimit,omitempty"`
// The timeout after which the scrape is ended
ScrapeTimeout string `json:"scrapeTimeout,omitempty" yaml:"scrapeTimeout,omitempty" mapstructure:"scrapeTimeout,omitempty"`
// Limit of how many targets should be scraped
TargetLimit bool `json:"targetLimit,omitempty" yaml:"targetLimit,omitempty" mapstructure:"targetLimit,omitempty"`
}
type ValuesMetricsPodMonitorAdditionalLabels ¶
type ValuesMetricsPodMonitorAdditionalLabels map[string]interface{}
Additional labels that can be used so PodMonitor resource(s) can be discovered by Prometheus
type ValuesMetricsPrometheusRule ¶
type ValuesMetricsPrometheusRule struct {
// Additional labels for the prometheusRule
AdditionalLabels ValuesMetricsPrometheusRuleAdditionalLabels `json:"additionalLabels,omitempty" yaml:"additionalLabels,omitempty" mapstructure:"additionalLabels,omitempty"`
// Create a custom prometheusRule Resource for scraping metrics using
// PrometheusOperator
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// The namespace in which the prometheusRule will be created
Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty" mapstructure:"namespace,omitempty"`
// Custom Prometheus rules
Rules []interface{} `json:"rules,omitempty" yaml:"rules,omitempty" mapstructure:"rules,omitempty"`
}
type ValuesMetricsPrometheusRuleAdditionalLabels ¶
type ValuesMetricsPrometheusRuleAdditionalLabels map[string]interface{}
Additional labels for the prometheusRule
type ValuesMetricsReadinessProbe ¶
type ValuesMetricsReadinessProbe struct {
// Enable readinessProbe on Redis® replicas nodes
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Failure threshold for readinessProbe
FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`
// Initial delay seconds for readinessProbe
InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`
// Period seconds for readinessProbe
PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`
// Success threshold for readinessProbe
SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`
// Timeout seconds for readinessProbe
TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}
type ValuesMetricsResources ¶
type ValuesMetricsResources map[string]interface{}
Set container requests and limits for different resources like CPU or memory (essential for production workloads)
type ValuesMetricsService ¶
type ValuesMetricsService struct {
// Additional custom annotations for Redis® exporter service
Annotations ValuesMetricsServiceAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`
// Redis® exporter service Cluster IP
ClusterIP string `json:"clusterIP,omitempty" yaml:"clusterIP,omitempty" mapstructure:"clusterIP,omitempty"`
// Create Service resource(s) for scraping metrics using PrometheusOperator
// ServiceMonitor, can be disabled when using a PodMonitor
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Redis® exporter service external traffic policy
ExternalTrafficPolicy string `json:"externalTrafficPolicy,omitempty" yaml:"externalTrafficPolicy,omitempty" mapstructure:"externalTrafficPolicy,omitempty"`
// Extra ports to expose (normally used with the `sidecar` value)
ExtraPorts []interface{} `json:"extraPorts,omitempty" yaml:"extraPorts,omitempty" mapstructure:"extraPorts,omitempty"`
// exporter service Load Balancer class if service type is `LoadBalancer`
// (optional, cloud specific)
LoadBalancerClass string `json:"loadBalancerClass,omitempty" yaml:"loadBalancerClass,omitempty" mapstructure:"loadBalancerClass,omitempty"`
// Redis® exporter service Load Balancer IP
LoadBalancerIP string `json:"loadBalancerIP,omitempty" yaml:"loadBalancerIP,omitempty" mapstructure:"loadBalancerIP,omitempty"`
// Redis® exporter service Load Balancer sources
LoadBalancerSourceRanges []interface{} `` /* 133-byte string literal not displayed */
// Ports corresponds to the JSON schema field "ports".
Ports *ValuesMetricsServicePorts `json:"ports,omitempty" yaml:"ports,omitempty" mapstructure:"ports,omitempty"`
// Redis® exporter service type
Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}
type ValuesMetricsServiceAnnotations ¶
type ValuesMetricsServiceAnnotations map[string]interface{}
Additional custom annotations for Redis® exporter service
type ValuesMetricsServiceMonitor ¶
type ValuesMetricsServiceMonitor struct {
// Additional endpoints to scrape (e.g sentinel)
AdditionalEndpoints []interface{} `json:"additionalEndpoints,omitempty" yaml:"additionalEndpoints,omitempty" mapstructure:"additionalEndpoints,omitempty"`
// Additional labels that can be used so ServiceMonitor resource(s) can be
// discovered by Prometheus
AdditionalLabels ValuesMetricsServiceMonitorAdditionalLabels `json:"additionalLabels,omitempty" yaml:"additionalLabels,omitempty" mapstructure:"additionalLabels,omitempty"`
// Create ServiceMonitor resource(s) for scraping metrics using PrometheusOperator
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Specify honorLabels parameter to add the scrape endpoint
HonorLabels bool `json:"honorLabels,omitempty" yaml:"honorLabels,omitempty" mapstructure:"honorLabels,omitempty"`
// The interval at which metrics should be scraped
Interval string `json:"interval,omitempty" yaml:"interval,omitempty" mapstructure:"interval,omitempty"`
// Metrics RelabelConfigs to apply to samples before ingestion.
MetricRelabelings []interface{} `json:"metricRelabelings,omitempty" yaml:"metricRelabelings,omitempty" mapstructure:"metricRelabelings,omitempty"`
// The namespace in which the ServiceMonitor will be created
Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty" mapstructure:"namespace,omitempty"`
// Labels from the Kubernetes pod to be transferred to the created metrics
PodTargetLabels []interface{} `json:"podTargetLabels,omitempty" yaml:"podTargetLabels,omitempty" mapstructure:"podTargetLabels,omitempty"`
// the service port to scrape metrics from
Port string `json:"port,omitempty" yaml:"port,omitempty" mapstructure:"port,omitempty"`
// Metrics RelabelConfigs to apply to samples before scraping.
Relabellings []interface{} `json:"relabellings,omitempty" yaml:"relabellings,omitempty" mapstructure:"relabellings,omitempty"`
// Limit of how many samples should be scraped from every Pod
SampleLimit bool `json:"sampleLimit,omitempty" yaml:"sampleLimit,omitempty" mapstructure:"sampleLimit,omitempty"`
// The timeout after which the scrape is ended
ScrapeTimeout string `json:"scrapeTimeout,omitempty" yaml:"scrapeTimeout,omitempty" mapstructure:"scrapeTimeout,omitempty"`
// Limit of how many targets should be scraped
TargetLimit bool `json:"targetLimit,omitempty" yaml:"targetLimit,omitempty" mapstructure:"targetLimit,omitempty"`
}
type ValuesMetricsServiceMonitorAdditionalLabels ¶
type ValuesMetricsServiceMonitorAdditionalLabels map[string]interface{}
Additional labels that can be used so ServiceMonitor resource(s) can be discovered by Prometheus
type ValuesMetricsServicePorts ¶
type ValuesMetricsServicePorts struct {
// Redis® exporter service port
Http float64 `json:"http,omitempty" yaml:"http,omitempty" mapstructure:"http,omitempty"`
}
type ValuesMetricsStartupProbe ¶
type ValuesMetricsStartupProbe struct {
// Enable startupProbe on Redis® replicas nodes
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Failure threshold for startupProbe
FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`
// Initial delay seconds for startupProbe
InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`
// Period seconds for startupProbe
PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`
// Success threshold for startupProbe
SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`
// Timeout seconds for startupProbe
TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}
type ValuesNetworkPolicy ¶
type ValuesNetworkPolicy struct {
// Don't require client label for connections
AllowExternal bool `json:"allowExternal,omitempty" yaml:"allowExternal,omitempty" mapstructure:"allowExternal,omitempty"`
// Allow the pod to access any range of port and all destinations.
AllowExternalEgress bool `json:"allowExternalEgress,omitempty" yaml:"allowExternalEgress,omitempty" mapstructure:"allowExternalEgress,omitempty"`
// Enable creation of NetworkPolicy resources
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Add extra egress rules to the NetworkPolicy
ExtraEgress []interface{} `json:"extraEgress,omitempty" yaml:"extraEgress,omitempty" mapstructure:"extraEgress,omitempty"`
// Add extra ingress rules to the NetworkPolicy
ExtraIngress []interface{} `json:"extraIngress,omitempty" yaml:"extraIngress,omitempty" mapstructure:"extraIngress,omitempty"`
// Labels to match to allow traffic from other namespaces
IngressNSMatchLabels ValuesNetworkPolicyIngressNSMatchLabels `json:"ingressNSMatchLabels,omitempty" yaml:"ingressNSMatchLabels,omitempty" mapstructure:"ingressNSMatchLabels,omitempty"`
// Pod labels to match to allow traffic from other namespaces
IngressNSPodMatchLabels ValuesNetworkPolicyIngressNSPodMatchLabels `` /* 130-byte string literal not displayed */
// Metrics corresponds to the JSON schema field "metrics".
Metrics *ValuesNetworkPolicyMetrics `json:"metrics,omitempty" yaml:"metrics,omitempty" mapstructure:"metrics,omitempty"`
}
type ValuesNetworkPolicyIngressNSMatchLabels ¶
type ValuesNetworkPolicyIngressNSMatchLabels map[string]interface{}
Labels to match to allow traffic from other namespaces
type ValuesNetworkPolicyIngressNSPodMatchLabels ¶
type ValuesNetworkPolicyIngressNSPodMatchLabels map[string]interface{}
Pod labels to match to allow traffic from other namespaces
type ValuesNetworkPolicyMetrics ¶
type ValuesNetworkPolicyMetrics struct {
// Don't require client label for connections for metrics endpoint
AllowExternal bool `json:"allowExternal,omitempty" yaml:"allowExternal,omitempty" mapstructure:"allowExternal,omitempty"`
// Labels to match to allow traffic from other namespaces to metrics endpoint
IngressNSMatchLabels ValuesNetworkPolicyMetricsIngressNSMatchLabels `json:"ingressNSMatchLabels,omitempty" yaml:"ingressNSMatchLabels,omitempty" mapstructure:"ingressNSMatchLabels,omitempty"`
// Pod labels to match to allow traffic from other namespaces to metrics endpoint
IngressNSPodMatchLabels ValuesNetworkPolicyMetricsIngressNSPodMatchLabels `` /* 130-byte string literal not displayed */
}
type ValuesNetworkPolicyMetricsIngressNSMatchLabels ¶
type ValuesNetworkPolicyMetricsIngressNSMatchLabels map[string]interface{}
Labels to match to allow traffic from other namespaces to metrics endpoint
type ValuesNetworkPolicyMetricsIngressNSPodMatchLabels ¶
type ValuesNetworkPolicyMetricsIngressNSPodMatchLabels map[string]interface{}
Pod labels to match to allow traffic from other namespaces to metrics endpoint
type ValuesPdb ¶
type ValuesPdb struct {
// Specifies whether a PodDisruptionBudget should be created
Create bool `json:"create,omitempty" yaml:"create,omitempty" mapstructure:"create,omitempty"`
MaxUnavailable string `json:"maxUnavailable,omitempty" yaml:"maxUnavailable,omitempty" mapstructure:"maxUnavailable,omitempty"`
// Min number of pods that must still be available after the eviction
MinAvailable float64 `json:"minAvailable,omitempty" yaml:"minAvailable,omitempty" mapstructure:"minAvailable,omitempty"`
}
type ValuesPodSecurityPolicy ¶
type ValuesPodSecurityPolicy struct {
// Whether to create a PodSecurityPolicy. WARNING: PodSecurityPolicy is deprecated
// in Kubernetes v1.21 or later, unavailable in v1.25 or later
Create bool `json:"create,omitempty" yaml:"create,omitempty" mapstructure:"create,omitempty"`
// Enable PodSecurityPolicy's RBAC rules
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
}
type ValuesRbac ¶
type ValuesRbac struct {
// Specifies whether RBAC resources should be created
Create bool `json:"create,omitempty" yaml:"create,omitempty" mapstructure:"create,omitempty"`
// Custom RBAC rules to set
Rules []interface{} `json:"rules,omitempty" yaml:"rules,omitempty" mapstructure:"rules,omitempty"`
}
type ValuesReplica ¶
type ValuesReplica struct {
// Affinity for Redis® replicas pods assignment
Affinity ValuesReplicaAffinity `json:"affinity,omitempty" yaml:"affinity,omitempty" mapstructure:"affinity,omitempty"`
// Override default container args (useful when using custom images)
Args []interface{} `json:"args,omitempty" yaml:"args,omitempty" mapstructure:"args,omitempty"`
// Mount Service Account token in pod
AutomountServiceAccountToken bool `` /* 145-byte string literal not displayed */
// Autoscaling corresponds to the JSON schema field "autoscaling".
Autoscaling *ValuesReplicaAutoscaling `json:"autoscaling,omitempty" yaml:"autoscaling,omitempty" mapstructure:"autoscaling,omitempty"`
// Override default container command (useful when using custom images)
Command []interface{} `json:"command,omitempty" yaml:"command,omitempty" mapstructure:"command,omitempty"`
// Configuration for Redis® replicas nodes
Configuration string `json:"configuration,omitempty" yaml:"configuration,omitempty" mapstructure:"configuration,omitempty"`
// ContainerPorts corresponds to the JSON schema field "containerPorts".
ContainerPorts *ValuesReplicaContainerPorts `json:"containerPorts,omitempty" yaml:"containerPorts,omitempty" mapstructure:"containerPorts,omitempty"`
// ContainerSecurityContext corresponds to the JSON schema field
// "containerSecurityContext".
ContainerSecurityContext *ValuesReplicaContainerSecurityContext `` /* 133-byte string literal not displayed */
// Custom livenessProbe that overrides the default one
CustomLivenessProbe ValuesReplicaCustomLivenessProbe `json:"customLivenessProbe,omitempty" yaml:"customLivenessProbe,omitempty" mapstructure:"customLivenessProbe,omitempty"`
// Custom readinessProbe that overrides the default one
CustomReadinessProbe ValuesReplicaCustomReadinessProbe `json:"customReadinessProbe,omitempty" yaml:"customReadinessProbe,omitempty" mapstructure:"customReadinessProbe,omitempty"`
// Custom startupProbe that overrides the default one
CustomStartupProbe ValuesReplicaCustomStartupProbe `json:"customStartupProbe,omitempty" yaml:"customStartupProbe,omitempty" mapstructure:"customStartupProbe,omitempty"`
// Array with Redis® commands to disable on replicas nodes
DisableCommands []string `json:"disableCommands,omitempty" yaml:"disableCommands,omitempty" mapstructure:"disableCommands,omitempty"`
// DNS Configuration for Redis® replica pods
DnsConfig ValuesReplicaDnsConfig `json:"dnsConfig,omitempty" yaml:"dnsConfig,omitempty" mapstructure:"dnsConfig,omitempty"`
// DNS Policy for Redis® replica pods
DnsPolicy string `json:"dnsPolicy,omitempty" yaml:"dnsPolicy,omitempty" mapstructure:"dnsPolicy,omitempty"`
// Whether information about services should be injected into pod's environment
// variable
EnableServiceLinks bool `json:"enableServiceLinks,omitempty" yaml:"enableServiceLinks,omitempty" mapstructure:"enableServiceLinks,omitempty"`
// ExternalMaster corresponds to the JSON schema field "externalMaster".
ExternalMaster *ValuesReplicaExternalMaster `json:"externalMaster,omitempty" yaml:"externalMaster,omitempty" mapstructure:"externalMaster,omitempty"`
// Array with extra environment variables to add to Redis® replicas nodes
ExtraEnvVars []interface{} `json:"extraEnvVars,omitempty" yaml:"extraEnvVars,omitempty" mapstructure:"extraEnvVars,omitempty"`
// Name of existing ConfigMap containing extra env vars for Redis® replicas
// nodes
ExtraEnvVarsCM string `json:"extraEnvVarsCM,omitempty" yaml:"extraEnvVarsCM,omitempty" mapstructure:"extraEnvVarsCM,omitempty"`
// Name of existing Secret containing extra env vars for Redis® replicas nodes
ExtraEnvVarsSecret string `json:"extraEnvVarsSecret,omitempty" yaml:"extraEnvVarsSecret,omitempty" mapstructure:"extraEnvVarsSecret,omitempty"`
// Array with additional command line flags for Redis® replicas
ExtraFlags []interface{} `json:"extraFlags,omitempty" yaml:"extraFlags,omitempty" mapstructure:"extraFlags,omitempty"`
// Optionally specify extra list of additional volumeMounts for the Redis®
// replicas container(s)
ExtraVolumeMounts []interface{} `json:"extraVolumeMounts,omitempty" yaml:"extraVolumeMounts,omitempty" mapstructure:"extraVolumeMounts,omitempty"`
// Optionally specify extra list of additional volumes for the Redis® replicas
// pod(s)
ExtraVolumes []interface{} `json:"extraVolumes,omitempty" yaml:"extraVolumes,omitempty" mapstructure:"extraVolumes,omitempty"`
// Redis® replicas pods host aliases
HostAliases []interface{} `json:"hostAliases,omitempty" yaml:"hostAliases,omitempty" mapstructure:"hostAliases,omitempty"`
// Add additional init containers to the Redis® replicas pod(s)
InitContainers []interface{} `json:"initContainers,omitempty" yaml:"initContainers,omitempty" mapstructure:"initContainers,omitempty"`
// Use either DaemonSet or StatefulSet (default)
Kind string `json:"kind,omitempty" yaml:"kind,omitempty" mapstructure:"kind,omitempty"`
// for the Redis® replica container(s) to automate configuration before or
// after startup
LifecycleHooks ValuesReplicaLifecycleHooks `json:"lifecycleHooks,omitempty" yaml:"lifecycleHooks,omitempty" mapstructure:"lifecycleHooks,omitempty"`
// LivenessProbe corresponds to the JSON schema field "livenessProbe".
LivenessProbe *ValuesReplicaLivenessProbe `json:"livenessProbe,omitempty" yaml:"livenessProbe,omitempty" mapstructure:"livenessProbe,omitempty"`
// How many seconds a pod needs to be ready before killing the next, during update
MinReadySeconds float64 `json:"minReadySeconds,omitempty" yaml:"minReadySeconds,omitempty" mapstructure:"minReadySeconds,omitempty"`
// NodeAffinityPreset corresponds to the JSON schema field "nodeAffinityPreset".
NodeAffinityPreset *ValuesReplicaNodeAffinityPreset `json:"nodeAffinityPreset,omitempty" yaml:"nodeAffinityPreset,omitempty" mapstructure:"nodeAffinityPreset,omitempty"`
// Node labels for Redis® replicas pods assignment
NodeSelector ValuesReplicaNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"`
// Persistence corresponds to the JSON schema field "persistence".
Persistence *ValuesReplicaPersistence `json:"persistence,omitempty" yaml:"persistence,omitempty" mapstructure:"persistence,omitempty"`
// PersistentVolumeClaimRetentionPolicy corresponds to the JSON schema field
// "persistentVolumeClaimRetentionPolicy".
PersistentVolumeClaimRetentionPolicy *ValuesReplicaPersistentVolumeClaimRetentionPolicy `` /* 169-byte string literal not displayed */
// Pod affinity preset. Ignored if `replica.affinity` is set. Allowed values:
// `soft` or `hard`
PodAffinityPreset string `json:"podAffinityPreset,omitempty" yaml:"podAffinityPreset,omitempty" mapstructure:"podAffinityPreset,omitempty"`
// Annotations for Redis® replicas pods
PodAnnotations ValuesReplicaPodAnnotations `json:"podAnnotations,omitempty" yaml:"podAnnotations,omitempty" mapstructure:"podAnnotations,omitempty"`
// Pod anti-affinity preset. Ignored if `replica.affinity` is set. Allowed values:
// `soft` or `hard`
PodAntiAffinityPreset string `json:"podAntiAffinityPreset,omitempty" yaml:"podAntiAffinityPreset,omitempty" mapstructure:"podAntiAffinityPreset,omitempty"`
// Extra labels for Redis® replicas pods
PodLabels ValuesReplicaPodLabels `json:"podLabels,omitempty" yaml:"podLabels,omitempty" mapstructure:"podLabels,omitempty"`
// podManagementPolicy to manage scaling operation of %%MAIN_CONTAINER_NAME%% pods
PodManagementPolicy string `json:"podManagementPolicy,omitempty" yaml:"podManagementPolicy,omitempty" mapstructure:"podManagementPolicy,omitempty"`
// PodSecurityContext corresponds to the JSON schema field "podSecurityContext".
PodSecurityContext *ValuesReplicaPodSecurityContext `json:"podSecurityContext,omitempty" yaml:"podSecurityContext,omitempty" mapstructure:"podSecurityContext,omitempty"`
// Additional commands to run prior to starting Redis® replicas
PreExecCmds []interface{} `json:"preExecCmds,omitempty" yaml:"preExecCmds,omitempty" mapstructure:"preExecCmds,omitempty"`
// Redis® replicas pods' priorityClassName
PriorityClassName string `json:"priorityClassName,omitempty" yaml:"priorityClassName,omitempty" mapstructure:"priorityClassName,omitempty"`
// ReadinessProbe corresponds to the JSON schema field "readinessProbe".
ReadinessProbe *ValuesReplicaReadinessProbe `json:"readinessProbe,omitempty" yaml:"readinessProbe,omitempty" mapstructure:"readinessProbe,omitempty"`
// Number of Redis® replicas to deploy
ReplicaCount float64 `json:"replicaCount,omitempty" yaml:"replicaCount,omitempty" mapstructure:"replicaCount,omitempty"`
// Set container requests and limits for different resources like CPU or memory
// (essential for production workloads)
Resources ValuesReplicaResources `json:"resources,omitempty" yaml:"resources,omitempty" mapstructure:"resources,omitempty"`
// Set container resources according to one common preset (allowed values: none,
// nano, small, medium, large, xlarge, 2xlarge). This is ignored if
// replica.resources is set (replica.resources is recommended for production).
ResourcesPreset string `json:"resourcesPreset,omitempty" yaml:"resourcesPreset,omitempty" mapstructure:"resourcesPreset,omitempty"`
// Alternate scheduler for Redis® replicas pods
SchedulerName string `json:"schedulerName,omitempty" yaml:"schedulerName,omitempty" mapstructure:"schedulerName,omitempty"`
// Service corresponds to the JSON schema field "service".
Service *ValuesReplicaService `json:"service,omitempty" yaml:"service,omitempty" mapstructure:"service,omitempty"`
// ServiceAccount corresponds to the JSON schema field "serviceAccount".
ServiceAccount *ValuesReplicaServiceAccount `json:"serviceAccount,omitempty" yaml:"serviceAccount,omitempty" mapstructure:"serviceAccount,omitempty"`
// replicas pods
ShareProcessNamespace bool `json:"shareProcessNamespace,omitempty" yaml:"shareProcessNamespace,omitempty" mapstructure:"shareProcessNamespace,omitempty"`
// Add additional sidecar containers to the Redis® replicas pod(s)
Sidecars []interface{} `json:"sidecars,omitempty" yaml:"sidecars,omitempty" mapstructure:"sidecars,omitempty"`
// StartupProbe corresponds to the JSON schema field "startupProbe".
StartupProbe *ValuesReplicaStartupProbe `json:"startupProbe,omitempty" yaml:"startupProbe,omitempty" mapstructure:"startupProbe,omitempty"`
// Integer setting the termination grace period for the redis-replicas pods
TerminationGracePeriodSeconds float64 `` /* 148-byte string literal not displayed */
// Tolerations for Redis® replicas pods assignment
Tolerations []interface{} `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"`
// Spread Constraints for Redis® replicas pod assignment
TopologySpreadConstraints []interface{} `` /* 136-byte string literal not displayed */
// UpdateStrategy corresponds to the JSON schema field "updateStrategy".
UpdateStrategy *ValuesReplicaUpdateStrategy `json:"updateStrategy,omitempty" yaml:"updateStrategy,omitempty" mapstructure:"updateStrategy,omitempty"`
}
type ValuesReplicaAffinity ¶
type ValuesReplicaAffinity map[string]interface{}
Affinity for Redis® replicas pods assignment
type ValuesReplicaAutoscaling ¶
type ValuesReplicaAutoscaling struct {
// Enable replica autoscaling settings
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Maximum replicas for the pod autoscaling
MaxReplicas float64 `json:"maxReplicas,omitempty" yaml:"maxReplicas,omitempty" mapstructure:"maxReplicas,omitempty"`
// Minimum replicas for the pod autoscaling
MinReplicas float64 `json:"minReplicas,omitempty" yaml:"minReplicas,omitempty" mapstructure:"minReplicas,omitempty"`
// Percentage of CPU to consider when autoscaling
TargetCPU string `json:"targetCPU,omitempty" yaml:"targetCPU,omitempty" mapstructure:"targetCPU,omitempty"`
// Percentage of Memory to consider when autoscaling
TargetMemory string `json:"targetMemory,omitempty" yaml:"targetMemory,omitempty" mapstructure:"targetMemory,omitempty"`
}
type ValuesReplicaContainerPorts ¶
type ValuesReplicaContainerPorts struct {
// Container port to open on Redis® replicas nodes
Redis float64 `json:"redis,omitempty" yaml:"redis,omitempty" mapstructure:"redis,omitempty"`
}
type ValuesReplicaContainerSecurityContext ¶
type ValuesReplicaContainerSecurityContext struct {
// Set Redis® replicas pod's Security Context allowPrivilegeEscalation
AllowPrivilegeEscalation bool `` /* 133-byte string literal not displayed */
// Capabilities corresponds to the JSON schema field "capabilities".
Capabilities *ValuesReplicaContainerSecurityContextCapabilities `json:"capabilities,omitempty" yaml:"capabilities,omitempty" mapstructure:"capabilities,omitempty"`
// Enabled Redis® replicas containers' Security Context
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Set container's Security Context read-only root filesystem
ReadOnlyRootFilesystem bool `` /* 127-byte string literal not displayed */
// Set Redis® replicas containers' Security Context runAsGroup
RunAsGroup float64 `json:"runAsGroup,omitempty" yaml:"runAsGroup,omitempty" mapstructure:"runAsGroup,omitempty"`
// Set Redis® replicas containers' Security Context runAsNonRoot
RunAsNonRoot bool `json:"runAsNonRoot,omitempty" yaml:"runAsNonRoot,omitempty" mapstructure:"runAsNonRoot,omitempty"`
// Set Redis® replicas containers' Security Context runAsUser
RunAsUser float64 `json:"runAsUser,omitempty" yaml:"runAsUser,omitempty" mapstructure:"runAsUser,omitempty"`
// SeccompProfile corresponds to the JSON schema field "seccompProfile".
SeccompProfile *ValuesReplicaContainerSecurityContextSeccompProfile `json:"seccompProfile,omitempty" yaml:"seccompProfile,omitempty" mapstructure:"seccompProfile,omitempty"`
}
type ValuesReplicaContainerSecurityContextCapabilities ¶
type ValuesReplicaContainerSecurityContextCapabilities struct {
// Set Redis® replicas containers' Security Context capabilities to drop
Drop []string `json:"drop,omitempty" yaml:"drop,omitempty" mapstructure:"drop,omitempty"`
}
type ValuesReplicaContainerSecurityContextSeccompProfile ¶
type ValuesReplicaContainerSecurityContextSeccompProfile struct {
// Set Redis® replicas containers' Security Context seccompProfile
Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}
type ValuesReplicaCustomLivenessProbe ¶
type ValuesReplicaCustomLivenessProbe map[string]interface{}
Custom livenessProbe that overrides the default one
type ValuesReplicaCustomReadinessProbe ¶
type ValuesReplicaCustomReadinessProbe map[string]interface{}
Custom readinessProbe that overrides the default one
type ValuesReplicaCustomStartupProbe ¶
type ValuesReplicaCustomStartupProbe map[string]interface{}
Custom startupProbe that overrides the default one
type ValuesReplicaDnsConfig ¶
type ValuesReplicaDnsConfig map[string]interface{}
DNS Configuration for Redis® replica pods
type ValuesReplicaExternalMaster ¶
type ValuesReplicaExternalMaster struct {
// Use external master for bootstrapping
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// External master host to bootstrap from
Host string `json:"host,omitempty" yaml:"host,omitempty" mapstructure:"host,omitempty"`
// Port for Redis service external master host
Port float64 `json:"port,omitempty" yaml:"port,omitempty" mapstructure:"port,omitempty"`
}
type ValuesReplicaLifecycleHooks ¶
type ValuesReplicaLifecycleHooks map[string]interface{}
for the Redis® replica container(s) to automate configuration before or after startup
type ValuesReplicaLivenessProbe ¶
type ValuesReplicaLivenessProbe struct {
// Enable livenessProbe on Redis® replicas nodes
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Failure threshold for livenessProbe
FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`
// Initial delay seconds for livenessProbe
InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`
// Period seconds for livenessProbe
PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`
// Success threshold for livenessProbe
SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`
// Timeout seconds for livenessProbe
TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}
type ValuesReplicaNodeAffinityPreset ¶
type ValuesReplicaNodeAffinityPreset struct {
// Node label key to match. Ignored if `replica.affinity` is set
Key string `json:"key,omitempty" yaml:"key,omitempty" mapstructure:"key,omitempty"`
// Node affinity preset type. Ignored if `replica.affinity` is set. Allowed
// values: `soft` or `hard`
Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
// Node label values to match. Ignored if `replica.affinity` is set
Values []interface{} `json:"values,omitempty" yaml:"values,omitempty" mapstructure:"values,omitempty"`
}
type ValuesReplicaNodeSelector ¶
type ValuesReplicaNodeSelector map[string]interface{}
Node labels for Redis® replicas pods assignment
type ValuesReplicaPersistence ¶
type ValuesReplicaPersistence struct {
// Persistent Volume access modes
AccessModes []string `json:"accessModes,omitempty" yaml:"accessModes,omitempty" mapstructure:"accessModes,omitempty"`
// Additional custom annotations for the PVC
Annotations ValuesReplicaPersistenceAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`
// Custom PVC data source
DataSource ValuesReplicaPersistenceDataSource `json:"dataSource,omitempty" yaml:"dataSource,omitempty" mapstructure:"dataSource,omitempty"`
// Enable persistence on Redis® replicas nodes using Persistent Volume Claims
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Use a existing PVC which must be created manually before bound
ExistingClaim string `json:"existingClaim,omitempty" yaml:"existingClaim,omitempty" mapstructure:"existingClaim,omitempty"`
// Additional custom labels for the PVC
Labels ValuesReplicaPersistenceLabels `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"`
// Provide a medium for `emptyDir` volumes.
Medium string `json:"medium,omitempty" yaml:"medium,omitempty" mapstructure:"medium,omitempty"`
// The path the volume will be mounted at on Redis® replicas containers
Path string `json:"path,omitempty" yaml:"path,omitempty" mapstructure:"path,omitempty"`
// Additional labels to match for the PVC
Selector ValuesReplicaPersistenceSelector `json:"selector,omitempty" yaml:"selector,omitempty" mapstructure:"selector,omitempty"`
// Persistent Volume size
Size string `json:"size,omitempty" yaml:"size,omitempty" mapstructure:"size,omitempty"`
// Set this to enable a size limit for `emptyDir` volumes.
SizeLimit string `json:"sizeLimit,omitempty" yaml:"sizeLimit,omitempty" mapstructure:"sizeLimit,omitempty"`
// Persistent Volume storage class
StorageClass string `json:"storageClass,omitempty" yaml:"storageClass,omitempty" mapstructure:"storageClass,omitempty"`
// The subdirectory of the volume to mount on Redis® replicas containers
SubPath string `json:"subPath,omitempty" yaml:"subPath,omitempty" mapstructure:"subPath,omitempty"`
// Used to construct the subPath subdirectory of the volume to mount on Redis®
// replicas containers
SubPathExpr string `json:"subPathExpr,omitempty" yaml:"subPathExpr,omitempty" mapstructure:"subPathExpr,omitempty"`
}
type ValuesReplicaPersistenceAnnotations ¶
type ValuesReplicaPersistenceAnnotations map[string]interface{}
Additional custom annotations for the PVC
type ValuesReplicaPersistenceDataSource ¶
type ValuesReplicaPersistenceDataSource map[string]interface{}
Custom PVC data source
type ValuesReplicaPersistenceLabels ¶
type ValuesReplicaPersistenceLabels map[string]interface{}
Additional custom labels for the PVC
type ValuesReplicaPersistenceSelector ¶
type ValuesReplicaPersistenceSelector map[string]interface{}
Additional labels to match for the PVC
type ValuesReplicaPersistentVolumeClaimRetentionPolicy ¶
type ValuesReplicaPersistentVolumeClaimRetentionPolicy struct {
// Controls if and how PVCs are deleted during the lifecycle of a StatefulSet
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Volume retention behavior that applies when the StatefulSet is deleted
WhenDeleted string `json:"whenDeleted,omitempty" yaml:"whenDeleted,omitempty" mapstructure:"whenDeleted,omitempty"`
// Volume retention behavior when the replica count of the StatefulSet is reduced
WhenScaled string `json:"whenScaled,omitempty" yaml:"whenScaled,omitempty" mapstructure:"whenScaled,omitempty"`
}
type ValuesReplicaPodAnnotations ¶
type ValuesReplicaPodAnnotations map[string]interface{}
Annotations for Redis® replicas pods
type ValuesReplicaPodLabels ¶
type ValuesReplicaPodLabels map[string]interface{}
Extra labels for Redis® replicas pods
type ValuesReplicaPodSecurityContext ¶
type ValuesReplicaPodSecurityContext struct {
// Enabled Redis® replicas pods' Security Context
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Set Redis® replicas pod's Security Context fsGroup
FsGroup float64 `json:"fsGroup,omitempty" yaml:"fsGroup,omitempty" mapstructure:"fsGroup,omitempty"`
// Set filesystem group change policy
FsGroupChangePolicy string `json:"fsGroupChangePolicy,omitempty" yaml:"fsGroupChangePolicy,omitempty" mapstructure:"fsGroupChangePolicy,omitempty"`
// Set filesystem extra groups
SupplementalGroups []interface{} `json:"supplementalGroups,omitempty" yaml:"supplementalGroups,omitempty" mapstructure:"supplementalGroups,omitempty"`
// Set kernel settings using the sysctl interface
Sysctls []interface{} `json:"sysctls,omitempty" yaml:"sysctls,omitempty" mapstructure:"sysctls,omitempty"`
}
type ValuesReplicaReadinessProbe ¶
type ValuesReplicaReadinessProbe struct {
// Enable readinessProbe on Redis® replicas nodes
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Failure threshold for readinessProbe
FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`
// Initial delay seconds for readinessProbe
InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`
// Period seconds for readinessProbe
PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`
// Success threshold for readinessProbe
SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`
// Timeout seconds for readinessProbe
TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}
type ValuesReplicaResources ¶
type ValuesReplicaResources map[string]interface{}
Set container requests and limits for different resources like CPU or memory (essential for production workloads)
type ValuesReplicaService ¶
type ValuesReplicaService struct {
// Additional custom annotations for Redis® replicas service
Annotations ValuesReplicaServiceAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`
// Redis® replicas service Cluster IP
ClusterIP string `json:"clusterIP,omitempty" yaml:"clusterIP,omitempty" mapstructure:"clusterIP,omitempty"`
// Redis® replicas service external traffic policy
ExternalTrafficPolicy string `json:"externalTrafficPolicy,omitempty" yaml:"externalTrafficPolicy,omitempty" mapstructure:"externalTrafficPolicy,omitempty"`
// Extra ports to expose (normally used with the `sidecar` value)
ExtraPorts []interface{} `json:"extraPorts,omitempty" yaml:"extraPorts,omitempty" mapstructure:"extraPorts,omitempty"`
// Redis® replicas service internal traffic policy (requires Kubernetes v1.22
// or greater to be usable)
InternalTrafficPolicy string `json:"internalTrafficPolicy,omitempty" yaml:"internalTrafficPolicy,omitempty" mapstructure:"internalTrafficPolicy,omitempty"`
// replicas service Load Balancer class if service type is `LoadBalancer`
// (optional, cloud specific)
LoadBalancerClass string `json:"loadBalancerClass,omitempty" yaml:"loadBalancerClass,omitempty" mapstructure:"loadBalancerClass,omitempty"`
// Redis® replicas service Load Balancer IP
LoadBalancerIP string `json:"loadBalancerIP,omitempty" yaml:"loadBalancerIP,omitempty" mapstructure:"loadBalancerIP,omitempty"`
// Redis® replicas service Load Balancer sources
LoadBalancerSourceRanges []interface{} `` /* 133-byte string literal not displayed */
// NodePorts corresponds to the JSON schema field "nodePorts".
NodePorts *ValuesReplicaServiceNodePorts `json:"nodePorts,omitempty" yaml:"nodePorts,omitempty" mapstructure:"nodePorts,omitempty"`
// Ports corresponds to the JSON schema field "ports".
Ports *ValuesReplicaServicePorts `json:"ports,omitempty" yaml:"ports,omitempty" mapstructure:"ports,omitempty"`
// Session Affinity for Kubernetes service, can be "None" or "ClientIP"
SessionAffinity string `json:"sessionAffinity,omitempty" yaml:"sessionAffinity,omitempty" mapstructure:"sessionAffinity,omitempty"`
// Additional settings for the sessionAffinity
SessionAffinityConfig ValuesReplicaServiceSessionAffinityConfig `json:"sessionAffinityConfig,omitempty" yaml:"sessionAffinityConfig,omitempty" mapstructure:"sessionAffinityConfig,omitempty"`
// Redis® replicas service type
Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}
type ValuesReplicaServiceAccount ¶
type ValuesReplicaServiceAccount struct {
// Additional custom annotations for the ServiceAccount
Annotations ValuesReplicaServiceAccountAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`
// Whether to auto mount the service account token
AutomountServiceAccountToken bool `` /* 145-byte string literal not displayed */
// Specifies whether a ServiceAccount should be created
Create bool `json:"create,omitempty" yaml:"create,omitempty" mapstructure:"create,omitempty"`
// The name of the ServiceAccount to use.
Name string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"`
}
type ValuesReplicaServiceAccountAnnotations ¶
type ValuesReplicaServiceAccountAnnotations map[string]interface{}
Additional custom annotations for the ServiceAccount
type ValuesReplicaServiceAnnotations ¶
type ValuesReplicaServiceAnnotations map[string]interface{}
Additional custom annotations for Redis® replicas service
type ValuesReplicaServiceNodePorts ¶
type ValuesReplicaServiceNodePorts struct {
// Node port for Redis® replicas
Redis string `json:"redis,omitempty" yaml:"redis,omitempty" mapstructure:"redis,omitempty"`
}
type ValuesReplicaServicePorts ¶
type ValuesReplicaServicePorts struct {
// Redis® replicas service port
Redis float64 `json:"redis,omitempty" yaml:"redis,omitempty" mapstructure:"redis,omitempty"`
}
type ValuesReplicaServiceSessionAffinityConfig ¶
type ValuesReplicaServiceSessionAffinityConfig map[string]interface{}
Additional settings for the sessionAffinity
type ValuesReplicaStartupProbe ¶
type ValuesReplicaStartupProbe struct {
// Enable startupProbe on Redis® replicas nodes
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Failure threshold for startupProbe
FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`
// Initial delay seconds for startupProbe
InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`
// Period seconds for startupProbe
PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`
// Success threshold for startupProbe
SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`
// Timeout seconds for startupProbe
TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}
type ValuesReplicaUpdateStrategy ¶
type ValuesReplicaUpdateStrategy struct {
// Redis® replicas statefulset strategy type
Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}
type ValuesSecretAnnotations ¶
type ValuesSecretAnnotations map[string]interface{}
Annotations to add to secret
type ValuesSentinel ¶
type ValuesSentinel struct {
// Additional custom annotations for Redis® Sentinel resource
Annotations ValuesSentinelAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`
// Override default container args (useful when using custom images)
Args []interface{} `json:"args,omitempty" yaml:"args,omitempty" mapstructure:"args,omitempty"`
// Automate cluster recovery in cases where the last replica is not considered a
// good replica and Sentinel won't automatically failover to it.
AutomateClusterRecovery bool `` /* 130-byte string literal not displayed */
// Override default container command (useful when using custom images)
Command []interface{} `json:"command,omitempty" yaml:"command,omitempty" mapstructure:"command,omitempty"`
// Configuration for Redis® Sentinel nodes
Configuration string `json:"configuration,omitempty" yaml:"configuration,omitempty" mapstructure:"configuration,omitempty"`
// ContainerPorts corresponds to the JSON schema field "containerPorts".
ContainerPorts *ValuesSentinelContainerPorts `json:"containerPorts,omitempty" yaml:"containerPorts,omitempty" mapstructure:"containerPorts,omitempty"`
// ContainerSecurityContext corresponds to the JSON schema field
// "containerSecurityContext".
ContainerSecurityContext *ValuesSentinelContainerSecurityContext `` /* 133-byte string literal not displayed */
// Custom livenessProbe that overrides the default one
CustomLivenessProbe ValuesSentinelCustomLivenessProbe `json:"customLivenessProbe,omitempty" yaml:"customLivenessProbe,omitempty" mapstructure:"customLivenessProbe,omitempty"`
// Custom readinessProbe that overrides the default one
CustomReadinessProbe ValuesSentinelCustomReadinessProbe `json:"customReadinessProbe,omitempty" yaml:"customReadinessProbe,omitempty" mapstructure:"customReadinessProbe,omitempty"`
// Custom startupProbe that overrides the default one
CustomStartupProbe ValuesSentinelCustomStartupProbe `json:"customStartupProbe,omitempty" yaml:"customStartupProbe,omitempty" mapstructure:"customStartupProbe,omitempty"`
// Timeout for detecting a Redis® node is down
DownAfterMilliseconds float64 `json:"downAfterMilliseconds,omitempty" yaml:"downAfterMilliseconds,omitempty" mapstructure:"downAfterMilliseconds,omitempty"`
// Whether information about services should be injected into pod's environment
// variable
EnableServiceLinks bool `json:"enableServiceLinks,omitempty" yaml:"enableServiceLinks,omitempty" mapstructure:"enableServiceLinks,omitempty"`
// Use Redis® Sentinel on Redis® pods.
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// ExternalMaster corresponds to the JSON schema field "externalMaster".
ExternalMaster *ValuesSentinelExternalMaster `json:"externalMaster,omitempty" yaml:"externalMaster,omitempty" mapstructure:"externalMaster,omitempty"`
// Array with extra environment variables to add to Redis® Sentinel nodes
ExtraEnvVars []interface{} `json:"extraEnvVars,omitempty" yaml:"extraEnvVars,omitempty" mapstructure:"extraEnvVars,omitempty"`
// Name of existing ConfigMap containing extra env vars for Redis® Sentinel
// nodes
ExtraEnvVarsCM string `json:"extraEnvVarsCM,omitempty" yaml:"extraEnvVarsCM,omitempty" mapstructure:"extraEnvVarsCM,omitempty"`
// Name of existing Secret containing extra env vars for Redis® Sentinel nodes
ExtraEnvVarsSecret string `json:"extraEnvVarsSecret,omitempty" yaml:"extraEnvVarsSecret,omitempty" mapstructure:"extraEnvVarsSecret,omitempty"`
// Optionally specify extra list of additional volumeMounts for the Redis®
// Sentinel container(s)
ExtraVolumeMounts []interface{} `json:"extraVolumeMounts,omitempty" yaml:"extraVolumeMounts,omitempty" mapstructure:"extraVolumeMounts,omitempty"`
// Optionally specify extra list of additional volumes for the Redis® Sentinel
ExtraVolumes []interface{} `json:"extraVolumes,omitempty" yaml:"extraVolumes,omitempty" mapstructure:"extraVolumes,omitempty"`
// Timeout for performing a election failover
FailoverTimeout float64 `json:"failoverTimeout,omitempty" yaml:"failoverTimeout,omitempty" mapstructure:"failoverTimeout,omitempty"`
// Amount of time to allow before get_sentinel_master_info() times out.
GetMasterTimeout float64 `json:"getMasterTimeout,omitempty" yaml:"getMasterTimeout,omitempty" mapstructure:"getMasterTimeout,omitempty"`
// Image corresponds to the JSON schema field "image".
Image *ValuesSentinelImage `json:"image,omitempty" yaml:"image,omitempty" mapstructure:"image,omitempty"`
// for the Redis® sentinel container(s) to automate configuration before or
// after startup
LifecycleHooks ValuesSentinelLifecycleHooks `json:"lifecycleHooks,omitempty" yaml:"lifecycleHooks,omitempty" mapstructure:"lifecycleHooks,omitempty"`
// LivenessProbe corresponds to the JSON schema field "livenessProbe".
LivenessProbe *ValuesSentinelLivenessProbe `json:"livenessProbe,omitempty" yaml:"livenessProbe,omitempty" mapstructure:"livenessProbe,omitempty"`
// Master set name
MasterSet string `json:"masterSet,omitempty" yaml:"masterSet,omitempty" mapstructure:"masterSet,omitempty"`
// Number of replicas that can be reconfigured in parallel to use the new master
// after a failover
ParallelSyncs float64 `json:"parallelSyncs,omitempty" yaml:"parallelSyncs,omitempty" mapstructure:"parallelSyncs,omitempty"`
// Persistence corresponds to the JSON schema field "persistence".
Persistence *ValuesSentinelPersistence `json:"persistence,omitempty" yaml:"persistence,omitempty" mapstructure:"persistence,omitempty"`
// PersistentVolumeClaimRetentionPolicy corresponds to the JSON schema field
// "persistentVolumeClaimRetentionPolicy".
PersistentVolumeClaimRetentionPolicy *ValuesSentinelPersistentVolumeClaimRetentionPolicy `` /* 169-byte string literal not displayed */
// Additional commands to run prior to starting Redis® Sentinel
PreExecCmds []interface{} `json:"preExecCmds,omitempty" yaml:"preExecCmds,omitempty" mapstructure:"preExecCmds,omitempty"`
// Sentinel Quorum
Quorum float64 `json:"quorum,omitempty" yaml:"quorum,omitempty" mapstructure:"quorum,omitempty"`
// ReadinessProbe corresponds to the JSON schema field "readinessProbe".
ReadinessProbe *ValuesSentinelReadinessProbe `json:"readinessProbe,omitempty" yaml:"readinessProbe,omitempty" mapstructure:"readinessProbe,omitempty"`
// Whether the Redis® master container waits for the failover at shutdown (in
// addition to the Redis® Sentinel container).
RedisShutdownWaitFailover bool `` /* 136-byte string literal not displayed */
// Set container requests and limits for different resources like CPU or memory
// (essential for production workloads)
Resources ValuesSentinelResources `json:"resources,omitempty" yaml:"resources,omitempty" mapstructure:"resources,omitempty"`
// Set container resources according to one common preset (allowed values: none,
// nano, small, medium, large, xlarge, 2xlarge). This is ignored if
// sentinel.resources is set (sentinel.resources is recommended for production).
ResourcesPreset string `json:"resourcesPreset,omitempty" yaml:"resourcesPreset,omitempty" mapstructure:"resourcesPreset,omitempty"`
// Service corresponds to the JSON schema field "service".
Service *ValuesSentinelService `json:"service,omitempty" yaml:"service,omitempty" mapstructure:"service,omitempty"`
// StartupProbe corresponds to the JSON schema field "startupProbe".
StartupProbe *ValuesSentinelStartupProbe `json:"startupProbe,omitempty" yaml:"startupProbe,omitempty" mapstructure:"startupProbe,omitempty"`
// Integer setting the termination grace period for the redis-node pods
TerminationGracePeriodSeconds float64 `` /* 148-byte string literal not displayed */
}
type ValuesSentinelAnnotations ¶
type ValuesSentinelAnnotations map[string]interface{}
Additional custom annotations for Redis® Sentinel resource
type ValuesSentinelContainerPorts ¶
type ValuesSentinelContainerPorts struct {
// Container port to open on Redis® Sentinel nodes
Sentinel float64 `json:"sentinel,omitempty" yaml:"sentinel,omitempty" mapstructure:"sentinel,omitempty"`
}
type ValuesSentinelContainerSecurityContext ¶
type ValuesSentinelContainerSecurityContext struct {
// Set Redis® Sentinel containers' Security Context allowPrivilegeEscalation
AllowPrivilegeEscalation bool `` /* 133-byte string literal not displayed */
// Capabilities corresponds to the JSON schema field "capabilities".
Capabilities *ValuesSentinelContainerSecurityContextCapabilities `json:"capabilities,omitempty" yaml:"capabilities,omitempty" mapstructure:"capabilities,omitempty"`
// Enabled Redis® Sentinel containers' Security Context
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Set container's Security Context read-only root filesystem
ReadOnlyRootFilesystem bool `` /* 127-byte string literal not displayed */
// Set Redis® Sentinel containers' Security Context runAsGroup
RunAsGroup float64 `json:"runAsGroup,omitempty" yaml:"runAsGroup,omitempty" mapstructure:"runAsGroup,omitempty"`
// Set Redis® Sentinel containers' Security Context runAsNonRoot
RunAsNonRoot bool `json:"runAsNonRoot,omitempty" yaml:"runAsNonRoot,omitempty" mapstructure:"runAsNonRoot,omitempty"`
// Set Redis® Sentinel containers' Security Context runAsUser
RunAsUser float64 `json:"runAsUser,omitempty" yaml:"runAsUser,omitempty" mapstructure:"runAsUser,omitempty"`
// SeccompProfile corresponds to the JSON schema field "seccompProfile".
SeccompProfile *ValuesSentinelContainerSecurityContextSeccompProfile `json:"seccompProfile,omitempty" yaml:"seccompProfile,omitempty" mapstructure:"seccompProfile,omitempty"`
}
type ValuesSentinelContainerSecurityContextCapabilities ¶
type ValuesSentinelContainerSecurityContextCapabilities struct {
// Set Redis® Sentinel containers' Security Context capabilities to drop
Drop []string `json:"drop,omitempty" yaml:"drop,omitempty" mapstructure:"drop,omitempty"`
}
type ValuesSentinelContainerSecurityContextSeccompProfile ¶
type ValuesSentinelContainerSecurityContextSeccompProfile struct {
// Set Redis® Sentinel containers' Security Context seccompProfile
Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}
type ValuesSentinelCustomLivenessProbe ¶
type ValuesSentinelCustomLivenessProbe map[string]interface{}
Custom livenessProbe that overrides the default one
type ValuesSentinelCustomReadinessProbe ¶
type ValuesSentinelCustomReadinessProbe map[string]interface{}
Custom readinessProbe that overrides the default one
type ValuesSentinelCustomStartupProbe ¶
type ValuesSentinelCustomStartupProbe map[string]interface{}
Custom startupProbe that overrides the default one
type ValuesSentinelExternalMaster ¶
type ValuesSentinelExternalMaster struct {
// Use external master for bootstrapping
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// External master host to bootstrap from
Host string `json:"host,omitempty" yaml:"host,omitempty" mapstructure:"host,omitempty"`
// Port for Redis service external master host
Port float64 `json:"port,omitempty" yaml:"port,omitempty" mapstructure:"port,omitempty"`
}
type ValuesSentinelImage ¶
type ValuesSentinelImage struct {
// Enable image debug mode
Debug bool `json:"debug,omitempty" yaml:"debug,omitempty" mapstructure:"debug,omitempty"`
// Redis® Sentinel image digest in the way sha256:aa.... Please note this
// parameter, if set, will override the tag
Digest string `json:"digest,omitempty" yaml:"digest,omitempty" mapstructure:"digest,omitempty"`
// Redis® Sentinel image pull policy
PullPolicy string `json:"pullPolicy,omitempty" yaml:"pullPolicy,omitempty" mapstructure:"pullPolicy,omitempty"`
// Redis® Sentinel image pull secrets
PullSecrets []interface{} `json:"pullSecrets,omitempty" yaml:"pullSecrets,omitempty" mapstructure:"pullSecrets,omitempty"`
// Redis® Sentinel image registry
Registry string `json:"registry,omitempty" yaml:"registry,omitempty" mapstructure:"registry,omitempty"`
// Redis® Sentinel image repository
Repository string `json:"repository,omitempty" yaml:"repository,omitempty" mapstructure:"repository,omitempty"`
}
type ValuesSentinelLifecycleHooks ¶
type ValuesSentinelLifecycleHooks map[string]interface{}
for the Redis® sentinel container(s) to automate configuration before or after startup
type ValuesSentinelLivenessProbe ¶
type ValuesSentinelLivenessProbe struct {
// Enable livenessProbe on Redis® Sentinel nodes
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Failure threshold for livenessProbe
FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`
// Initial delay seconds for livenessProbe
InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`
// Period seconds for livenessProbe
PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`
// Success threshold for livenessProbe
SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`
// Timeout seconds for livenessProbe
TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}
type ValuesSentinelPersistence ¶
type ValuesSentinelPersistence struct {
// Persistent Volume access modes
AccessModes []string `json:"accessModes,omitempty" yaml:"accessModes,omitempty" mapstructure:"accessModes,omitempty"`
// Additional custom annotations for the PVC
Annotations ValuesSentinelPersistenceAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`
// Custom PVC data source
DataSource ValuesSentinelPersistenceDataSource `json:"dataSource,omitempty" yaml:"dataSource,omitempty" mapstructure:"dataSource,omitempty"`
// Enable persistence on Redis® sentinel nodes using Persistent Volume Claims
// (Experimental)
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Additional custom labels for the PVC
Labels ValuesSentinelPersistenceLabels `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"`
// Provide a medium for `emptyDir` volumes.
Medium string `json:"medium,omitempty" yaml:"medium,omitempty" mapstructure:"medium,omitempty"`
// Additional labels to match for the PVC
Selector ValuesSentinelPersistenceSelector `json:"selector,omitempty" yaml:"selector,omitempty" mapstructure:"selector,omitempty"`
// Persistent Volume size
Size string `json:"size,omitempty" yaml:"size,omitempty" mapstructure:"size,omitempty"`
// Set this to enable a size limit for `emptyDir` volumes.
SizeLimit string `json:"sizeLimit,omitempty" yaml:"sizeLimit,omitempty" mapstructure:"sizeLimit,omitempty"`
// Persistent Volume storage class
StorageClass string `json:"storageClass,omitempty" yaml:"storageClass,omitempty" mapstructure:"storageClass,omitempty"`
}
type ValuesSentinelPersistenceAnnotations ¶
type ValuesSentinelPersistenceAnnotations map[string]interface{}
Additional custom annotations for the PVC
type ValuesSentinelPersistenceDataSource ¶
type ValuesSentinelPersistenceDataSource map[string]interface{}
Custom PVC data source
type ValuesSentinelPersistenceLabels ¶
type ValuesSentinelPersistenceLabels map[string]interface{}
Additional custom labels for the PVC
type ValuesSentinelPersistenceSelector ¶
type ValuesSentinelPersistenceSelector map[string]interface{}
Additional labels to match for the PVC
type ValuesSentinelPersistentVolumeClaimRetentionPolicy ¶
type ValuesSentinelPersistentVolumeClaimRetentionPolicy struct {
// Controls if and how PVCs are deleted during the lifecycle of a StatefulSet
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Volume retention behavior that applies when the StatefulSet is deleted
WhenDeleted string `json:"whenDeleted,omitempty" yaml:"whenDeleted,omitempty" mapstructure:"whenDeleted,omitempty"`
// Volume retention behavior when the replica count of the StatefulSet is reduced
WhenScaled string `json:"whenScaled,omitempty" yaml:"whenScaled,omitempty" mapstructure:"whenScaled,omitempty"`
}
type ValuesSentinelReadinessProbe ¶
type ValuesSentinelReadinessProbe struct {
// Enable readinessProbe on Redis® Sentinel nodes
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Failure threshold for readinessProbe
FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`
// Initial delay seconds for readinessProbe
InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`
// Period seconds for readinessProbe
PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`
// Success threshold for readinessProbe
SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`
// Timeout seconds for readinessProbe
TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}
type ValuesSentinelResources ¶
type ValuesSentinelResources map[string]interface{}
Set container requests and limits for different resources like CPU or memory (essential for production workloads)
type ValuesSentinelService ¶
type ValuesSentinelService struct {
// Additional custom annotations for Redis® Sentinel service
Annotations ValuesSentinelServiceAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`
// Redis® Sentinel service Cluster IP
ClusterIP string `json:"clusterIP,omitempty" yaml:"clusterIP,omitempty" mapstructure:"clusterIP,omitempty"`
// Redis® Sentinel service external traffic policy
ExternalTrafficPolicy string `json:"externalTrafficPolicy,omitempty" yaml:"externalTrafficPolicy,omitempty" mapstructure:"externalTrafficPolicy,omitempty"`
// Extra ports to expose (normally used with the `sidecar` value)
ExtraPorts []interface{} `json:"extraPorts,omitempty" yaml:"extraPorts,omitempty" mapstructure:"extraPorts,omitempty"`
// Headless corresponds to the JSON schema field "headless".
Headless *ValuesSentinelServiceHeadless `json:"headless,omitempty" yaml:"headless,omitempty" mapstructure:"headless,omitempty"`
// sentinel service Load Balancer class if service type is `LoadBalancer`
// (optional, cloud specific)
LoadBalancerClass string `json:"loadBalancerClass,omitempty" yaml:"loadBalancerClass,omitempty" mapstructure:"loadBalancerClass,omitempty"`
// Redis® Sentinel service Load Balancer IP
LoadBalancerIP string `json:"loadBalancerIP,omitempty" yaml:"loadBalancerIP,omitempty" mapstructure:"loadBalancerIP,omitempty"`
// Redis® Sentinel service Load Balancer sources
LoadBalancerSourceRanges []interface{} `` /* 133-byte string literal not displayed */
// NodePorts corresponds to the JSON schema field "nodePorts".
NodePorts *ValuesSentinelServiceNodePorts `json:"nodePorts,omitempty" yaml:"nodePorts,omitempty" mapstructure:"nodePorts,omitempty"`
// Ports corresponds to the JSON schema field "ports".
Ports *ValuesSentinelServicePorts `json:"ports,omitempty" yaml:"ports,omitempty" mapstructure:"ports,omitempty"`
// Session Affinity for Kubernetes service, can be "None" or "ClientIP"
SessionAffinity string `json:"sessionAffinity,omitempty" yaml:"sessionAffinity,omitempty" mapstructure:"sessionAffinity,omitempty"`
// Additional settings for the sessionAffinity
SessionAffinityConfig ValuesSentinelServiceSessionAffinityConfig `json:"sessionAffinityConfig,omitempty" yaml:"sessionAffinityConfig,omitempty" mapstructure:"sessionAffinityConfig,omitempty"`
// Redis® Sentinel service type
Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}
type ValuesSentinelServiceAnnotations ¶
type ValuesSentinelServiceAnnotations map[string]interface{}
Additional custom annotations for Redis® Sentinel service
type ValuesSentinelServiceHeadless ¶
type ValuesSentinelServiceHeadless struct {
// Annotations for the headless service.
Annotations ValuesSentinelServiceHeadlessAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`
}
type ValuesSentinelServiceHeadlessAnnotations ¶
type ValuesSentinelServiceHeadlessAnnotations map[string]interface{}
Annotations for the headless service.
type ValuesSentinelServicePorts ¶
type ValuesSentinelServicePorts struct {
// Redis® service port for Redis®
Redis float64 `json:"redis,omitempty" yaml:"redis,omitempty" mapstructure:"redis,omitempty"`
// Redis® service port for Redis® Sentinel
Sentinel float64 `json:"sentinel,omitempty" yaml:"sentinel,omitempty" mapstructure:"sentinel,omitempty"`
}
type ValuesSentinelServiceSessionAffinityConfig ¶
type ValuesSentinelServiceSessionAffinityConfig map[string]interface{}
Additional settings for the sessionAffinity
type ValuesSentinelStartupProbe ¶
type ValuesSentinelStartupProbe struct {
// Enable startupProbe on Redis® Sentinel nodes
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Failure threshold for startupProbe
FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`
// Initial delay seconds for startupProbe
InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`
// Period seconds for startupProbe
PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`
// Success threshold for startupProbe
SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`
// Timeout seconds for startupProbe
TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}
type ValuesServiceAccount ¶
type ValuesServiceAccount struct {
// Additional custom annotations for the ServiceAccount
Annotations ValuesServiceAccountAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`
// Whether to auto mount the service account token
AutomountServiceAccountToken bool `` /* 145-byte string literal not displayed */
// Specifies whether a ServiceAccount should be created
Create bool `json:"create,omitempty" yaml:"create,omitempty" mapstructure:"create,omitempty"`
// The name of the ServiceAccount to use.
Name string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"`
}
type ValuesServiceAccountAnnotations ¶
type ValuesServiceAccountAnnotations map[string]interface{}
Additional custom annotations for the ServiceAccount
type ValuesServiceBindings ¶
type ValuesServiceBindings struct {
// Create secret for service binding (Experimental)
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
}
type ValuesSysctl ¶
type ValuesSysctl struct {
// Override default init-sysctl container command (useful when using custom
// images)
Command []interface{} `json:"command,omitempty" yaml:"command,omitempty" mapstructure:"command,omitempty"`
// Enable init container to modify Kernel settings
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Image corresponds to the JSON schema field "image".
Image *ValuesSysctlImage `json:"image,omitempty" yaml:"image,omitempty" mapstructure:"image,omitempty"`
// Mount the host `/sys` folder to `/host-sys`
MountHostSys bool `json:"mountHostSys,omitempty" yaml:"mountHostSys,omitempty" mapstructure:"mountHostSys,omitempty"`
// Set container requests and limits for different resources like CPU or memory
// (essential for production workloads)
Resources ValuesSysctlResources `json:"resources,omitempty" yaml:"resources,omitempty" mapstructure:"resources,omitempty"`
// Set container resources according to one common preset (allowed values: none,
// nano, small, medium, large, xlarge, 2xlarge). This is ignored if
// sysctl.resources is set (sysctl.resources is recommended for production).
ResourcesPreset string `json:"resourcesPreset,omitempty" yaml:"resourcesPreset,omitempty" mapstructure:"resourcesPreset,omitempty"`
}
type ValuesSysctlImage ¶
type ValuesSysctlImage struct {
// OS Shell + Utility image digest in the way sha256:aa.... Please note this
// parameter, if set, will override the tag
Digest string `json:"digest,omitempty" yaml:"digest,omitempty" mapstructure:"digest,omitempty"`
// OS Shell + Utility image pull policy
PullPolicy string `json:"pullPolicy,omitempty" yaml:"pullPolicy,omitempty" mapstructure:"pullPolicy,omitempty"`
// OS Shell + Utility image pull secrets
PullSecrets []interface{} `json:"pullSecrets,omitempty" yaml:"pullSecrets,omitempty" mapstructure:"pullSecrets,omitempty"`
// OS Shell + Utility image registry
Registry string `json:"registry,omitempty" yaml:"registry,omitempty" mapstructure:"registry,omitempty"`
// OS Shell + Utility image repository
Repository string `json:"repository,omitempty" yaml:"repository,omitempty" mapstructure:"repository,omitempty"`
}
type ValuesSysctlResources ¶
type ValuesSysctlResources map[string]interface{}
Set container requests and limits for different resources like CPU or memory (essential for production workloads)
type ValuesTls ¶
type ValuesTls struct {
// Require clients to authenticate
AuthClients bool `json:"authClients,omitempty" yaml:"authClients,omitempty" mapstructure:"authClients,omitempty"`
// Enable autogenerated certificates
AutoGenerated bool `json:"autoGenerated,omitempty" yaml:"autoGenerated,omitempty" mapstructure:"autoGenerated,omitempty"`
// CA Certificate filename
CertCAFilename string `json:"certCAFilename,omitempty" yaml:"certCAFilename,omitempty" mapstructure:"certCAFilename,omitempty"`
// Certificate filename
CertFilename string `json:"certFilename,omitempty" yaml:"certFilename,omitempty" mapstructure:"certFilename,omitempty"`
// Certificate Key filename
CertKeyFilename string `json:"certKeyFilename,omitempty" yaml:"certKeyFilename,omitempty" mapstructure:"certKeyFilename,omitempty"`
// DEPRECATED. Use existingSecret instead.
CertificatesSecret string `json:"certificatesSecret,omitempty" yaml:"certificatesSecret,omitempty" mapstructure:"certificatesSecret,omitempty"`
// File containing DH params (in order to support DH based ciphers)
DhParamsFilename string `json:"dhParamsFilename,omitempty" yaml:"dhParamsFilename,omitempty" mapstructure:"dhParamsFilename,omitempty"`
// Enable TLS traffic
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// The name of the existing secret that contains the TLS certificates
ExistingSecret string `json:"existingSecret,omitempty" yaml:"existingSecret,omitempty" mapstructure:"existingSecret,omitempty"`
}
type ValuesUseExternalDNS ¶
type ValuesUseExternalDNS struct {
// Extra annotations to be utilized when `external-dns` is enabled.
AdditionalAnnotations ValuesUseExternalDNSAdditionalAnnotations `json:"additionalAnnotations,omitempty" yaml:"additionalAnnotations,omitempty" mapstructure:"additionalAnnotations,omitempty"`
// The annotation key utilized when `external-dns` is enabled. Setting this to
// `false` will disable annotations.
AnnotationKey string `json:"annotationKey,omitempty" yaml:"annotationKey,omitempty" mapstructure:"annotationKey,omitempty"`
// Enable various syntax that would enable external-dns to work. Note this
// requires a working installation of `external-dns` to be usable.
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// The DNS suffix utilized when `external-dns` is enabled. Note that we prepend
// the suffix with the full name of the release.
Suffix string `json:"suffix,omitempty" yaml:"suffix,omitempty" mapstructure:"suffix,omitempty"`
}
type ValuesUseExternalDNSAdditionalAnnotations ¶
type ValuesUseExternalDNSAdditionalAnnotations map[string]interface{}
Extra annotations to be utilized when `external-dns` is enabled.
type ValuesVolumePermissions ¶
type ValuesVolumePermissions struct {
// ContainerSecurityContext corresponds to the JSON schema field
// "containerSecurityContext".
ContainerSecurityContext *ValuesVolumePermissionsContainerSecurityContext `` /* 133-byte string literal not displayed */
// Enable init container that changes the owner/group of the PV mount point to
// `runAsUser:fsGroup`
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Image corresponds to the JSON schema field "image".
Image *ValuesVolumePermissionsImage `json:"image,omitempty" yaml:"image,omitempty" mapstructure:"image,omitempty"`
// Set container requests and limits for different resources like CPU or memory
// (essential for production workloads)
Resources ValuesVolumePermissionsResources `json:"resources,omitempty" yaml:"resources,omitempty" mapstructure:"resources,omitempty"`
// Set container resources according to one common preset (allowed values: none,
// nano, small, medium, large, xlarge, 2xlarge). This is ignored if
// volumePermissions.resources is set (volumePermissions.resources is recommended
// for production).
ResourcesPreset string `json:"resourcesPreset,omitempty" yaml:"resourcesPreset,omitempty" mapstructure:"resourcesPreset,omitempty"`
}
type ValuesVolumePermissionsContainerSecurityContext ¶
type ValuesVolumePermissionsContainerSecurityContext struct {
// Set init container's Security Context runAsUser
RunAsUser float64 `json:"runAsUser,omitempty" yaml:"runAsUser,omitempty" mapstructure:"runAsUser,omitempty"`
}
type ValuesVolumePermissionsImage ¶
type ValuesVolumePermissionsImage struct {
// OS Shell + Utility image digest in the way sha256:aa.... Please note this
// parameter, if set, will override the tag
Digest string `json:"digest,omitempty" yaml:"digest,omitempty" mapstructure:"digest,omitempty"`
// OS Shell + Utility image pull policy
PullPolicy string `json:"pullPolicy,omitempty" yaml:"pullPolicy,omitempty" mapstructure:"pullPolicy,omitempty"`
// OS Shell + Utility image pull secrets
PullSecrets []interface{} `json:"pullSecrets,omitempty" yaml:"pullSecrets,omitempty" mapstructure:"pullSecrets,omitempty"`
// OS Shell + Utility image registry
Registry string `json:"registry,omitempty" yaml:"registry,omitempty" mapstructure:"registry,omitempty"`
// OS Shell + Utility image repository
Repository string `json:"repository,omitempty" yaml:"repository,omitempty" mapstructure:"repository,omitempty"`
}
type ValuesVolumePermissionsResources ¶
type ValuesVolumePermissionsResources map[string]interface{}
Set container requests and limits for different resources like CPU or memory (essential for production workloads)