#
# IMPORTANT NOTE
#
# This chart inherits from our common library chart. You can check the default values/options here:
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
#

controller:
  # -- Number of pods to load balance between
  replicas: 1

initContainers:
# -- Configures an initContainer that copies the configmap to the AdGuardHome conf directory
# It does NOT overwrite when the file already exists.
# @default -- See values.yaml
  copy-configmap:
    image: busybox
    imagePullPolicy: IfNotPresent
    command:
    - "sh"
    - "-c"
    - |
      if [ ! -f /opt/adguardhome/conf/AdGuardHome.yaml ]; then
        mkdir -p /opt/adguardhome/conf
        cp /tmp/AdGuardHome.yaml /opt/adguardhome/conf/AdGuardHome.yaml
      fi
    volumeMounts:
    - name: adguard-home-config
      mountPath: /tmp/AdGuardHome.yaml
      subPath: AdGuardHome.yaml
    - name: config
      mountPath: /opt/adguardhome/conf
    securityContext:
      runAsUser: 0

image:
  # -- image repository
  repository: adguard/adguardhome
  # @default -- chart.appVersion
  tag:
  # -- image pull policy
  pullPolicy: IfNotPresent

# -- environment variables.
# @default -- See below
env:
  # -- Set the container timezone
  TZ: UTC

# -- arguments passed to the adguard-home command line.
args:
- "--config"
- "/opt/adguardhome/conf/AdGuardHome.yaml"
- "--work-dir"
- "/opt/adguardhome/work"
- "--no-check-update"

# -- Configures service settings for the chart.
# @default -- See values.yaml
service:
  main:
    primary: true
    ports:
      http:
        port: 3000
  dns-tcp:
    enabled: true
    type: NodePort
    ports:
      dns-tcp:
        enabled: true
        port: 53
        protocol: TCP
        targetPort: 53
    externalTrafficPolicy: Local
  dns-udp:
    enabled: true
    type: NodePort
    ports:
      dns-udp:
        enabled: true
        port: 53
        protocol: UDP
        targetPort: 53
    externalTrafficPolicy: Local

# -- Configure persistence settings for the chart under this key.
# @default -- See values.yaml
persistence:
  config:
    enabled: true
    mountPath: /opt/adguardhome/conf
  data:
    enabled: false
    mountPath: /opt/adguardhome/work

# config -- AdGuard Home configuration. For a full list of options see https://github.com/AdguardTeam/AdGuardHome/wiki/Configuration.
# @default -- See values.yaml
config: |
  bind_host: 0.0.0.0
  bind_port: 3000
  beta_bind_port: 0
  users: []
  auth_attempts: 5
  block_auth_min: 15
  http_proxy: ""
  language: ""
  debug_pprof: false
  web_session_ttl: 720
  dns:
    bind_hosts:
    - 0.0.0.0
    port: 53
    statistics_interval: 1
    querylog_enabled: true
    querylog_file_enabled: true
    querylog_interval: 2160h
    querylog_size_memory: 1000
    anonymize_client_ip: false
    protection_enabled: true
    blocking_mode: default
    blocking_ipv4: ""
    blocking_ipv6: ""
    blocked_response_ttl: 10
    parental_block_host: family-block.dns.adguard.com
    safebrowsing_block_host: standard-block.dns.adguard.com
    ratelimit: 20
    ratelimit_whitelist: []
    refuse_any: true
    upstream_dns:
    - https://dns10.quad9.net/dns-query
    upstream_dns_file: ""
    bootstrap_dns:
    - 9.9.9.10
    - 149.112.112.10
    - 2620:fe::10
    - 2620:fe::fe:10
    all_servers: false
    fastest_addr: false
    fastest_timeout: 1s
    allowed_clients: []
    disallowed_clients: []
    blocked_hosts:
    - version.bind
    - id.server
    - hostname.bind
    trusted_proxies:
    - 127.0.0.0/8
    - ::1/128
    cache_size: 4194304
    cache_ttl_min: 0
    cache_ttl_max: 0
    cache_optimistic: false
    bogus_nxdomain: []
    aaaa_disabled: false
    enable_dnssec: false
    edns_client_subnet: false
    max_goroutines: 300
    ipset: []
    filtering_enabled: true
    filters_update_interval: 24
    parental_enabled: false
    safesearch_enabled: false
    safebrowsing_enabled: false
    safebrowsing_cache_size: 1048576
    safesearch_cache_size: 1048576
    parental_cache_size: 1048576
    cache_time: 30
    rewrites: []
    blocked_services: []
    upstream_timeout: 10s
    private_networks: []
    use_private_ptr_resolvers: true
    local_ptr_upstreams: []
  tls:
    enabled: false
    server_name: ""
    force_https: false
    port_https: 443
    port_dns_over_tls: 853
    port_dns_over_quic: 853
    port_dnscrypt: 0
    dnscrypt_config_file: ""
    allow_unencrypted_doh: false
    strict_sni_check: false
    certificate_chain: ""
    private_key: ""
    certificate_path: ""
    private_key_path: ""
  filters:
  - enabled: true
    url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
    name: AdGuard DNS filter
    id: 1
  - enabled: false
    url: https://adaway.org/hosts.txt
    name: AdAway Default Blocklist
    id: 2
  whitelist_filters: []
  user_rules: []
  dhcp:
    enabled: false
    interface_name: ""
    local_domain_name: lan
    dhcpv4:
      gateway_ip: ""
      subnet_mask: ""
      range_start: ""
      range_end: ""
      lease_duration: 86400
      icmp_timeout_msec: 1000
      options: []
    dhcpv6:
      range_start: ""
      lease_duration: 86400
      ra_slaac_only: false
      ra_allow_slaac: false
  clients:
    runtime_sources:
      whois: true
      arp: true
      rdns: true
      dhcp: true
      hosts: true
    persistent: []
  log_compress: false
  log_localtime: false
  log_max_backups: 0
  log_max_size: 100
  log_max_age: 3
  log_file: ""
  verbose: false
  os:
    group: ""
    user: ""
    rlimit_nofile: 0
  schema_version: 14
