apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ include "krawl.fullname" . }}-config
  labels:
    {{- include "krawl.labels" . | nindent 4 }}
data:
  config.yaml: |
    # Krawl Honeypot Configuration
    server:
      port: {{ .Values.config.server.port }}
      delay: {{ .Values.config.server.delay }}
    links:
      min_length: {{ .Values.config.links.min_length }}
      max_length: {{ .Values.config.links.max_length }}
      min_per_page: {{ .Values.config.links.min_per_page }}
      max_per_page: {{ .Values.config.links.max_per_page }}
      char_space: {{ .Values.config.links.char_space | quote }}
      max_counter: {{ .Values.config.links.max_counter }}
    canary:
      token_url: {{ .Values.config.canary.token_url | toYaml }}
      token_tries: {{ .Values.config.canary.token_tries }}
    dashboard:
      secret_path: {{ .Values.config.dashboard.secret_path | toYaml }}
    backups:
      path: {{ .Values.config.backups.path | quote }}
      cron: {{ .Values.config.backups.cron | quote }}
      enabled: {{ .Values.config.backups.enabled | quote }}
    exports:
      path: {{ .Values.config.exports.path | quote }}
    database:
      path: {{ .Values.config.database.path | quote }}
      retention_days: {{ .Values.config.database.retention_days }}
    behavior:
      probability_error_codes: {{ .Values.config.behavior.probability_error_codes }}
    analyzer:
      http_risky_methods_threshold: {{ .Values.config.analyzer.http_risky_methods_threshold }}
      violated_robots_threshold: {{ .Values.config.analyzer.violated_robots_threshold }}
      uneven_request_timing_threshold: {{ .Values.config.analyzer.uneven_request_timing_threshold }}
      uneven_request_timing_time_window_seconds: {{ .Values.config.analyzer.uneven_request_timing_time_window_seconds }}
      user_agents_used_threshold: {{ .Values.config.analyzer.user_agents_used_threshold }}
      attack_urls_threshold: {{ .Values.config.analyzer.attack_urls_threshold }}
    crawl:
      infinite_pages_for_malicious: {{ .Values.config.crawl.infinite_pages_for_malicious }}
      max_pages_limit: {{ .Values.config.crawl.max_pages_limit }}
      ban_duration_seconds: {{ .Values.config.crawl.ban_duration_seconds }}
