# yaml-language-server: $schema=./values.schema.json
image:
  repository: docker.io/vikunja/vikunja
  tag: 2.2.2@sha256:a96c20c0997bae4a445bf717002328524c5449c2b64391032c671ff4e1d8b2fa
  pullPolicy: IfNotPresent
workload:
  main:
    podSpec:
      containers:
        main:
          probes:
            liveness:
              type: http
              port: 10220
              path: /health
            readiness:
              type: http
              port: 10220
              path: /health
            startup:
              type: http
              port: 10220
              path: /health
vikunja:
  service:
    publicurl: http://localhost/
    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
      providers: {}
      # Example configuration for multiple OpenID providers:
      # providers:
      #   provider-id1:
      #     name: "Provider 1"
      #     authurl: "https://auth.example.com"  # Used for OIDC Discovery, usually the issuer
      #     logouturl: ""  # Optional
      #     clientid: "vikunja-client-id"
      #     clientsecret: "vikunja-client-secret"
      #     scope: "openid profile email"
      #     usernamefallback: false
      #     emailfallback: false
      #     forceuserinfo: false  # Optional: Set to true to always use UserInfo endpoint instead of ID token claims
      #     requireavailability: false
      #   provider-id2:
      #     name: "Provider 2"
      #     authurl: "https://auth2.example.com"
      #     clientid: "vikunja-client-id-2"
      #     clientsecret: "vikunja-client-secret-2"
      #     scope: "openid profile email"
      #     forceuserinfo: false
  migration:
    todoist:
      enable: false
      clientid: ""
      clientsecret: ""
      redirecturl: ""
    trello:
      enable: false
      key: ""
      redirecturl: ""
    microsofttodo:
      enable: false
      clientid: ""
      clientsecret: ""
      redirecturl: ""
service:
  main:
    ports:
      main:
        port: 10220
persistence:
  files:
    enabled: true
    mountPath: /app/vikunja/files
  vikunja-config:
    enabled: true
    type: secret
    objectName: config
    targetSelector:
      main:
        main:
          subPath: config.yaml
          mountPath: /etc/vikunja/config.yaml
metrics:
  main:
    enabled: true
    type: "servicemonitor"
    prometheusRule:
      enabled: false
cnpg:
  main:
    enabled: true
    user: vikunja
    database: vikunja
redis:
  enabled: true

securityContext:
  container:
    readOnlyRootFilesystem: false
    runAsNonRoot: false
    runAsUser: 0
    runAsGroup: 0
    capabilities:
      add:
        - NET_BIND_SERVICE
updated: true
