# Default values for Nominatim geocoding service
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

# Global settings
global:
  namespace: "bakery-ia"

# Nominatim image configuration
image:
  repository: "mediagis/nominatim"
  tag: "4.4"
  pullPolicy: "IfNotPresent"

# StatefulSet configuration
replicaCount: 1

# Nominatim configuration
config:
  # Spain OSM data source
  pbfUrl: "http://download.geofabrik.de/europe/spain-latest.osm.pbf"
  # Updates replication source
  replicationUrl: "https://download.geofabrik.de/europe/spain-updates"
  # Import style (address for geocoding-focused usage)
  importStyle: "address"
  # Number of threads for indexing
  threads: "4"
  # Flatnode file path
  flatnodeFile: "/nominatim-flatnode/flatnode.bin"

# Service configuration
service:
  type: "ClusterIP"
  port: 8080
  name: "nominatim-service"

# Resource limits and requests for main service
resources:
  requests:
    cpu: "1"
    memory: "2Gi"
  limits:
    cpu: "2"
    memory: "4Gi"

# Init job resource limits (higher for initial import)
initJob:
  enabled: true
  resources:
    requests:
      cpu: "4"
      memory: "8Gi"
    limits:
      cpu: "8"
      memory: "16Gi"
  # Time to keep job after completion (86400 = 1 day)
  ttlSecondsAfterFinished: 86400

# Persistent Volume Claims
persistence:
  data:
    enabled: true
    size: "50Gi"
    accessMode: "ReadWriteOnce"
    # storageClassName: "" # Use default storage class
  flatnode:
    enabled: true
    size: "20Gi"
    accessMode: "ReadWriteOnce"
    # storageClassName: "" # Use default storage class

# Health probes configuration
probes:
  liveness:
    enabled: true
    path: "/status"
    port: 8080
    initialDelaySeconds: 120
    periodSeconds: 30
    timeoutSeconds: 10
    failureThreshold: 3
  readiness:
    enabled: true
    path: "/status"
    port: 8080
    initialDelaySeconds: 60
    periodSeconds: 10
    timeoutSeconds: 5
    failureThreshold: 5

# Additional environment variables
env: {}

# Node selector
nodeSelector: {}

# Tolerations
tolerations: []

# Affinity
affinity: {}

# Pod annotations
podAnnotations: {}

# Service annotations
serviceAnnotations: {}

# Pod security context
podSecurityContext: {}

# Container security context
securityContext: {}
