# ============================================================================
# EXAMPLE: Kubernetes Installation with NGINX Ingress
# ============================================================================
# This is an example configuration to install Seawise Dashboard on a
# vanilla Kubernetes cluster with NGINX Ingress Controller

image:
  repository: shwcloud/seawise-backup
  tag: "v1.7.1"
  pullPolicy: IfNotPresent

app:
  # Namespace where Velero is installed
  veleroNamespace: "velero"

  # Timezone - adjust according to your location
  timezone: "UTC"

  # IMPORTANT: Generate a secure secret key for production!
  # openssl rand -hex 32
  secretKey: ""

persistence:
  enabled: true
  # Leave empty to use default storage class
  storageClassName: ""
  size: 1Gi

ingress:
  enabled: true
  className: "nginx"
  annotations:
    # Force HTTPS redirect
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    # Body size limit (for uploads)
    nginx.ingress.kubernetes.io/proxy-body-size: "10m"
    # Timeouts
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "600"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
    # Uncomment if using cert-manager:
    # cert-manager.io/cluster-issuer: "letsencrypt-prod"
  hosts:
    - host: seawise.example.com  # CHANGE: Use your domain or IP with sslip.io
      paths:
        - path: /
          pathType: Prefix
  # Uncomment to enable TLS:
  # tls:
  #   - secretName: seawise-tls
  #     hosts:
  #       - seawise.example.com

# Required for Kubernetes: ensures PVC is writable by non-root container
podSecurityContext:
  runAsNonRoot: true
  runAsUser: 1000
  fsGroup: 1000

securityContext:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL
  readOnlyRootFilesystem: false
  runAsNonRoot: true
  runAsUser: 1000

resources:
  requests:
    cpu: 250m
    memory: 256Mi
  limits:
    cpu: 500m
    memory: 512Mi

# Example: Run on specific nodes
# nodeSelector:
#   workload: management

# Example: Tolerate specific taints
# tolerations:
#   - key: "workload"
#     operator: "Equal"
#     value: "management"
#     effect: "NoSchedule"
