global:
  registry: docker.io
  repository: freeleaps
  nodeSelector: {}
dashboard:
  enabled: true
  name: freeleaps-prod-content-dashboard
  title: Content Service Dashboard (PROD)
  metricsPrefix: freeleaps_content
logIngest:
  enabled: true
  lokiEndpoint: http://loki-gateway.freeleaps-logging-system
  logPathPattern: /app/log/content/*.log
  logPath: /app/log/content
content:
  replicas: 1
  image:
    registry: docker.io
    repository: null
    name: content
    tag: snapshot-561bf20
    imagePullPolicy: IfNotPresent
  ports:
  - name: http
    containerPort: 8013
    protocol: TCP
  resources:
    requests:
      cpu: 200m
      memory: 64Mi
    limits:
      cpu: 300m
      memory: 512Mi
  probes:
    readiness:
      type: httpGet
      config:
        path: /api/_/readyz
        port: 8013
        initialDelaySeconds: 5
        periodSeconds: 30
        timeoutSeconds: 3
        successThreshold: 1
        failureThreshold: 3
    liveness:
      type: httpGet
      config:
        path: /api/_/livez
        port: 8013
        initialDelaySeconds: 5
        periodSeconds: 15
        timeoutSeconds: 3
        successThreshold: 1
        failureThreshold: 3
        terminationGracePeriodSeconds: 30
  services:
  - name: content-service
    type: ClusterIP
    port: 8013
    targetPort: 8013
    serviceMonitor:
      enabled: true
      labels:
        release: kube-prometheus-stack
      namespace: freeleaps-monitoring-system
      internal: 30s
      scrapeTimeout: ''
  ingresses: {}
  configs:
    tz: UTC
    appName: content
    appEnv: prod
    serviceApiAccessHost: 0.0.0.0
    serviceApiAccessPort: 8013
    mongodbName: freeleaps2
    mongodbPort: 27017
    centralStorageWebapiUrlBase: http://central-storage-service.freeleaps-prod.svc.freeleaps.cluster:8005/api/central_storage
    metricsEnabled: 'true'
    probesEnabled: 'true'
  secrets:
    secretStoreRef:
      kind: FreeleapsSecretStore
      name: freeleaps-main-secret-store
    target:
      name: freeleaps-content-prod-secrets
      creationPolicy: Owner
    refreshInterval: 30s
    data:
    - key: mongodbUri
      remoteRef:
        key: freeleaps-prod-mongodb-uri
        type: Secret
    - key: freeleapsWwwAsAzureClientSecret
      remoteRef:
        key: freeleaps-prod-www-as-azure-client-secret
        type: Secret
  vpa:
    minAllowed:
      enabled: true
      cpu: 100m
      memory: 64Mi
    maxAllowed:
      enabled: true
      cpu: 200m
      memory: 128Mi
    controlledResources:
    - cpu
    - memory
prometheusRule:
  name: freepeals-prod-content
  enabled: true
  namespace: freeleaps-monitoring-system
  labels:
    release: kube-prometheus-stack
  rules:
  - alert: FreeleapsContentServiceDown
    expr: up{job="content-service"} == 0
    for: 1m
    labels:
      severity: critical
      service: content-service
    annotations:
      summary: Freeleaps Content service is down (instance {{ $labels.instance }})
      description: Freeleaps Content service has been down for more than 1 minutes.
      runbook_url: https://netorgft10898514.sharepoint.com/:w:/s/FreeleapsEngineeringTeam/EUlvzumTsPxCpPAzI3gm9OIB0DCLTjQzzYVL6VsHYZFjxg?e=0dxVr7
  - alert: FreeleapsContentServiceHighErrorRate
    expr: rate(http_requests_total{job="content-service",status=~"5.."}[5m]) > 0.1
    for: 5m
    labels:
      severity: warning
      service: content-service
    annotations:
      summary: High error rate in freeleaps content service (instance {{ $labels.instance }})
      description: Freeleaps Content service error rate is {{ $value }} errors per second.
      runbook_url: https://netorgft10898514.sharepoint.com/:w:/s/FreeleapsEngineeringTeam/EUlvzumTsPxCpPAzI3gm9OIB0DCLTjQzzYVL6VsHYZFjxg?e=0dxVr7
