The module lifecycle stagePreview

The Deckhouse Kubernetes Platform installs CRDs but does not remove them when a module is disabled. If you no longer need the created CRDs, delete them.

ValkeyClass

Scope: Cluster
Version: v1alpha1

ValkeyClass is the Schema for the valkeyclasses API
  • apiVersion
    string
    APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  • kind
    string
    Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  • metadata
    object
  • spec
    object
    ValkeyClassSpec defines the desired state of ValkeyClass
    • spec.configuration
      object
      ClassConfiguration is the default configuration for the class
      • spec.configuration.appendOnly
        string
        By default Valkey asynchronously dumps the dataset on disk. This mode is good enough in many applications, but an issue with the Valkey process or a power outage may result into a few minutes of writes lost (depending on the configured save points).

        Example:

        appendOnly: "Yes"
        
      • spec.configuration.maxMemory
        integer or string
        MaxMemory Set a memory usage limit to the specified amount of bytes. When the memory limit is reached Redis will try to remove keys according to the eviction policy selected (see MaxMemoryPolicy). Should not be more than RAM setting of the instance

        Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

        Example:

        maxMemory: 256Mi
        
      • spec.configuration.maxMemoryPolicy
        string
        MaxMemoryPolicy is the policy for handling memory usage when maxMemory is reached

        Example:

        maxMemoryPolicy: volatile-lfu
        
      • spec.configuration.save
        string
        Save the DB to disk. save [ …]

        Example:

        save: 60 5
        
    • spec.nodeAffinity
      object
      NodeAffinity of the service pods
      • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
        array of objects
        The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding “weight” to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
        • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
          object
          A node selector term, associated with the corresponding weight.
          • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
            array of objects
            A list of node selector requirements by node’s labels.
            • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
              string
              The label key that the selector applies to.
            • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
              string
              Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
            • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
              array of strings
              An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
          • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
            array of objects
            A list of node selector requirements by node’s fields.
            • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
              string
              The label key that the selector applies to.
            • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
              string
              Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
            • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
              array of strings
              An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
        • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
          integer
          Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
      • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
        object
        If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
        • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
          array of objects

          Required value

          Required. A list of node selector terms. The terms are ORed.
          • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
            array of objects
            A list of node selector requirements by node’s labels.
            • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
              string
              The label key that the selector applies to.
            • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
              string
              Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
            • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
              array of strings
              An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
          • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
            array of objects
            A list of node selector requirements by node’s fields.
            • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
              string
              The label key that the selector applies to.
            • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
              string
              Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
            • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
              array of strings
              An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
    • spec.nodeSelector
      object
      Allows a service pods to be assigned to specified nodes. The same as in the spec.nodeSelector parameter for Kubernetes Pods.
    • spec.overridableConfiguration
      array of strings
      List of the configuration options that can be override by the userё
      • spec.overridableConfiguration.Element of the array
        string
        ConfigurationType is a type of configuration option

        Allowed values: maxMemoryPolicy, save, appendOnly, maxMemory

    • spec.sizingPolicies
      array of objects

      Required value

      SizingPolicies is policy of the resource sizing
      • spec.sizingPolicies.coreFractions
        array of strings
        Multiplier for adjusting requests based on set limits in cores.

        Example:

        coreFractions:
        - 10%
        - 30%
        - 50%
        - 100%
        
      • spec.sizingPolicies.cores
        object
        Defines the allowed range for the number of CPU cores.
        • spec.sizingPolicies.cores.max
          integer

          Required value

          Upper limit for the allowed number of CPU cores.

          Example:

          max: 6
          
        • spec.sizingPolicies.cores.min
          integer

          Required value

          Lower limit for the allowed number of CPU cores.

          Example:

          min: 1
          
      • spec.sizingPolicies.memory
        object
        Defines the allowed memory range and step.
        • spec.sizingPolicies.memory.max
          integer or string

          Required value

          Upper limit for the allowed memory amount.

          Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

          Example:

          max: 5Gi
          
        • spec.sizingPolicies.memory.min
          integer or string

          Required value

          Lower limit for the allowed memory amount.

          Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

          Example:

          min: 128Mi
          
        • spec.sizingPolicies.memory.step
          integer or string

          Required value

          Divider for the allowed memory value. The specified memory amount must be evenly divisible.

          Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

          Example:

          step: 100Mi
          
    • spec.tolerations
      array of objects
      Tolerations of the service pods
      • spec.tolerations.effect
        string
        Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
      • spec.tolerations.key
        string
        Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
      • spec.tolerations.operator
        string
        Operator represents a key’s relationship to the value. Valid operators are Exists, Equal, Lt, and Gt. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. Lt and Gt perform numeric comparisons (requires feature gate TaintTolerationComparisonOperators).
      • spec.tolerations.tolerationSeconds
        integer
        TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
      • spec.tolerations.value
        string
        Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
    • spec.validations
      array of objects
      Validations List of the validation rules applied to the Valkey user configuration
      • spec.validations.message
        string
        Message that will be shown in case of fail of the rule.

        Example:

        message: '''maxConnections should be greater than 100''\'
        
      • spec.validations.rule
        string

        Rule for validating Postgres configuration.

        Available predefined variables:

        • configuration.maxConnections
        • configuration.workMem
        • configuration.sharedBuffers
        • configuration.walKeepSize
        • instance.memory.size
        • instance.cpu.cores

        Example:

        rule: configuration.maxConnections > 100
        

Valkey

Scope: Namespaced
Version: v1alpha1

Valkey is the Schema for the valkeys API
  • apiVersion
    string
    APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  • kind
    string
    Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  • metadata
    object
  • spec
    object
    ValkeySpec defines the desired state of Valkey
    • spec.configuration
      object
      Valkey configuration options
      • spec.configuration.appendOnly
        string
        By default Valkey asynchronously dumps the dataset on disk. This mode is good enough in many applications, but an issue with the Valkey process or a power outage may result into a few minutes of writes lost (depending on the configured save points).

        Example:

        appendOnly: "No"
        
      • spec.configuration.maxMemory
        integer or string
        MaxMemory Set a memory usage limit to the specified amount of bytes. When the memory limit is reached Redis will try to remove keys according to the eviction policy selected (see MaxMemoryPolicy). Should not be more than RAM setting of the instance

        Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

        Example:

        maxMemory: 256Mi
        
      • spec.configuration.maxMemoryPolicy
        string
        MaxMemoryPolicy is the policy for handling memory usage when maxMemory is reached

        Example:

        maxMemoryPolicy: volatile-lfu
        
      • spec.configuration.save
        string
        Save the DB to disk. save [ …]

        Example:

        save: 60 5
        
    • spec.instance
      object

      Required value

      Valkey instance configuration
      • spec.instance.cpu
        object

        Required value

        • spec.instance.cpu.coreFraction
          string

          Required value

          CoreFraction is the multiplier for requests of the cores limits

          Example:

          coreFraction: 50%
          
        • spec.instance.cpu.cores
          integer

          Required value

      • spec.instance.memory
        object

        Required value

        • spec.instance.memory.size
          integer or string

          Required value

          Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

          Example:

          size: 1Gi
          
      • spec.instance.persistentVolumeClaim
        object

        Required value

        • spec.instance.persistentVolumeClaim.size
          integer or string

          Required value

          Default: 1Gi

          Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

          Example:

          size: 1Gi
          
        • spec.instance.persistentVolumeClaim.storageClassName
          string
          Name of storage class that will be used as storage for instances. If empty, will be used storageClass that marked as defaulted in k8s cluster. Setting sets up once, and can not be changed during update.

          Example:

          storageClassName: local-path
          
    • spec.valkeyClassName
      string

      Required value

      Name of ValkeyClass kind, that has to be specified for settings validation

      Default: default

      Example:

      valkeyClassName: minimal