AIStor Server Operator Helm Chart

The following page includes the full contents of the AIStor Server Operator Helm Chart default values.yaml and all accompanying documentation.

Configuration precedence

The AIStor Operator Helm chart supports a hierarchical configuration system where settings can be defined at multiple levels. When the same setting is defined at multiple levels, the following order of precedence determines which value is used (highest to lowest):

  1. Individual operator settings - Settings specified for a specific operator in operators.<operator-name>.*. Example: operators.object-store.replicas.
  2. Global operator settings - Settings specified in global.operator.* that apply to all operators.
  3. Default values - Default values defined in the Helm chart templates.

For example, if you set global.operator.replicas: 2 and then set operators.object-store.replicas: 3, the object-store operator will use 3 replicas while other operators will use 2 replicas.

This precedence model allows you to define common settings globally while selectively overriding specific values for individual operators as needed.

Values reference

# Default values for AIStor Operators chart

# The Following annotations/labels are applied to all resources created by the Helm chart
annotations: {}
labels: {}

# Allow override the namespace for all resources
#namespaceOverride: &#34;test&#34;

# The repositories allow overriding the default repositories that
# are used to determine the full images names. When left empty,
# the default repository will be used.
#
# When image pull secrets are added, then they are also used by the
# operator to set the proper image pull secrets for deployments,
# statefulsets, ... that use that repository.
repositories: {}
  # aistor:
  #   hostname: private-repo.example.com
  #   pathPrefix: minio/aistor/
  #   imagePullSecrets:
  #   - name: pull-secret1
  #   - name: pull-secret2
  # minio:
  #   hostname: private-repo.example.com
  #   pathPrefix: minio/
  #   imagePullSecrets:
  #   - name: pull-secret1
  #   - name: pull-secret2

# The MinIO license can be set directly from the Helm chart. Note that it is not advised
# to expose the license key in the Helm chart. Instead, it is recommended to create a
# secret manually. It&#39;s just here for convenience.
license: &#34;&#34;

# global settings are settings that will be applied to all operators
# unless explicitly overridden in the operator settings.
global:
  # The Helm chart will try to auto-detect OpenShift. If it cannot detect OpenShift
  # (i.e. when running helm template), then it will default to false. You can
  # override this setting to force OpenShift mode.
  #forceOpenShift: true

  # Specify the default cluster domain. When it&#39;s not set, then it
  # will try to auto-detect the cluster. But you may want to set it
  # explicitly
  # clusterDomain: &#34;cluster.xxx&#34;

  # The following settings will be set for all operators. They can
  # be overridden per operator by setting the same key in the
  # .operator.&lt;operator&gt; section.
  operator:
    # Specify number of replicas
    replicas: 1

    # Specify `annotations &lt;https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/&gt;`__ to associate to pods.
    podAnnotations: {}

    # Specify `labels &lt;https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/&gt;`__ to associate to pods.
    podLabels: {}

    # This will add extra environment variables to the operator
    # containers.
    #
    # OpenTelemetry Configuration Example:
    # To enable OpenTelemetry logging, add OTEL environment variables:
    #
    # extraEnv:
    #   - name: OTEL_EXPORTER_OTLP_ENDPOINT
    #     # For gRPC protocol: use host:port (scheme optional, will be auto-stripped)
    #     value: &#34;otel-collector.observability.svc.cluster.local:4317&#34;
    #     # For HTTP protocol: include the http:// or https:// scheme
    #     # value: &#34;http://otel-collector.observability.svc.cluster.local:4318&#34;
    #   - name: OTEL_EXPORTER_OTLP_PROTOCOL
    #     value: &#34;grpc&#34;  # or &#34;http&#34;
    #   - name: OTEL_EXPORTER_OTLP_INSECURE
    #     value: &#34;false&#34;
    #   - name: OTEL_EXPORTER_OTLP_HEADERS
    #     value: &#34;authorization=Bearer token123&#34;  # Optional: for authentication
    extraEnv: []

    # Image pull policy (empty uses the default registry policy).
    imagePullPolicy: &#34;&#34;
    ###
    # You may need to set the image pull secrets when using a private registry.
    # Need to be set as an array of LocalObjectReference.
    #  .. code-block:: yaml
    #
    #    imagePullSecrets:
    #        - name: minio-registry-secret
    #          type: kubernetes.io/dockerconfigjson
    imagePullSecrets: []

    # Resources for the operator containers.
    resources:
      requests:
        cpu: 200m
        ephemeral-storage: 500Mi
        memory: 256Mi

    # Security context for the operator containers (ignored on OpenShift)
    securityContext:
      allowPrivilegeEscalation: false
      capabilities:
        drop:
          - ALL
      runAsGroup: 1000
      runAsNonRoot: true
      runAsUser: 1000
      seccompProfile:
        type: RuntimeDefault

    # Security context for the operator pods (ignored on OpenShift)
    podSecurityContext:
      {}
      # fsGroup: 2000
    # An array of `Toleration labels for Operator pods to associate.
    # .. code-block:: yaml
    #
    #    tolerations:
    #    - effect: &#34;NoSchedule&#34;
    #      operator: &#34;Equal&#34;
    #      key: &#34;key1&#34;
    #      value: &#34;value1&#34;
    tolerations: []


# All operators will be using the global setting, unless overridden
# in the section below. All keys in `.global.operators` can also be
# used here and will override (not extend) the global setting.
#
# All operators will be disabled by default, with the exception of
# the object-store.
operators:
  adminjob:
    disabled: false
  aihub:
    disabled: true
  object-store:
    disabled: false
  prompt:
    disabled: true
  warp:
    disabled: true