snapshotController:
  enabled: false

  image:
    name: registry.k8s.io/sig-storage/snapshot-controller
    tag: v7.0.1

  replicas: 1
  logLevel: 2

  tolerations:
  - key: node-role.kubernetes.io/control-plane
    effect: NoSchedule
  nodeSelector:
    node-role.kubernetes.io/control-plane: ""

  resources:
    requests:
      memory: 24Mi
      cpu: 10m
    limits:
      memory: 64Mi
      # cpu: 100m

lvm-localpv:
  enabled: false

  crds:
    csi:
      volumeSnapshots:
        enabled: false

  lvmNode:
    logLevel: 2
    nodeSelector:
      node.kubernetes.io/lvm: "openebs"
    tolerations:
    - key: kubezero-workergroup
      effect: NoSchedule
      operator: Exists

  lvmController:
    logLevel: 2
    tolerations:
    - key: node-role.kubernetes.io/control-plane
      effect: NoSchedule
    nodeSelector:
      node-role.kubernetes.io/control-plane: ""

  storageClass:
    vgpattern: ""
    default: false

  analytics:
    enabled: false

  prometheus:
    enabled: false

k8up:
  enabled: false

  replicaCount: 1
  k8up:
    enableLeaderElection: false

  metrics:
    serviceMonitor:
      enabled: true

  resources:
    requests:
      memory: 32Mi
      cpu: 20m
    limits:
      memory: 256Mi
      #cpu: 400m

  tolerations:
  - key: node-role.kubernetes.io/control-plane
    effect: NoSchedule
  nodeSelector:
    node-role.kubernetes.io/control-plane: ""

gemini:
  enabled: false
  # verbosity: 1

  #image:
  #  tag: build_500

  resources:
    requests:
      memory: 32Mi
      cpu: 20m
    limits:
      memory: 128Mi
      cpu: 400m

aws-ebs-csi-driver:
  enabled: false

  controller:
    replicaCount: 1

    loggingFormat: json

    defaultFsType: xfs

    nodeSelector:
      node-role.kubernetes.io/control-plane: ""
    tolerations:
    - key: node-role.kubernetes.io/control-plane
      effect: NoSchedule

    # k8sTagClusterId: <CLUSTER_NAME>
    # region: <AWS_DEFAULT_REGION>

    # Enable once we have a customer needing it
    # so far the default storageclass does just fine and we rather have different classes
    volumeModificationFeature:
      enabled: false

    #env:
    #  ebsPlugin:
      #- name: AWS_ROLE_ARN
      #  value: "<ebs-csi-driver IAM ROLE ARN>"
      #- name: AWS_WEB_IDENTITY_TOKEN_FILE
      #  value: "/var/run/secrets/sts.amazonaws.com/serviceaccount/token"
      #- name: AWS_STS_REGIONAL_ENDPOINTS
      #  value: regional

    volumeMounts:
      - name: aws-token
        mountPath: "/var/run/secrets/sts.amazonaws.com/serviceaccount/"
        readOnly: true
    volumes:
      - name: aws-token
        projected:
          sources:
          - serviceAccountToken:
              path: token
              expirationSeconds: 86400
              audience: "sts.amazonaws.com"

    resources:
      requests:
        cpu: 10m
        memory: 24Mi
      limits:
        # cpu: 50m
        memory: 40Mi

  node:
    loggingFormat: json
    tolerateAllTaints: false
    priorityClassName: system-node-critical

    # We have /var on additional volume: root + ENI + /var = 3
    reservedVolumeAttachments: 3

    tolerations:
    - key: kubezero-workergroup
      effect: NoSchedule
      operator: Exists
    - key: nvidia.com/gpu
      effect: NoSchedule
      operator: Exists
    - key: aws.amazon.com/neuron
      effect: NoSchedule
      operator: Exists

    resources:
      requests:
        cpu: 10m
        memory: 16Mi
      limits:
        # cpu: 50m
        memory: 32Mi

  storageClasses:
  - name: ebs-sc-gp2-xfs
    volumeBindingMode: WaitForFirstConsumer
    allowVolumeExpansion: true
    parameters:
      csi.storage.k8s.io/fstype: xfs
      type: gp2
      encrypted: "true"
  - name: ebs-sc-gp3-xfs
    annotations:
      storageclass.kubernetes.io/is-default-class: "true"
    volumeBindingMode: WaitForFirstConsumer
    allowVolumeExpansion: true
    parameters:
      csi.storage.k8s.io/fstype: xfs
      type: gp3
      encrypted: "true"

  helmTester:
    enabled: false

aws-efs-csi-driver:
  enabled: false

  replicaCount: 1

  image:
    tag: "v2.0.9"

  controller:
    create: true
    logLevel: 2

    tolerations:
    - key: node-role.kubernetes.io/control-plane
      effect: NoSchedule
    nodeSelector:
      node-role.kubernetes.io/control-plane: ""

    regionalStsEndpoints: true

    volumeMounts:
      - name: aws-token
        mountPath: /var/run/secrets/sts.amazonaws.com/serviceaccount/
    volumes:
      - name: aws-token
        projected:
          sources:
          - serviceAccountToken:
              path: token
              expirationSeconds: 86400
              audience: "sts.amazonaws.com"

    #env:
    #- name: AWS_ROLE_ARN
    #  value: "<aws-efs-csi-driver IAM ROLE ARN>"
    #- name: AWS_WEB_IDENTITY_TOKEN_FILE
    #  value: "/var/run/secrets/sts.amazonaws.com/serviceaccount/token"

  node:
    logLevel: 2

    volMetricsOptIn: true

    resources:
      requests:
        cpu: 20m
        memory: 96Mi
      limits:
        memory: 256Mi

    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: node.kubernetes.io/csi.efs.fs
              operator: Exists
    tolerations:
    - key: kubezero-workergroup
      effect: NoSchedule
      operator: Exists
    - key: nvidia.com/gpu
      effect: NoSchedule
      operator: Exists
    - key: aws.amazon.com/neuron
      effect: NoSchedule
      operator: Exists

  #storageClasses:
  #- name: efs-sc
  #  parameters:
  #    provisioningMode: efs-ap
  #    directoryPerms: "700"
  #    fileSystemId: <efs-id-from-worker-cfn>

  #PersistentVolumes:
  #  - name: example-pv
  #    mountOptions:
  #    - tls
  #    volumeHandle: "<efs-id>:/path"
  #    claimRef:
  #      name: foo-pvc
  #      namespace: foo
  #
  #  - name: example-pv2
  #    volumeHandle: "<efs-id>:/path2"