# Global settings
global:
  registry: 552185537300.dkr.ecr.us-west-2.amazonaws.com
  region: us-west-2
  logicalRegion: us-west-2
  env: dev
  awsResourceTags: {}

# Ops Server container configuration
opsServer:
  image:
    repository: observability-ops-server
    tag: "9b6e87212"
    pullPolicy: IfNotPresent

  # Application configuration
  config:
    port: 8180
    metricsPort: 8181
    logLevel: info
    vendor: aws
    clientMode: true
    enableLeaderElection: true
    selfMonitorEndpoint: "http://prometheus-operated.self-monitoring:9090"

  # Resource requests and limits
  resources:
    requests:
      cpu: 100m
      memory: 128Mi
    limits:
      cpu: 500m
      memory: 512Mi

# FluxCD Source Controller configuration
sourceController:
  image:
    repository: fluxcd/source-controller
    tag: "v1.7.4"
    pullPolicy: IfNotPresent

  # Controller configuration
  config:
    logLevel: info
    watchAllNamespaces: true
    httpPort: 9090
    metricsPort: 8080
    healthPort: 9440

  # Resource requests and limits
  resources:
    requests:
      cpu: 100m
      memory: 128Mi
    limits:
      cpu: 1000m
      memory: 1Gi

# FluxCD Helm Controller configuration
helmController:
  image:
    repository: fluxcd/helm-controller
    tag: "v1.5.4"
    pullPolicy: IfNotPresent

  # Controller configuration
  config:
    logLevel: info
    watchAllNamespaces: true
    metricsPort: 8280
    healthPort: 9441

  # Resource requests and limits
  resources:
    requests:
      cpu: 100m
      memory: 128Mi
    limits:
      cpu: 500m
      memory: 512Mi

# Service configuration
service:
  type: ClusterIP
  port: 8180
  metricsPort: 8181
  annotations: {}

# Ingress configuration
ingress:
  enabled: true
  className: alb
  annotations: {}
  hosts: []
  tls: []

# ServiceAccount configuration (IRSA)
serviceAccount:
  create: true
  name: ops-server
  annotations: {}
  automountServiceAccountToken: true

# RBAC configuration
rbac:
  create: true

# Pod configuration
podAnnotations: {}
podSecurityContext:
  fsGroup: 65534
  runAsNonRoot: true
  runAsUser: 65534

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

# Node selection
nodeSelector: {}
tolerations: []
affinity: {}

# Flux configuration
flux:
  # Namespace for flux resources
  namespace: ops-system
  interval: 1h

  # Default intervals
  intervals:
    source: 1m
    helmRelease: 5m

  # Log levels for controllers
  logLevel: info

  repo:
    registry: "552185537300.dkr.ecr.us-west-2.amazonaws.com"
    provider: aws
