# Default values for kube-plex.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
image:
  repository: harbor.ervine.dev/public/x86_64/plex
  tag: 1.19.5.3112-b23ab3896-ls113
  pullPolicy: Always

kubePlex:
  enabled: true
  image:
    repository: harbor.ervine.dev/public/x86_64/alpine/kube-plex
    tag: v2.0
    pullPolicy: Always

# Override this with the plex claim token from plex.tv/claim
claimToken: "claim-asw8g3A3AT3xDrjfmzsk"

# Set the timezone of the plex server
timezone: Asia/Hong_Kong

service:
  type: LoadBalancer
  port: 32400
  ## Specify the nodePort value for the LoadBalancer and NodePort service types.
  ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
  ##
  # nodePort:
  ## Provide any additional annotations which may be required. This can be used to
  ## set the LoadBalancer service type to internal only.
  ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
  ##
  annotations: {}
  labels: {}
  ## Use loadBalancerIP to request a specific static IP,
  ## otherwise leave blank
  ##
  loadBalancerIP: 192.168.11.17
  # loadBalancerSourceRanges: []
  ## Set the externalTrafficPolicy in the Service to either Cluster or Local
  # externalTrafficPolicy: Local

ingress:
  enabled: true
  # Used to create an Ingress record.
  hosts:
    - plex.ervine.dev
  annotations:
    kubernetes.io/ingress.class: nginx
    # kubernetes.io/tls-acme: "true"
  tls:
    # Secrets must be manually created in the namespace.
    - secretName: plex-dev-tls
      hosts:
        - plex.ervine.dev

rbac:
  create: true
  # Specify create: false and serviceAccountName to manually manage the service
  # account for this deployment
  ## serviceAccountName: ""

nodeSelector:
  beta.kubernetes.io/arch: amd64
  location: livingRoom

persistence:
  transcode:
    enabled: true
    # Optionally specify claimName to manually override the PVC to be used for
    # the transcode directory. If claimName is specified, storageClass and size
    # are ignored.
    ##claimName: "plex-kube-plex-transcode"
    # Optionally specify a storage class to be used for the transcode directory.
    # If not specified and claimName is not specified, the default storage
    # class will be used.
    storageClass: "nfs-client-hermes"
    # subPath: some-subpath
    # The requested size of the volume to be used when creating a
    # PersistentVolumeClaim.
    size: 20Gi
    # Access mode for this volume
    accessMode: ReadWriteMany
  data:
    # Optionally specify claimName to manually override the PVC to be used for
    # the data directory. If claimName is specified, storageClass and size are
    # ignored.
    ##claimName: "plex-media-pvc"
    # Optionally specify a storage class to be used for the data directory.
    # If not specified and claimName is not specified, the default storage
    # class will be used.
    storageClass: "nfs-client-hermes"
    # subPath: some-subpath
    # The requested size of the volume to be used when creating a
    # PersistentVolumeClaim.
    size: 40Gi
    # Access mode for this volume
    accessMode: ReadWriteMany
  extraData: []
    # Optionally specifify additional Data mounts.  These will be mounted as
    # /data-${name}.  This should be in the same format as the above 'data', 
    # with the additional field 'name'
    # - claimName: "special-tv"
    #   name: 'foo'

  config:
    # Optionally specify claimName to manually override the PVC to be used for
    # the config directory. If claimName is specified, storageClass and size
    # are ignored.
    ##claimName: "plex-config-pvc"
    # Optionally specify a storage class to be used for the config directory.
    # If not specified and claimName is not specified, the default storage
    # class will be used.
    # subPath: some-subpath
    storageClass: "nfs-client-hermes"
    # The requested size of the volume to be used when creating a
    # PersistentVolumeClaim.
    size: 20Gi
    # Access mode for this volume
    accessMode: ReadWriteMany

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: 100m
  #  memory: 128Mi
  # requests:
  #  cpu: 100m
  #  memory: 128Mi

podAnnotations: {}

deploymentAnnotations: {}

proxy: 
  # This allows to set a proxy environment variable, which PMS uses to fetch the token and assets like movie cover
  enable: false
  # http: "http://proxy:8080"
  # https: "https://proxy:8080"
  # noproxy: "localhost,127.0.0.1,10.96.0.0/12,10.244.0.0/12"


# allows setting which taints kubeplex tolerates
tolerations: []

# allows specifying node affinity
affinity: {}
