Skip to content

Use this page to understand shared configuration fields that can apply across Ripple Custody components. The example shows one possible arrangement of common settings; your image pull behavior, security context, probes, and resource policy depend on your deployment.

This page applies to on-premise deployments only. For current defaults and the full supported schema, use the configuration packaged with your release.

What this config controls

The common section defines shared defaults such as image pull secrets, security context, health probes, ingress annotations, and shared environment variable sources. Other shared settings, such as logging and resource request behavior, are configured under harmonize.

Configuration fields

Image pull settings

Location: common

ParameterTypeDefaultDescription
imagePullSecretsarray[]List of Kubernetes secrets for pulling images.
image.pullPolicystringAlwaysImage pull policy. Possible values: Always, IfNotPresent, Never.

Image pull policy behavior:

PolicyBehavior
AlwaysAlways pulls the image, even if a local copy exists.
IfNotPresentUses the local image if available and pulls only when missing.
NeverNever pulls images. Images must already be available on the node.

Security context

Location: common.securityContext and common.podSecurityContext

Container security context:

ParameterTypeDefaultDescription
runAsNonRootbooleantrueRequire containers to run as a non-root user.
runAsUserinteger1001User ID to run the container as.
runAsGroupinteger1001Group ID to run the container as.
readOnlyRootFilesystembooleantrueMount root filesystem as read-only.

Pod security context:

ParameterTypeDefaultDescription
fsGroupinteger1001Group ID for volume file system ownership.
fsGroupChangePolicystringOnRootMismatchWhen Kubernetes changes file system group ownership.

Health probes

Location: common.probes

Probe typeParameterDefaultDescription
LivenessinitialDelaySeconds150Seconds before the first liveness probe.
LivenesstimeoutSeconds60Probe timeout.
LivenessfailureThreshold10Failures before restart.
StartupinitialDelaySeconds120Seconds before the first startup probe.
StartupfailureThreshold30Failures before marking startup unhealthy.
ReadinessinitialDelaySeconds120Seconds before the first readiness probe.
ReadinesstimeoutSeconds60Probe timeout.
ReadinessfailureThreshold10Failures before marking unready.

Ingress settings

Location: common.ingress.main

ParameterTypeDefaultDescription
annotationsobject{}Additional ingress annotations.
labelsobject{}Additional ingress labels.
ingressClassNamestringnilIngress class name, such as nginx.

Environment configuration

Location: common.envFrom

Use envFrom to inject shared environment variables into components from Kubernetes ConfigMaps or Secrets.

ParameterTypeDefaultDescription
enableServiceLinksbooleanfalseEnable Kubernetes service environment variables.

Setting enableServiceLinks: false reduces the number of automatically injected service environment variables.

Logging configuration

Location: harmonize.logging

ParameterTypeDefaultDescription
logLevelstringinfoDefault log level for components. Possible values: trace, debug, info, warning, error, fatal.

Supported log levels:

LevelDescription
traceMost verbose; includes detailed diagnostic information.
debugDebugging information.
infoGeneral operational information.
warningWarning conditions that may require attention.
errorError conditions that affect functionality.
fatalCritical errors that cause component failure.

Resource request behavior

Location: harmonize.resources

ParameterTypeDefaultDescription
set_requests_with_limit_values.cpubooleanfalseSet CPU requests equal to CPU limits.
set_requests_with_limit_values.memorybooleanfalseSet memory requests equal to memory limits.

Behavior:

  • When set to false, resource requests use smaller values, allowing more flexible scheduling.
  • When set to true, resource requests are set equal to limits, which increases reserved resources for the pod.

Component selection

Location: harmonize.included_components

ParameterTypeDefaultDescription
included_componentsarray[]List of components to install. An empty list means all components.

Selective installation requires understanding component dependencies. Consult your Ripple Customer Platform Engineer if you are unsure which components your deployment requires.

Example

This example shows common shared settings in one deployment values file:

common:
  imagePullSecrets:
    - name: registry-secret
  image:
    pullPolicy: IfNotPresent

  securityContext:
    runAsNonRoot: true
    runAsUser: 1001
    runAsGroup: 1001
    readOnlyRootFilesystem: true

  podSecurityContext:
    fsGroup: 1001
    fsGroupChangePolicy: OnRootMismatch

  probes:
    liveness:
      initialDelaySeconds: 150
      timeoutSeconds: 60
      failureThreshold: 10
    startup:
      initialDelaySeconds: 120
      failureThreshold: 30
    readiness:
      initialDelaySeconds: 120
      timeoutSeconds: 60
      failureThreshold: 10

  ingress:
    main:
      annotations:
        kubernetes.io/ingress.class: nginx
      ingressClassName: nginx

harmonize:
  logging:
    logLevel: info
  resources:
    set_requests_with_limit_values:
      cpu: false
      memory: false
  included_components: []