image:
  repository: tccr.io/truecharts/vikunja-api
  tag: 0.20.2@sha256:408c9e649901a27bf7f9b6f009de0e90e6c898413b1bc95f49c5ee9051f82dc0
  pullPolicy: IfNotPresent

frontendImage:
  repository: tccr.io/truecharts/vikunja-frontend
  tag: 0.20.3@sha256:f8b46f3e31991656d2a774f48118a2affa9a9df8454ab41bac8f318d17cde6c9
  pullPolicy: IfNotPresent

nginxImage:
  repository: tccr.io/truecharts/nginx
  tag: 1.23.3@sha256:0d92357c536291f04dad45f9af95dbdad46fb7a6e940f981a3a332f9d5279665

securityContext:
  readOnlyRootFilesystem: false
  runAsNonRoot: false

podSecurityContext:
  runAsUser: 0
  runAsGroup: 0

configmap:
  nginx-config:
    enabled: true
    data:
      nginx-config: |
        server {
          listen {{ .Values.service.main.ports.main.port }};
          location / {
              proxy_pass http://localhost:80;
          }
          location ~* ^/(api|dav|\.well-known)/ {
              proxy_pass http://localhost:3456;
              client_max_body_size {{ .Values.vikunja.files.maxsize | upper | trimSuffix "B" }};
          }
        }

vikunja:
  service:
    jwtttl: 259200
    jwtttllong: 2592000
    motd: Welcome to your new Vikunja instance
    frontendurl: http://localhost:10220
    maxitemsperpage: 50
    enablecaldav: true
    enablelinksharing: true
    enableregistration: true
    enabletaskattachments: true
    enabletaskcomments: true
    enabletotp: true
    enableemailreminders: true
    enableuserdeletion: true
    maxavatarsize: 1024
  cors:
    enabled: true
    origins: []
    maxage: 0
  ratelimit:
    enabled: false
    kind: user
    period: 60
    limit: 100
  files:
    maxsize: 20MB
  avatar:
    gravatarexpiration: 3600
  legal:
    imprinturl: ""
    privacyurl: ""
  mailer:
    enabled: false
    host: ""
    port: 587
    authtype: plain
    username: ""
    password: ""
    fromemail: ""
    skiptlsverify: false
    forcessl: true
    queuelength: 100
    queuetimeout: 30
  log:
    enabled: true
    path: /app/vikunja/logs
    standard: stdout
    level: INFO
    database: "off"
    databaselevel: WARNING
    http: stdout
    echo: "off"
    events: stdout
    eventslevel: info
  defaultsettings:
    avatar_provider: initials
    avatar_file_id: 0
    email_reminders_enabled: false
    discoverable_by_name: false
    discoverable_by_email: false
    overdue_tasks_reminders_enabled: true
    overdue_tasks_reminders_time: "9:00"
    default_list_id: 0
    week_start: 0
    language: ""
    timezone: ""
  backgrounds:
    enabled: true
    providers:
      upload:
        enabled: true
      unsplash:
        enabled: false
        accesstoken: ""
        applicationid: ""
  auth:
    local:
      enabled: true
    openid:
      enabled: false
      redirecturl: ""
      providers:
        []
        # - name: ""
        #   authurl: ""
        #   logouturl: ""
        #   clientid: ""
        #   clientsecret: ""
  migration:
    todoist:
      enable: false
      clientid: ""
      clientsecret: ""
      redirecturl: ""
    trello:
      enable: false
      key: ""
      redirecturl: ""
    microsofttodo:
      enable: false
      clientid: ""
      clientsecret: ""
      redirecturl: ""

service:
  main:
    ports:
      main:
        port: 10220

additionalContainers:
  frontend:
    name: frontend
    image: "{{ .Values.frontendImage.repository }}:{{ .Values.frontendImage.tag }}"
    ports:
      - containerPort: 80
        name: http
  proxy:
    name: proxy
    image: "{{ .Values.nginxImage.repository }}:{{ .Values.nginxImage.tag }}"
    ports:
      - containerPort: 8080
        name: main
    volumeMounts:
      - name: vikunja-nginx
        mountPath: /etc/nginx/conf.d/default.conf
        subPath: nginx-config
        readOnly: true

persistence:
  files:
    enabled: true
    mountPath: /app/vikunja/files
  vikunja-nginx:
    enabled: true
    noMount: true
    mountPath: /etc/nginx/conf.d/default.conf
    subPath: nginx-config
    type: configMap
    objectName: '{{ template "tc.common.names.fullname" . }}-nginx-config'
  vikunja-config:
    enabled: true
    mountPath: /etc/vikunja
    subPath: config.yml
    type: secret
    objectName: '{{ template "tc.common.names.fullname" . }}-secret'

metrics:
  # -- Enable and configure a Prometheus serviceMonitor for the chart under this key.
  # @default -- See values.yaml
  enabled: true
  serviceMonitor:
    interval: 1m
    scrapeTimeout: 30s
    labels: {}
  # -- Enable and configure Prometheus Rules for the chart under this key.
  # @default -- See values.yaml
  prometheusRule:
    enabled: false
    labels: {}
    # -- Configure additionial rules for the chart under this key.
    # @default -- See prometheusrules.yaml
    rules:
      []
      # - alert: UnifiPollerAbsent
      #   annotations:
      #     description: Unifi Poller has disappeared from Prometheus service discovery.
      #     summary: Unifi Poller is down.
      #   expr: |
      #     absent(up{job=~".*unifi-poller.*"} == 1)
      #   for: 5m
      #   labels:
      #     severity: critical

postgresql:
  enabled: true
  existingSecret: dbcreds
  postgresqlUsername: vikunja
  postgresqlDatabase: vikunja

redis:
  enabled: true
  existingSecret: rediscreds

portal:
  enabled: true
