# yaml-language-server: $schema=values.schema.json
# Default library values
nameOverride: ''
fullnameOverride: ''

#
# Secrets to create
#
secrets: []
  # # inline value
  # - name: 'apiKey'
  #   value: 'e71e2f1da39e4918ba0a9c5355166268'
  #   # ref: 'my-existing-secret' # existing secret

#
# Application Config
# Here you can define configuration to be used and mounted as a ConfigMap
#
application:
  # Main application web UI port
  port:
  # base path of application
  urlBase: ''
  # ConfigMap for core application settings
  config:
    # # Filename of configuration
    # - filename: 'config.xml'
    #   # Configuration file contents
    #   contents: |
    #     <Config>
    #       <Port>7878</Port>
    #       <UrlBase>dashboard</UrlBase>
    #       <ApiKey>$apiKey</ApiKey>
    #     </Config>
    #   # Secrets to inject. In the config they must be defined as $secretname
    #   secrets: [ 'apiKey' ]
    #   # Path to mount the file to in the application
    #   mountPath: '/config/config.xml'

#
# Resource - DEPLOYMENT
# This is to set up and define the application deployment
#
deployment:
  strategy: {}
  podAnnotations: {}
  podLabels: {}

  podSecurityContext: {}
    # fsGroup: 2000

  container:
    image:
      repository: 'nginx'
      tag: ''
      pullPolicy: 'IfNotPresent'

    # This also sets up a corresponding service
    ports:
      - name: 'http'
        containerPort: # By default uses application.port
        servicePort: # By default uses application.port
        protocol: 'TCP'

    livenessProbe:
      # httpGet:
      #   path: '/'
      #   port: 'http'
      # initialDelaySeconds: 30

    readinessProbe:
      # httpGet:
      #   path: '/'
      #   port: 'http'
      # initialDelaySeconds: 15

    resources:
      # requests:
      #   memory: "64Mi"
      #   cpu: "250m"
      # limits:
      #   memory: "128Mi"
      #   cpu: "500m"

    securityContext: {}
      # capabilities:
      #   drop:
      #   - ALL
      # readOnlyRootFilesystem: true
      # runAsNonRoot: true
      # runAsUser: 1000

    # Additional volumeMounts on the output Deployment definition.
    volumeMounts: []
      # - name: 'foo'
      #   mountPath: "/etc/foo"
      #   readOnly: true
      #

  # Any custom sidecar containers to run in a deployment
  #   for example, running a vpn container such as qdm12/gluetun for network traffic
  sideCarContainers: []

  initContainers: []
    # - name: 'init-myservice'
    #   image: 'busybox'
    #   command: ['sh', '-c', 'echo Hello from the init container!']
    #   volumeMounts:
    #     - name: 'init-volume'
    #       mountPath: '/data'

  volumes: {}
    # config:
    #   persistentVolumeClaim:
    #     claimName: 'app-config'
    # downloads:
    #   emptyDir: {}

  nodeSelector: {}

  tolerations: []

  affinity: {}

  runtimeClassName:

persistentVolumeClaims: {}
  # app-config:
  #   name: 'my-config-pvc' # optional, uses key name by default
  #   volumeName: 'existing-pv-name' # optional, binds this claim to a specific PV
  #   accessMode: 'ReadWriteOnce'
  #   requestStorage: '1Gi'
  #   storageClassName: 'manual'
  #   selector: {}

serviceAccount:
  # Specifies whether a service account should be created
  create: false
  # Automatically mount a ServiceAccount's API credentials?
  automount: true
  # Annotations to add to the service account
  annotations: {}
  # The name of the service account to use.
  # If not set and create is true, a name is generated using the fullname template
  name: 'default'
  # imagePullSecrets for private repositories.
  imagePullSecrets: {}

service:
  type: 'ClusterIP'
  # externalTrafficPolicy: 'Local' # optional, only valid for NodePort/LoadBalancer services
  annotations: {}
    # example-annotation: "something"
  ports:
    - port: # by default uses application.port
      targetPort: 'http'
      protocol: 'TCP'
      name: 'http'

ingress:
  enabled: false
  className: ''
  annotations: {}
    # kubernetes.io/ingress.class: nginx
    # kubernetes.io/tls-acme: "true"
  host: 'media-servarr.local'
  path: # defaults to application.urlBase
  pathType: 'Prefix'
  port: # defaults to application.port
  tls: []
  #  - secretName: chart-example-tls
  #    hosts:
  #      - chart-example.local

# For radarr, sonarr, readarr, lidarr
metrics:
  enabled: false
  # # Optional: point Exportarr at a different Secret/key instead of the chart secret `apiKey`.
  # apiref:
  #   secret: 'my-existing-secret'
  #   keyname: 'apiKey'
  app: # Application to set up metrics for
  name: 'exportarr'
  image:
    repository: 'ghcr.io/onedr0p/exportarr'
    tag: 'v1.6.1'
    pullPolicy: 'IfNotPresent'
  env:
  port:
    name: 'monitoring'
  resources:
    requests:
      cpu: '100m'
      memory: '64Mi'
    limits:
      cpu: '500m'
      memory: '256Mi'
  serviceMonitor:
    interval: '4m'
    scrapeTimeout: '90s'
    path: '/metrics'
