# Default values for longhorn.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
global:
  cattle:
    systemDefaultRegistry: ""

image:
  longhorn:
    engine:
      repository: longhornio/longhorn-engine
      tag: v1.1.1
    manager:
      repository: longhornio/longhorn-manager
      tag: v1.1.1
    ui:
      repository: longhornio/longhorn-ui
      tag: v1.1.1
    instanceManager:
      repository: longhornio/longhorn-instance-manager
      tag: v1_20201216
    shareManager:
      repository: longhornio/longhorn-share-manager
      tag: v1_20201204
  csi:
    attacher:
      repository: longhornio/csi-attacher
      tag: v2.2.1-lh1
    provisioner:
      repository: longhornio/csi-provisioner
      tag: v1.6.0-lh1
    nodeDriverRegistrar:
      repository: longhornio/csi-node-driver-registrar
      tag: v1.2.0-lh1
    resizer:
      repository: longhornio/csi-resizer
      tag: v0.5.1-lh1
    snapshotter:
      repository: longhornio/csi-snapshotter
      tag: v2.1.1-lh1
  pullPolicy: IfNotPresent

service:
  ui:
    type: ClusterIP
    nodePort: null
  manager:
    type: ClusterIP
    nodePort: ""

persistence:
  defaultClass: true
  defaultClassReplicaCount: 3
  reclaimPolicy: Delete
  recurringJobs:
    enable: false
    jobList: []

csi:
  kubeletRootDir: ~
  attacherReplicaCount: ~
  provisionerReplicaCount: ~
  resizerReplicaCount: ~
  snapshotterReplicaCount: ~

defaultSettings:
  backupTarget: ~
  backupTargetCredentialSecret: ~
  allowRecurringJobWhileVolumeDetached: ~
  createDefaultDiskLabeledNodes: ~
  defaultDataPath: ~
  defaultDataLocality: ~
  replicaSoftAntiAffinity: ~
  storageOverProvisioningPercentage: ~
  storageMinimalAvailablePercentage: ~
  upgradeChecker: ~
  defaultReplicaCount: ~
  guaranteedEngineCPU: ~
  defaultLonghornStaticStorageClass: ~
  backupstorePollInterval: ~
  taintToleration: ~
  priorityClass: ~
  autoSalvage: ~
  autoDeletePodWhenVolumeDetachedUnexpectedly: ~
  disableSchedulingOnCordonedNode: ~
  replicaZoneSoftAntiAffinity: ~
  volumeAttachmentRecoveryPolicy: ~
  nodeDownPodDeletionPolicy: ~
  allowNodeDrainWithLastHealthyReplica: ~
  mkfsExt4Parameters: ~
  disableReplicaRebuild: ~
  replicaReplenishmentWaitInterval: ~
  disableRevisionCounter: ~
  systemManagedPodsImagePullPolicy: ~
  allowVolumeCreationWithDegradedAvailability: ~
  autoCleanupSystemGeneratedSnapshot: ~

privateRegistry:
  registryUrl: ~
  registryUser: ~
  registryPasswd: ~
  registrySecret: ~

resources:
  # We usually recommend not to specify default resources and to leave this as a conscious
  # choice for the user. This also increases chances charts run on environments with little
  # resources, such as Minikube. If you do want to specify resources, uncomment the following
  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  limits:
    cpu: 200m
    memory: 512Mi
  requests:
    cpu: 100m
    memory: 128Mi
ingress:
  ## Set to true to enable ingress record generation
  enabled: true
  ## Ingress annotations done as key:value pairs
  ## If you're using kube-lego, you will want to add:
  ## kubernetes.io/tls-acme: true
  ##
  ## For a full list of possible ingress annotations, please see
  ## ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/annotations.md
  ##
  ## If tls is set to true, annotation ingress.kubernetes.io/secure-backends: "true" will automatically be set
  annotations:
    kubernetes.io/ingress.class: "nginx"
    kubernetes.io/tls-acme: "true"
    cert-manager.io/cluster-issuer: "letsencrypt-prod"
    nginx.ingress.kubernetes.io/auth-url: "https://id.junv.me/oauth2/auth"
    nginx.ingress.kubernetes.io/auth-signin: "https://id.junv.me/oauth2/start?rd=https%3A%2F%2F$host$request_uri"
  path: /
  # hosts:
  #   - chart-example.local
  # tls:
  #   - hosts:
  #     - longhorn.junv.me
  #     secretName: superset-tls
  # rules:
  #   - host: longhorn.junv.me
  #     http:
  #       paths:
  #       - backend:
  #           service:
  #             name: superset
  #             port:
  #               number: 8088
  #         path: /
  #         pathType: Prefix

  host: longhorn.junv.me

  ## Set this to true in order to enable TLS on the ingress record
  ## A side effect of this will be that the backend service will be connected at port 443
  tls: true

  ## If TLS is set to true, you must declare what secret will store the key/certificate for TLS
  tlsSecret: longhorn-tls

# Configure a pod security policy in the Longhorn namespace to allow privileged pods
enablePSP: true

## Specify override namespace, specifically this is useful for using longhorn as sub-chart
## and its release namespace is not the `longhorn-system`
namespaceOverride: "longhorn"
