################################################################################
#   Copyright (c) 2021 Nordix Foundation.                                      #
#                                                                              #
#   Licensed under the Apache License, Version 2.0 (the "License");            #
#   you may not use this file except in compliance with the License.           #
#   You may obtain a copy of the License at                                    #
#                                                                              #
#       http://www.apache.org/licenses/LICENSE-2.0                             #
#                                                                              #
#   Unless required by applicable law or agreed to in writing, software        #
#   distributed under the License is distributed on an "AS IS" BASIS,          #
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
#   See the License for the specific language governing permissions and        #
#   limitations under the License.                                             #
################################################################################

# Default values for Helm Chart.
# Declare variables to be passed into your templates.
#
# Sections:
# - Helm Manager parameters
# - Ingress Controller parameters
# - Persistent Volume parameters
# - Miscellaneous parameters

# -----------------------------------------------------------------------------
# Helm Manager parameters
# -----------------------------------------------------------------------------
# Specify Helm Manager's Docker image and repository details here
image:
  registry: nexus3.o-ran-sc.org:10004
  name: o-ran-sc/nonrtric-helm-manager
  tag: "1.0.0"
  pullPolicy: IfNotPresent
service:
  type: NodePort
  http:
    # Enable plaintext HTTP call to the API
    # Disabling this and using a TLS listen only is recommended for most configuration
    enabled: true
    servicePort: 8080
    containerPort: 8080
  tls:
    # Enable HTTPS listen for the API
    enabled: true
    servicePort: 8443
    containerPort: 8443

# -----------------------------------------------------------------------------
# Ingress Controller parameters
# -----------------------------------------------------------------------------
ingressController:
  enabled: true
  args: []
  ingressClass: kong

# -----------------------------------------------------------------------------
# Persistent Volume parameters
# -----------------------------------------------------------------------------
pv:
  enabled: true
  storageClass: helm-manager-service-standard
  capacity: 10Mi
  requestStorage: 10Mi

# -----------------------------------------------------------------------------
# Miscellaneous parameters
# -----------------------------------------------------------------------------

replicaCount: 1

# readinessProbe
readinessProbe:
  httpGet:
    path: "/helm/charts"
    port: 8080
    scheme: HTTP
  initialDelaySeconds: 60
  timeoutSeconds: 5
  periodSeconds: 10
  successThreshold: 1
  failureThreshold: 3

# livenessProbe
livenessProbe:
  httpGet:
    path: "/helm/charts"
    port: 8080
    scheme: HTTP
  initialDelaySeconds: 60
  timeoutSeconds: 5
  periodSeconds: 10
  successThreshold: 1
  failureThreshold: 3

# If you want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
resources: {}
  # limits:
  #  cpu: 100m
  #  memory: 256Mi
  # requests:
  #  cpu: 100m
  #  memory: 256Mi