REST Proxy 1.15.0 Helm Readme

Version: 1.15.0 Type: application AppVersion: 1.15.0

Helm Charts that deploy Axual Rest Proxy

Values

Key Type Default Description

affinity

object

{}

The pod’s scheduling constraints. See the Kubernetes documentation on Affinity and Anti-affinity.

annotations

object

{}

Annotations to add to the Deployment resource.

config

object

{}

Configuration passed to the container. Contents get injected to a ConfigMap, which gets mounted as an application.yml file.

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 secrets.yml. The contents get mounted into the container.

fullnameOverride

string

""

Override the fully qualified app name generated by the chart.

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

"Always"

One of Always, IfNotPresent, or Never.

image.registry

string

"registry.axual.io"

Registry to pull the image from.

image.repository

string

"axual/rest-proxy"

Name of the image being deployed.

image.tag

string

""

Override the image tag whose default is the chart appVersion.

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

false

Enable creation of the Ingress resource to expose this service.

ingress.hosts[0].host

string

"chart-example.local"

The fully qualified domain name of a network host.

ingress.hosts[0].paths[0].path

string

"/api"

Matched against the path of an incoming request.

ingress.hosts[0].paths[0].pathType

string

"ImplementationSpecific"

Determines the interpretation of the Path matching. Can be one of the following values: Exact, Prefix, ImplementationSpecific.

ingress.tls

list

[]

TLS configuration for this Ingress.

instance

object

{}

Properties defined for instance services.

kafkaInitContainer

object

{"bootstrapServers":"","groupPattern":"","imageRegistry":"registry.axual.io","principal":"","repository":"axual/streaming/strimzi/kafka","tag":"0.43.0-kafka-3.8.0","tls":{"keypairSecretCertName":"","keypairSecretKeyName":"","keypairSecretName":"","truststoreCaSecretCertName":"","truststoreCaSecretName":""},"topicPattern":""}

Properties defined for initializing Kafka ACLs prior to running REST Proxy.

kafkaInitContainer.bootstrapServers

string

""

Kafka bootstrap servers to initialize.

kafkaInitContainer.groupPattern

string

""

Group prefix to give access to (typically {tenant}-{instance}-).

kafkaInitContainer.imageRegistry

string

"registry.axual.io"

Registry to pull the image from.

kafkaInitContainer.principal

string

""

Principal common name to give access to (should match tls.clientCertificatePem).

kafkaInitContainer.repository

string

"axual/streaming/strimzi/kafka"

Name of the image being deployed.

kafkaInitContainer.tag

string

"0.43.0-kafka-3.8.0"

Name of the image being deployed.

kafkaInitContainer.tls.keypairSecretCertName

string

""

Existing Keypair certificate name.

kafkaInitContainer.tls.keypairSecretKeyName

string

""

Existing Keypair key name.

kafkaInitContainer.tls.keypairSecretName

string

""

Existing Keypair secret name.

kafkaInitContainer.tls.truststoreCaSecretCertName

string

""

Existing Truststore certificate name.

kafkaInitContainer.tls.truststoreCaSecretName

string

""

Existing Truststore secret name.

kafkaInitContainer.topicPattern

string

""

Topic prefix to give access to (typically {tenant}-{instance}-).

keystoreProvider.imageRegistry

string

"registry.axual.io"

Registry to pull the image from.

keystoreProvider.repository

string

"axual/keystore-provider"

Name of the image being deployed.

keystoreProvider.tag

string

"0.2.9"

Name of the image being deployed.

livenessProbe

object

{"failureThreshold":3,"initialDelaySeconds":10,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}

Pod-level security attributes and common container settings. podSecurityContext: fsGroup: 2000

livenessProbe.failureThreshold

int

3

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

10

Number of seconds after the container has started before liveness probes are initiated.

livenessProbe.periodSeconds

int

10

How often (in seconds) to perform the probe.

livenessProbe.successThreshold

int

1

Minimum consecutive successes for the probe to be considered successful after having failed.

livenessProbe.timeoutSeconds

int

1

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, the configuration under logging is ignored.

logging

object

{"loggers":{"io.axual.proxy.rest":"INFO"},"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}","rootLoglevel":"INFO"}

Logging configuration object used when the logbackConfig is not set. Allows for configuring pattern and per package log levels.

logging.loggers

object

{"io.axual.proxy.rest":"INFO"}

Log level per package (when logbackConfig is not defined).

logging.loggers.”io.axual.proxy.rest”

string

"INFO"

Log level for rest-proxy root (when logbackConfig is not defined). More info per package in public docs of the project.

logging.pattern

string

"%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}"

Log pattern (when logbackConfig is not defined).

logging.rootLoglevel

string

"INFO"

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

true

Enables creation of the PodDisruptionBudget. Ignored if replicaCount is 1.

podDisruptionBudget.maxUnavailable

int

1

An eviction is allowed if at most “maxUnavailable” pods are unavailable after eviction. Mutually exclusive with minAvailable.

podDisruptionBudget.minAvailable

int

nil

An eviction is allowed if at least “minAvailable” pods still are available after the eviction. Mutually exclusive with maxUnavailable.

podLabels

object

{}

Extra labels to add to the Pods.

priorityClass

string

""

Assigns a PriorityClass to the Pod. See Kubernetes documentation on Pod Priority and Preemption.

prometheusRule.defaultRule.labels

object

{"severity":"medium","target":"business"}

Customize the labels to the default prometheusRule.

prometheusRule.enabled

bool

true

Enables creation of Prometheus Operator PrometheusRule.

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

3

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.

readinessProbe.initialDelaySeconds

int

0

Number of seconds after the container has started before readiness probes are initiated.

readinessProbe.periodSeconds

int

10

How often (in seconds) to perform the probe.

readinessProbe.successThreshold

int

1

Minimum consecutive successes for the probe to be considered successful after having failed.

readinessProbe.timeoutSeconds

int

1

Number of seconds after which the probe times out.

replicaCount

int

1

Number of pods to deploy.

resources

object

{"limits":{"memory":"768Mi"},"requests":{"cpu":"30m","memory":"200Mi"}}

The resource requirements for this container.

route.annotations

object

{}

Annotations to add to the Route.

route.enabled

bool

false

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

"/api"

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 the 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 to have routers use it for health checks on the secure connection.

route.tls.key

string

""

Key file contents.

route.tls.termination

string

"passthrough"

Indicates a termination type. One of: edge, passthrough, or reencrypt.

secrets

object

{}

Secrets passed to the container. Contents get injected to a Secret, which gets mounted as a secrets.yml file.

securityContext

object

See values.yaml file.

Defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.

service.annotations

object

{}

Annotations to add to the Service resource.

service.port

int

18111

The port that will be exposed by the service. Note: this is independent of the ports opened on the container.

service.type

string

"LoadBalancer"

Determines how the Service is exposed.

serviceAccount.annotations

object

{}

Annotations to add to the service account.

serviceAccount.create

bool

true

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.

serviceAnnotations

object

{}

DEPRECATED (use service.annotations) Annotations to add to the Service resource. Ignored if service.annotations is provided.

serviceMonitor.enabled

bool

true

Enables creation of Prometheus Operator ServiceMonitor.

serviceMonitor.interval

string

"30s"

Interval at which metrics should be scraped.

serviceMonitor.labels

object

{}

Additional labels for the ServiceMonitor.

serviceMonitor.scrapeTimeout

string

"10s"

Timeout after which the scrape is ended.

tenant

object

{}

Properties defined for bootstrapping tenant creation.

tls.caCerts

object

{}

Set of PEMs used to generate the truststore if createTruststoreCaSecret is true.

tls.clientCertificatePem

string

""

PEM used to generate the client keypair if createClientKeypairSecret is true.

tls.clientKeyPem

string

""

PEM used to generate the client keypair if createClientKeypairSecret is true.

tls.clientKeypairSecretName

string

""

Existing client Keypair secret name.

tls.createClientKeypairSecret

bool

false

Creates client keypair from PEM.

tls.createServerKeypairSecret

bool

false

Creates server keypair from PEM.

tls.createTruststoreCaSecret

bool

false

Creates truststore from PEMs.

tls.serverCertificatePem

string

""

PEM used to generate the server keypair if createServerKeypairSecret is true.

tls.serverKeyPem

string

""

PEM used to generate the server keypair if createServerKeypairSecret is true.

tls.serverKeypairSecretName

string

""

Existing server Keypair secret name.

tls.truststoreCaSecretName

string

""

Existing truststore secret name.

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 REST Proxy

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

global:
  # -- Globally override the registry to pull images from.
  imageRegistry: ""
  # -- Globally override the list of ImagePullSecrets provided.
  imagePullSecrets: []

# -- Properties defined for instance services.
instance: {}

# -- Properties defined for bootstrapping tenant creation.
tenant: {}

# -- 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

keystoreProvider:
  # -- Registry to pull the image from.
  imageRegistry: "registry.axual.io"
  # -- Name of the image being deployed.
  repository: "axual/keystore-provider"
  # -- Name of the image being deployed.
  tag: "0.2.9"

# -- Properties defined for initializing Kafka ACLs prior to running REST Proxy.
kafkaInitContainer:
  # -- Registry to pull the image from.
  imageRegistry: "registry.axual.io"
  # -- Name of the image being deployed.
  repository: "axual/streaming/strimzi/kafka"
  # -- Name of the image being deployed.
  tag: "0.43.0-kafka-3.8.0"

  # -- Kafka bootstrap servers to initialize.
  bootstrapServers: ""
  # -- Principal common name to give access to (should match tls.clientCertificatePem).
  principal: ""
  # -- Group prefix to give access to (typically {tenant}-{instance}-).
  groupPattern: ""
  # -- Topic prefix to give access to (typically {tenant}-{instance}-).
  topicPattern: ""
  tls:
    # -- Existing Keypair secret name.
    keypairSecretName: ""
    # -- Existing Keypair key name.
    keypairSecretKeyName: ""
    # -- Existing Keypair certificate name.
    keypairSecretCertName: ""
    # -- Existing Truststore secret name.
    truststoreCaSecretName: ""
    # -- Existing Truststore certificate name.
    truststoreCaSecretCertName: ""

image:
  # -- Registry to pull the image from.
  registry: "registry.axual.io"
  # -- Name of the image being deployed.
  repository: "axual/rest-proxy"
  # -- Override the image tag whose default is the chart `appVersion`.
  tag: ""
  # -- One of `Always`, `IfNotPresent`, or `Never`.
  pullPolicy: "Always"

tls:
  # -- Existing server Keypair secret name.
  serverKeypairSecretName: ""
  # -- Existing client Keypair secret name.
  clientKeypairSecretName: ""
  # -- Existing truststore secret name.
  truststoreCaSecretName: ""

  # -- Creates server keypair from PEM.
  createServerKeypairSecret: false
  # -- PEM used to generate the server keypair if `createServerKeypairSecret` is true.
  serverCertificatePem: ""
  # -- PEM used to generate the server keypair if `createServerKeypairSecret` is true.
  serverKeyPem: ""
  # -- Creates client keypair from PEM.
  createClientKeypairSecret: false
  # -- PEM used to generate the client keypair if `createClientKeypairSecret` is true.
  clientCertificatePem: ""
  # -- PEM used to generate the client keypair if `createClientKeypairSecret` is true.
  clientKeyPem: ""
  # -- Creates truststore from PEMs.
  createTruststoreCaSecret: false
  # -- Set of PEMs used to generate the truststore if `createTruststoreCaSecret` is true.
  caCerts: {}

# -- 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, the 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 rest-proxy root (when logbackConfig is not defined). More info per package in public docs of the project.
    io.axual.proxy.rest: 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: ""

# -- Annotations to add to the Deployment resource.
annotations: {}

# -- Extra annotations to add to the Pods.
podAnnotations: {}

# -- Extra labels to add to the Pods.
podLabels: {}

# -- 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:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
      - ALL
  privileged: false
  readOnlyRootFilesystem: false
  runAsNonRoot: true
  runAsUser: 1000

# -- DEPRECATED (use `service.annotations`)
# Annotations to add to the Service resource.
# Ignored if `service.annotations` is provided.
serviceAnnotations: {}

service:
  # -- Annotations to add to the Service resource.
  annotations: {}
  # -- Determines how the Service is exposed.
  type: LoadBalancer
  # -- The port that will be exposed by the service.
  # Note: this is independent of the ports opened on the container.
  port: 18111

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: {}
  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 the 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 a 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
    # 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: 30m
    memory: 200Mi
  limits:
    memory: 768Mi

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 still are available after the eviction. Mutually exclusive with maxUnavailable.
  minAvailable:

# -- 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).
  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).
  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 "rest-proxy.fullname" . }}"} == 0
    #   for: 5m
    #   labels:
    #     severity: medium
    #     target: business