Api Gateway 0.6.5 Helm Readme
Helm Charts that deploy API Gateway
Values
| Key | Type | Default | Description | 
|---|---|---|---|
| affinity | object | 
 | The pod’s scheduling constraints. See the Kubernetes documentation on Affinity and Anti-affinity. | 
| autoscaling.enabled | bool | 
 | Enables the creation of a HorizontalPodAutoscaler. | 
| autoscaling.maxReplicas | int | 
 | Upper limit for the number of replicas to which the autoscaler can scale up. Cannot be less that minReplicas. | 
| autoscaling.minReplicas | int | 
 | Lower limit for the number of replicas to which the autoscaler can scale down. | 
| autoscaling.targetCPUUtilizationPercentage | int | 
 | Percentage of CPU utilization that the autoscaler will try to meet. | 
| autoscaling.targetMemoryUtilizationPercentage | int | 
 | Percentage of memory utilization that the autoscaler will try to meet. | 
| config | object | 
 | Configuration passed to the container.
Contents get injected to a ConfigMap, which gets mounted as an
 | 
| debug | object | 
 | Debug Configuration passed to the container. Enable a remote port in the deployment.yaml | 
| env | list | 
 | Environment variables to define for the container. See the Kubernetes documentation on Environment Variables. | 
| existingSecretName | string | 
 | The name of an existing Kubernetes
Secret. The key in the Secret must be  | 
| extraContainers | string | 
 | Additional sidecar containers, e. g. for a database proxy, such as Google’s cloudsql-proxy | 
| extraInitContainers | string | 
 | Additional init containers, e. g. for configuring java-security | 
| extraVolumeMounts | string | 
 | Add additional volumes mounts, e. g. for java-security | 
| extraVolumes | string | 
 | Add additional volumes, e. g. for java-security | 
| fullnameOverride | string | 
 | Override the fully qualified app name generated by the chart. | 
| global.clusterDomain | string | 
 | The domain of the Kubernetes cluster. The vast majority of Kubernetes clusters use the default value. | 
| global.imagePullSecrets | list | 
 | Globally override the list of ImagePullSecrets provided. | 
| global.imageRegistry | string | 
 | Globally override the registry to pull images from. | 
| hostAliases | list | 
 | Optional list of hosts and IPs that will be injected into the pod’s hosts file. | 
| image.pullPolicy | string | 
 | One of  | 
| image.registry | string | 
 | Registry to pull the image from. | 
| image.repository | string | 
 | Name of the image being deployed. | 
| image.tag | string | 
 | Override the image tag whose default is the
chart  | 
| imagePullSecrets | list | 
 | List of ImagePullSecrets to apply to the service account. If the service account is disabled, it will be applied to the pod instead. | 
| ingress.annotations | object | 
 | Annotations to add to the Ingress resource. | 
| ingress.className | string | 
 | The name of the IngressClass cluster resource. The associated IngressClass defines which controller will implement the resource. | 
| ingress.enabled | bool | 
 | Enable creation of the Ingress resource to expose this service. | 
| ingress.hosts[0].host | string | 
 | The fully qualified domain name of a network host. | 
| ingress.hosts[0].paths[0].path | string | 
 | Matched against the path of an incoming request. | 
| ingress.hosts[0].paths[0].pathType | string | 
 | Determines the interpretation of the Path
matching. Can be one of the following values:  | 
| ingress.tls | list | 
 | TLS configuration for this Ingress. | 
| livenessProbe.failureThreshold | int | 
 | Minimum consecutive failures for the probe to be considered failed after having succeeded. A failed livenessProbe will cause the container to be restarted. | 
| livenessProbe.initialDelaySeconds | int | 
 | Number of seconds after the container has started before liveness probes are initiated. | 
| livenessProbe.periodSeconds | int | 
 | How often (in seconds) to perform the probe. | 
| livenessProbe.successThreshold | int | 
 | Minimum consecutive successes for the probe to be considered successful after having failed. | 
| livenessProbe.timeoutSeconds | int | 
 | Number of seconds after which the probe times out. | 
| logbackConfig | multi-line | 
 | String that is put into a configmap,
mounted in the pod and used as the logback config for the application.
If present, configuration under  | 
| logging | object | 
 | Logging configuration object used when the logbackConfig is not set. Allows for configuring pattern and per package log levels. | 
| logging.loggers | object | 
 | Log level per package (when logbackConfig is not defined) | 
| logging.loggers.”io.axual.gateway” | string | 
 | Log level for api-gateway root (when logbackConfig is not defined) | 
| logging.pattern | string | 
 | Log pattern (when logbackConfig is not defined) | 
| logging.rootLoglevel | string | 
 | Root log level used (when logbackConfig is not defined) | 
| nameOverride | string | 
 | Override the app name generated by the chart. | 
| nodeSelector | object | 
 | Selector which must match a node’s labels for the pod to be scheduled on that node. | 
| podAnnotations | object | 
 | Extra annotations to add to the Pods. | 
| podDisruptionBudget.enabled | bool | 
 | Enables creation of the PodDisruptionBudget. Ignored if replicaCount is 1. | 
| podDisruptionBudget.maxUnavailable | int | 
 | An eviction is allowed if at most “maxUnavailable” pods are unavailable after eviction. Mutually exclusive with minAvailable. | 
| podSecurityContext | object | 
 | Pod-level security attributes and common container settings. | 
| priorityClass | string | 
 | Assigns a PriorityClass to the Pod. See Kubernetes documentation on Pod Priority and Preemption. | 
| prometheusRule.defaultRule.labels | object | 
 | Customize the labels to the default prometheusRule | 
| prometheusRule.enabled | bool | 
 | Enables creation of Prometheus
Operator
PrometheusRule.
Ignored if API  | 
| prometheusRule.extraRules | list | 
 | A list alerting or recording rules to include on top of the defaults. These fields are templated. | 
| prometheusRule.interval | string | 
 | Determines how often rules in the group are evaluated. | 
| prometheusRule.labels | object | 
 | Additional labels for the PrometheusRule | 
| readinessProbe.failureThreshold | int | 
 | Minimum consecutive failures
for the probe to be considered failed after having succeeded. A failed
readinessProbe will cause the container to move to the  | 
| readinessProbe.initialDelaySeconds | int | 
 | Number of seconds after the container has started before readiness probes are initiated. | 
| readinessProbe.periodSeconds | int | 
 | How often (in seconds) to perform the probe. | 
| readinessProbe.successThreshold | int | 
 | Minimum consecutive successes for the probe to be considered successful after having failed. | 
| readinessProbe.timeoutSeconds | int | 
 | Number of seconds after which the probe times out. | 
| replicaCount | int | 
 | Number of pods to deploy. | 
| resources | object | 
 | The resource requirements for this container. | 
| route.annotations | object | 
 | Annotations to add to the Route. | 
| route.enabled | bool | 
 | Enable creation of an OpenShift Route resource to expose this service. | 
| route.host | string | 
 | An alias/DNS that points to the service. Optional. If not specified, a route name will typically be automatically chosen. | 
| route.labels | object | 
 | Labels to add to the route. | 
| route.path | string | 
 | Path that the router watches for, to route traffic for to the service. | 
| route.subdomain | string | 
 | Subdomain is a DNS subdomain requested within the ingress controller’s domain (as a subdomain). If host is set this field is ignored. | 
| route.tls.caCertificate | string | 
 | The Certificate Authority certificate contents. | 
| route.tls.certificate | string | 
 | Certificate contents. This should be a single serving certificate, not a certificate chain. Do not include a CA certificate. | 
| route.tls.destinationCACertificate | string | 
 | The CA certificate of the final destination. When using reencrypt termination, this file should be provided in order to have routers use it for health checks on the secure connection. | 
| route.tls.key | string | 
 | Key file contents. | 
| route.tls.termination | string | 
 | Indicates termination
type. One of:  | 
| secrets | object | 
 | Secrets passed to the container. Contents
get injected to a Secret, which gets mounted as an
 | 
| securityContext | object | See  | Defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. | 
| service.port | int | 
 | The port that will be exposed by the service. Note: this is independent of the ports opened on the container. | 
| service.type | string | 
 | Determines how the Service is exposed. | 
| serviceAccount.annotations | object | 
 | Annotations to add to the service account | 
| serviceAccount.create | bool | 
 | Specifies whether a service account should be created | 
| serviceAccount.name | string | 
 | The name of the service account to use. If not set and create is true, a name is generated using the fullname template. | 
| serviceMonitor.enabled | bool | 
 | Enables creation of Prometheus
Operator
ServiceMonitor.
Ignored if API  | 
| serviceMonitor.interval | string | 
 | Interval at which metrics should be scraped. | 
| serviceMonitor.labels | object | 
 | Additional labels for the ServiceMonitor | 
| serviceMonitor.scrapeTimeout | string | 
 | Timeout after which the scrape is ended. | 
| tolerations | list | 
 | The tolerations on this pod. See the Kubernetes documentation on Taints and Tolerations. | 
| topologySpreadConstraints | list | 
 | Describes how a group of pods ought to spread across topology domains. See the Kubernetes documentation on Pod Topology Spread Constraints. | 
Autogenerated from chart metadata using helm-docs v1.14.2
Reference Helm VALUES.YAML for Api Gateway
# Default values for api-gateway.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
global:
  # -- The domain of the Kubernetes cluster. The vast majority of Kubernetes clusters use the default value.
  clusterDomain: "cluster.local"
  # -- Globally override the registry to pull images from.
  imageRegistry: ""
  # -- Globally override the list of ImagePullSecrets provided.
  imagePullSecrets: []
# -- Override the app name generated by the chart.
nameOverride: ""
# -- Override the fully qualified app name generated by the chart.
fullnameOverride: ""
# -- Number of pods to deploy.
replicaCount: 1
image:
  # -- Registry to pull the image from.
  registry: "registry.axual.io"
  # -- Name of the image being deployed.
  repository: "axual/api-gateway"
  # -- Override the image tag whose default is the chart `appVersion`.
  tag: ""
  # -- One of `Always`, `IfNotPresent`, or `Never`.
  pullPolicy: "IfNotPresent"
# -- Environment variables to define for the container.
# See the Kubernetes documentation on [Environment Variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/).
env: []
# -- Debug Configuration passed to the container.
# Enable a remote port in the deployment.yaml
debug: {}
# -- Configuration passed to the container.
# Contents get injected to a ConfigMap, which gets mounted as an `application.yml` file.
config: {}
# -- (multi-line) String that is put into a configmap, mounted in the pod and used as the logback config for the application. If present, configuration under `logging` is ignored.
logbackConfig: ""
# -- Logging configuration object used when the logbackConfig is not set. Allows for configuring pattern and per package log levels.
logging:
  # -- Log pattern (when logbackConfig is not defined)
  pattern: "%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX, UTC} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%15.15t] [traceid=%X{traceid}, spanid=%X{spanid}] %-40.40logger{39} : %m%n}"
  # -- Root log level used (when logbackConfig is not defined)
  rootLoglevel: INFO
  # -- Log level per package (when logbackConfig is not defined)
  loggers:
    # -- Log level for api-gateway root (when logbackConfig is not defined)
    io.axual.gateway: INFO
# -- Secrets passed to the container.
# Contents get injected to a Secret, which gets mounted as a `secrets.yml` file.
secrets: {}
# -- The name of an existing Kubernetes Secret. The key in the Secret must be `secrets.yml`.
# The contents get mounted into the container.
existingSecretName: ""
# -- List of ImagePullSecrets to apply to the service account. If the service account is disabled, it will be applied to the pod instead.
imagePullSecrets: []
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: ""
# -- Extra annotations to add to the Pods.
podAnnotations: {}
# -- Pod-level security attributes and common container settings.
podSecurityContext: {}
#   fsGroup: 2000
livenessProbe:
  # -- Minimum consecutive failures for the probe to be considered failed after having succeeded.
  # A failed livenessProbe will cause the container to be restarted.
  failureThreshold: 3
  # -- Number of seconds after the container has started before liveness probes are initiated.
  initialDelaySeconds: 10
  # -- How often (in seconds) to perform the probe.
  periodSeconds: 10
  # -- Minimum consecutive successes for the probe to be considered successful after having failed.
  successThreshold: 1
  # -- Number of seconds after which the probe times out.
  timeoutSeconds: 1
readinessProbe:
  # -- Minimum consecutive failures for the probe to be considered failed after having succeeded.
  # A failed readinessProbe will cause the container to move to the `NotReady` state.
  failureThreshold: 3
  # -- Number of seconds after the container has started before readiness probes are initiated.
  initialDelaySeconds: 0
  # -- How often (in seconds) to perform the probe.
  periodSeconds: 10
  # -- Minimum consecutive successes for the probe to be considered successful after having failed.
  successThreshold: 1
  # -- Number of seconds after which the probe times out.
  timeoutSeconds: 1
# -- Defines the security options the container should be run with.
# If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.
# @default -- See `values.yaml` file.
securityContext: {}
# -- Additional init containers, e. g. for configuring java-security
extraInitContainers: ""
# -- Add additional volumes, e. g. for java-security
extraVolumes: ""
# -- Add additional volumes mounts, e. g. for java-security
extraVolumeMounts: ""
# -- Additional sidecar containers, e. g. for a database proxy, such as Google's cloudsql-proxy
extraContainers: ""
service:
  # -- Determines how the Service is exposed.
  type: ClusterIP
  # -- The port that will be exposed by the service.
  # Note: this is independent of the ports opened on the container.
  port: 80
ingress:
  # -- Enable creation of the Ingress resource to expose this service.
  enabled: false
  # -- The name of the IngressClass cluster resource.
  # The associated IngressClass defines which controller will implement the resource.
  className: ""
  # -- Annotations to add to the Ingress resource.
  annotations:
    nginx.ingress.kubernetes.io/proxy-buffer-size: "128k"
  hosts:
    - # -- The fully qualified domain name of a network host.
      host: "chart-example.local"
      paths:
        - # -- Matched against the path of an incoming request.
          path: "/api"
          # -- Determines the interpretation of the Path matching.
          # Can be one of the following values: `Exact`, `Prefix`, `ImplementationSpecific`.
          pathType: "ImplementationSpecific"
  # -- TLS configuration for this Ingress.
  tls: []
  #  - secretName: chart-example-tls
  #    hosts:
  #      - chart-example.local
route:
  # -- Enable creation of an OpenShift Route resource to expose this service.
  enabled: false
  # -- Annotations to add to the Route.
  annotations: {}
  # -- Labels to add to the route.
  labels: {}
  # -- An alias/DNS that points to the service. Optional. If not specified, a route name will typically be automatically chosen.
  host: ""
  # -- Subdomain is a DNS subdomain requested within the ingress controller’s domain (as a subdomain). If host is set this field is ignored.
  subdomain: ""
  # -- Path that the router watches for, to route traffic for to the service.
  path: "/api"
  tls:
    # -- The Certificate Authority certificate contents.
    caCertificate: ""
    # -- Certificate contents. This should be a single serving certificate, not a certificate chain. Do not include a CA certificate.
    certificate: ""
    # -- Key file contents.
    key: ""
    # -- Indicates termination type. One of: `edge`, `passthrough`, or `reencrypt`.
    termination: "passthrough"
    # -- The CA certificate of the final destination.
    # When using reencrypt termination, this file should be provided
    # in order to have routers use it for health checks on the secure connection.
    destinationCACertificate: ""
# -- The [resource requirements](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for this container.
resources:
  requests:
    cpu: 50m
    memory: 512Mi
  limits:
    memory: 512Mi
autoscaling:
  # -- Enables the creation of a HorizontalPodAutoscaler.
  enabled: false
  # -- Lower limit for the number of replicas to which the autoscaler can scale down.
  minReplicas: 1
  # -- Upper limit for the number of replicas to which the autoscaler can scale up. Cannot be less that minReplicas.
  maxReplicas: 10
  # -- Percentage of CPU utilization that the autoscaler will try to meet.
  targetCPUUtilizationPercentage: 80
  # -- (int) Percentage of memory utilization that the autoscaler will try to meet.
  targetMemoryUtilizationPercentage: 80
podDisruptionBudget:
  # -- Enables creation of the PodDisruptionBudget. Ignored if replicaCount is 1.
  enabled: true
  # -- (int) An eviction is allowed if at most "maxUnavailable" pods are unavailable after eviction. Mutually exclusive with minAvailable.
  maxUnavailable: 1
  # -- (int) An eviction is allowed if at least "minAvailable" pods will still be available after the eviction. Mutually exclusive with maxUnavailable.
#  minAvailable: 1
# -- Assigns a PriorityClass to the Pod. See Kubernetes documentation on [Pod Priority and Preemption](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/).
priorityClass: ""
# -- Optional list of hosts and IPs that will be injected into the pod's hosts file.
hostAliases: []
# -- Selector which must match a node's labels for the pod to be scheduled on that node.
nodeSelector: {}
# -- The tolerations on this pod. See the Kubernetes documentation on [Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/).
tolerations: []
# -- The pod's scheduling constraints. See the Kubernetes documentation on [Affinity and Anti-affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity).
affinity: {}
# -- Describes how a group of pods ought to spread across topology domains. See the Kubernetes documentation on [Pod Topology Spread Constraints](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/).
topologySpreadConstraints: []
serviceMonitor:
  # -- Enables creation of Prometheus Operator [ServiceMonitor](https://prometheus-operator.dev/docs/operator/api/#monitoring.coreos.com/v1.ServiceMonitor).
  # Ignored if API `monitoring.coreos.com/v1` is not available.
  enabled: true
  # -- Interval at which metrics should be scraped.
  interval: 30s
  # -- Timeout after which the scrape is ended.
  scrapeTimeout: 10s
  # -- Additional labels for the ServiceMonitor
  labels: {}
prometheusRule:
  # -- Enables creation of Prometheus Operator [PrometheusRule](https://prometheus-operator.dev/docs/operator/api/#monitoring.coreos.com/v1.PrometheusRule).
  # Ignored if API `monitoring.coreos.com/v1` is not available.
  enabled: true
  # -- Determines how often rules in the group are evaluated.
  interval: ""
  # -- Additional labels for the PrometheusRule
  labels: {}
  defaultRule:
    # -- Customize the labels to the default prometheusRule
    labels:
      severity: medium
      target: business
  # -- A list alerting or recording rules to include on top of the defaults. These fields are templated.
  extraRules:
    []
    # - alert: MyAlertName
    #   annotations:
    #     summary: Summary of my alert
    #     description: Longer description of my alert that goes into a bit more detail
    #   expr: up{service="{{ include "api-gateway.fullname" . }}"} == 0
    #   for: 5m
    #   labels:
    #     severity: medium
    #     target: business