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

# -- Number of desired pods
replicaCount: 1

global:
  # -- a cluster DNS wildcard name
  dnsWildCard:
  # -- platform type that can be "kubernetes" or "openshift"
  platform: "kubernetes"

image:
  # -- KubeRocketCI headlamp Docker image name. The released image can be found on [Dockerhub](https://hub.docker.com/r/epamedp/edp-headlamp)
  repository: epamedp/edp-headlamp
  # -- If not defined then .Chart.AppVersion is used
  # -- KubeRocketCI headlamp Docker image tag. The released image can be found on [Dockerhub](https://hub.docker.com/r/epamedp/edp-headlamp/tags)
  tag:

# -- An optional list of references to secrets in the same namespace to use for pulling any of the images used
imagePullSecrets: []
# -- Overrides the name of the chart
nameOverride: "portal"
# -- Overrides the full name of the chart
fullnameOverride: ""

config:
  # -- base url path at which headlamp should run
  baseURL: ""
  # -- Ensure that the specified client is associated with cluster OIDC integration.
  # -- For detailed instructions, refer to: https://docs.kuberocketci.io/docs/operator-guide/auth/configure-keycloak-oidc-eks, https://docs.kuberocketci.io/docs/operator-guide/auth/ui-portal-oidc
  oidc:
    enabled: false
    # -- OIDC Issuer URL for authentication.
    # -- This URL identifies the OpenID Connect provider endpoint. Examples:
    # -- Keycloak: https://keycloak.example.com/auth/realms/<realm-name>
    # -- Microsoft Entra: https://sts.windows.net/<tenant-id>/
    issuerUrl: ""
    # -- OIDC client ID
    clientID: ""
    # -- OIDC client secret name
    clientSecretName: ""
    # -- OIDC client secret key
    clientSecretKey: ""
    # -- OIDC scopes to be used
    scopes: ""

serviceAccount:
  # -- Specifies whether a service account should be created
  create: true
  # -- Annotations to add to the service account
  annotations: {}
  # -- The name of the service account to use.(If not set and create is true, a name is generated using the fullname template)
  name: ""

livenessProbe:
  tcpSocket:
    port: 4466
  initialDelaySeconds: 5
  timeoutSeconds: 1
  periodSeconds: 20
  successThreshold: 1
  failureThreshold: 5
readinessProbe:
  tcpSocket:
    port: 4466
  initialDelaySeconds: 5
  timeoutSeconds: 1
  periodSeconds: 20
  successThreshold: 1
  failureThreshold: 5

# -- Annotations to add to the pod
podAnnotations: {}

# -- Headlamp pods' Security Context
podSecurityContext:
  {}
  # fsGroup: 2000

# -- Headlamp containers Security Context
securityContext:
  {}
  # capabilities:
  #   drop:
  #   - ALL
  # readOnlyRootFilesystem: true
  # runAsNonRoot: true
  # runAsUser: 1000

service:
  # -- Kubernetes Service type
  type: ClusterIP
  # -- Kubernetes Service port
  port: 80

ingress:
  # -- Enable external endpoint access. Default Ingress/Route host pattern: portal-{{ .Release.Namespace }}.{{ .Values.global.dnsWildCard }}
  enabled: true
  # -- Annotations for Ingress resource
  annotations:
    nginx.ingress.kubernetes.io/proxy-read-timeout: '1800'
    # kubernetes.io/ingress.class: nginx
    # kubernetes.io/tls-acme: "true"
  # -- Ingress TLS configuration
  # -- If hosts not defined the will create by pattern "portal-[namespace].[global DNS wildcard]"
  tls: []
  #  - secretName: chart-example-tls
  #    hosts:
  #      - portal-edp.example.com
  # -- Defines the base URL for the portal.
  # -- If hosts not defined the will create by pattern "portal-[namespace].[global DNS wildcard]"
  host: ""
# -- CPU/Memory resource requests/limits
resources:
  {}
  # We usually recommend not to specify default resources and to leave this as a conscious
  # choice for the user. This also increases chances charts run on environments with little
  # resources, such as Minikube. If you do want to specify resources, uncomment the following
  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  # limits:
  #   cpu: 100m
  #   memory: 128Mi
  # requests:
  #   cpu: 100m
  #   memory: 128Mi

# -- Node labels for pod assignment
nodeSelector: {}

# -- Toleration labels for pod assignment
tolerations: []

# -- Affinity settings for pod assignment
affinity: {}

# -- Additional volumes to be added to the pod
extraVolumes: []
#  - name: custom-ca
#    secret:
#      defaultMode: 420
#      secretName: custom-ca

# -- Additional volumeMounts to be added to the container
extraVolumeMounts: []
#  - name: custom-ca
#    mountPath: /etc/ssl/certs/CA.crt
#    readOnly: true
#    subPath: CA.crt
