# Example overrides — copy to my-secrets.yaml and fill in before install.
# Never commit real credentials.
#
# MongoDB: pick ONE mode below (helm install fails if both or neither is set).

image:
  repository: gcr.io/cs-poc-sasxbttlzroculpau4u6e2l/sp-backend
  tag: "v4.3.9"
  pullSecrets:
    - name: softprobe-gcr-pull

# --- Mode A: bundled in-cluster MongoDB (pick ONE) ---
mongodb:
  bundled:
    auth:
      password: "CHANGE_ME_mongo_password"
    # AKS Azure Disk (adjust per cluster):
    # storageClass: managed-csi
    # storageSize: 250Gi
    # Optional resource overrides (defaults in values.yaml):
    # resources:
    #   requests:
    #     cpu: "6"
    #     memory: 24Gi
    #   limits:
    #     cpu: "8"
    #     memory: 28Gi
    # Dedicated mongo node pool (label nodes: workload=softprobe-mongo):
    # placement:
    #   nodeSelector:
    #     workload: softprobe-mongo
    #   tolerations:
    #     - key: workload
    #       operator: Equal
    #       value: mongo
    #       effect: NoSchedule

# --- Mode B: external MongoDB (pick ONE; use unique DB name per release on shared servers) ---
# mongodb:
#   connectionString: "mongodb://sp_user:SECRET@mongo.company.internal:27017/acme_sp_storage_db?authSource=admin"

# Encrypts targetRequest/targetResponse in MongoDB before storage (AES-256).
# Back up secretKey — lost key means old recordings cannot be replayed.
# To store payloads in plaintext: encryption.enabled: false
encryption:
  enabled: true
  secretKey: "CHANGE_ME_base64_32_byte_key"

# Optional Redis auth (leave empty for no password):
# redis:
#   password: "CHANGE_ME_redis_password"
#   placement:
#     nodeSelector:
#       workload: softprobe-backend
#     tolerations:
#       - key: workload
#         operator: Equal
#         value: backend
#         effect: NoSchedule

# Optional JVM / CPU / memory overrides (defaults match values.yaml):
# spBackend:
#   javaOpts: "-Xms12g -Xmx22g"
#   resources:
#     requests:
#       cpu: "6"
#       memory: 24Gi
#     limits:
#       cpu: "8"
#       memory: 28Gi
#   placement:
#     nodeSelector:
#       workload: softprobe-backend
#     tolerations:
#       - key: workload
#         operator: Equal
#         value: backend
#         effect: NoSchedule

# Optional external exposure:
# service:
#   type: LoadBalancer
# ingress:
#   enabled: true
#   host: sp-backend.example.com
#   className: nginx

# Unified log pipeline (enabled by default on chart v4.3.9+ — omit this block to use defaults).
# Upgrading from an older values.yaml without logPipeline? Chart defaults apply on upgrade.
# To disable only: uncomment and set logPipeline.enabled: false
# logPipeline: 
#   enabled: true
#   storage:
#     backend: local   # local (PVC) | s3 (S3-compatible bucket) | azure_blob (Azure Blob container)
#
#     # --- s3 backend ---
#     # Create the secret first (two keys: access-key-id + secret-access-key):
#     #   kubectl create secret generic softprobe-log-s3-credentials -n softprobe \
#     #     --from-literal=access-key-id='AKIA...' \
#     #     --from-literal=secret-access-key='...'
#     # s3:
#     #   bucket: sp-logs
#     #   endpoint: https://s3.amazonaws.com   # or MinIO / GCS / other S3-compatible endpoint
#     #   existingSecret: softprobe-log-s3-credentials
#
#     # --- azure_blob backend ---
#     # Create the secret first (one key: account-key = the storage account access key):
#     #   kubectl create secret generic softprobe-log-azure-credentials -n softprobe \
#     #     --from-literal=account-key='<storage account key>'
#     # azureBlob:
#     #   container: sp-logs
#     #   accountName: mystorageacct
#     #   endpoint: https://mystorageacct.blob.core.windows.net
#     #   existingSecret: softprobe-log-azure-credentials
#   parquet:
#     storageSize: 100Gi
#     # storageClass: managed-csi
#   retention:
#     ttlDays: 4          # default; set "" to disable retention CronJob
#     cleanupSchedule: "0 3 * * *"
#   compaction:
#     enabled: true
#     schedule: "15 * * * *"
#   # Usually the same node pool as spBackend (log pipeline + maintenance jobs):
#   placement:
#     nodeSelector:
#       workload: softprobe-backend
#     tolerations:
#       - key: workload
#         operator: Equal
#         value: backend
#         effect: NoSchedule
# For s3 or azure_blob backends, see document-website installation/server.md (Unified log pipeline).
