# yaml-language-server: $schema=./values.schema.json
image:
  repository: ghcr.io/jordanlambrecht/calendarr
  pullPolicy: IfNotPresent
  tag: latest@sha256:2f84db911f98cfeb4d4ba2abab172a1a3ad5230dc3e9408117c18f34892e96e5

securityContext:
  container:
    readOnlyRootFilesystem: false
    runAsNonRoot: false
    runAsUser: 0
    runAsGroup: 0

service:
  main:
    enabled: false
    ports:
      main:
        enabled: false

calendarr:
  events:
    # Remove duplicate events from multiple sources
    deduplicate: true
    # DISPLAY, HIDE, or STRIKE
    passedHandling: STRIKE
  logs:
    name: "calendarr.log"
    backupCount: 15
    # maxSize in MB
    maxSize: 1
  discord:
    enabled: false
    webhookUrl: ""
    hideMentionInstructions: false
    # Discord only Role ID to mention
    discordMentionRoleId: ""
  slack:
    enabled: false
    webhookUrl: ""
  custom:
    header: "TV Guide - Shows and Movies airing this week"
    discord:
      footer: false
    slack:
      footer: false
  schedule:
    # Run every Monday at 9 AM
    # Custom CRON expression (Overrides SCHEDULE_TYPE, SCHEDULE_DAY, RUN_TIME) (Optional)
    cron: 0 9 * * 1
    # WEEKLY or DAILY
    type: WEEKLY
    # 0=Sun, 1=Mon, ..., 6=Sat (Only used if SCHEDULE_TYPE is WEEKLY and CRON_SCHEDULE is not set)
    day: 1
    showDateRange: true
    startWeekOnMonday: true
    runOnStartup: true
    # AUTO, DAY, or WEEK
    calendarRange: AUTO
    addLeadingZero: true
    # Time in HH:MM format (24-hour)
    runTime: "09:30"
    displayTime: true
    militaryTime: true
    showTimeZone: true
  http:
    timeout: 30
  # List of calendar URLs to fetch events from
  urls:
    # type must be "tv" or "movie"
    - url: ""
      type: tv

workload:
  main:
    podSpec:
      containers:
        main:
          probes:
            liveness:
              enabled: false
            readiness:
              enabled: false
            startup:
              enabled: false
          env:
            DEBUG: false
            LOG_DIR: "{{ .Values.persistence.logs.mountPath }}"
            LOG_FILE: "{{ .Values.calendarr.logs.name }}"
            LOG_BACKUP_COUNT: "{{ .Values.calendarr.logs.backupCount }}"
            LOG_MAX_SIZE_MB: "{{ .Values.calendarr.logs.maxSize }}"
            CALENDAR_URLS: "{{- $.Values.calendarr.urls | toJson | nindent 2 }}"
            # discord
            USE_DISCORD: "{{ .Values.calendarr.discord.enabled }}"
            DISCORD_WEBHOOK_URL: "{{ .Values.calendarr.discord.webhookUrl }}"
            DISCORD_HIDE_MENTION_INSTRUCTIONS: "{{ .Values.calendarr.discord.hideMentionInstructions }}"
            # Discord only Hide the instruction text below the role mention
            DISCORD_MENTION_ROLE_ID: "{{ .Values.calendarr.discord.discordMentionRoleId }}"
            # slack
            USE_SLACK: "{{ .Values.calendarr.slack.enabled }}"
            SLACK_WEBHOOK_URL: "{{ .Values.calendarr.slack.webhookUrl }}"
            CUSTOM_HEADER: "{{ .Values.calendarr.custom.header }}"
            ENABLE_CUSTOM_DISCORD_FOOTER: "{{ .Values.calendarr.custom.discord.footer }}"
            ENABLE_CUSTOM_SLACK_FOOTER: "{{ .Values.calendarr.custom.slack.footer }}"
            SHOW_DATE_RANGE: "{{ .Values.calendarr.schedule.showDateRange }}"
            START_WEEK_ON_MONDAY: "{{ .Values.calendarr.schedule.startWeekOnMonday }}"
            RUN_ON_STARTUP: "{{ .Values.calendarr.schedule.runOnStartup }}"
            CRON_SCHEDULE: "{{ .Values.calendarr.schedule.cron }}"

            ADD_LEADING_ZERO: "{{ .Values.calendarr.schedule.addLeadingZero }}"
            CALENDAR_RANGE: "{{ .Values.calendarr.schedule.calendarRange }}"
            DEDUPLICATE_EVENTS: "{{ .Values.calendarr.events.deduplicate }}"
            DISPLAY_TIME: "{{ .Values.calendarr.schedule.displayTime }}"
            HTTP_TIMEOUT: "{{ .Values.calendarr.http.timeout }}"
            PASSED_EVENT_HANDLING: "{{ .Values.calendarr.events.passedHandling }}"
            RUN_TIME: "{{ .Values.calendarr.schedule.runTime }}"
            SCHEDULE_DAY: "{{ .Values.calendarr.schedule.day }}"
            SCHEDULE_TYPE: "{{ .Values.calendarr.schedule.type }}"
            SHOW_TIMEZONE_IN_SUBHEADER: "{{ .Values.calendarr.schedule.showTimeZone }}"
            USE_24_HOUR: "{{ .Values.calendarr.schedule.militaryTime }}"

persistence:
  logs:
    enabled: true
    type: emptyDir
    mountPath: /app/logs
    medium: ""
  # Mount custom footers directory (required if ENABLE_CUSTOM_*_FOOTER is true)
  footers:
    enabled: false
    mountPath: /app/custom_footers
