Configure Frontend, JFBus, and JFmelt Deployments

Configure or disable the standalone Frontend, JFBus, and JFmelt Kubernetes Deployments, and add per-service custom volumes, mounts, and environment variables.

Frontend, JFBus, and JFmelt run as standalone Kubernetes Deployments by default (see Service Pod Architecture Changes). This topic covers the Helm values that control these deployments and how to attach custom volumes, mounts, and environment variables to their router and observability sidecar containers.

Helm Values

ValueDescriptionDefault
frontend.enabledEnables the Frontend service.true
frontend.asPodRuns Frontend as a standalone Deployment instead of a container in the Artifactory StatefulSet.true
jfbus.enabledEnables JFBus as a standalone Deployment.true
jfmelt.enabledEnables JFmelt as a standalone Deployment. Requires jfbus.enabled: true and jfconnect.enabled: true; Pro only.true
keysPassedViaSystemyamlSkips the chart's mandatory Join Key/Master Key validation when keys are already set via extraSystemYaml, systemYaml, or systemYamlOverride.false

To disable any of these services — restoring Frontend to the Artifactory StatefulSet pod, or turning JFBus/JFmelt off (both have always been standalone Deployments; this only changes whether they run):

frontend:
  asPod: false

jfbus:
  enabled: false

jfmelt:
  enabled: false

Per-Service Custom Volumes, Mounts, and Environment Variables

The router and observability containers run as sidecars in the Frontend, JFBus, and JFmelt deployments, in addition to the Artifactory StatefulSet pod. Each pod needs its own volumes defined — artifactory.customVolumes/customVolumeMounts only add volumes to the Artifactory StatefulSet, not to these standalone deployments.

ParameterDescription
router.customVolumes, frontend.customVolumes, observability.customVolumesYAML list of volumes added to the pod spec for pods containing that sidecar
router.customVolumeMounts, frontend.customVolumeMounts, observability.customVolumeMountsYAML list of volume mounts applied only to that container
router.extraEnvironmentVariables, frontend.extraEnvironmentVariables, observability.extraEnvironmentVariablesList of environment variables injected into that container

Router Sidecar Example

router:
  customVolumes: |
    - name: custom-script
      configMap:
        name: router-script

  customVolumeMounts: |
    - name: custom-script
      mountPath: /scripts/script.sh
      subPath: script.sh

  extraEnvironmentVariables:
    - name: MY_ENV_VAR
      value: ""

Alternatively, define both global.customVolumeMounts and global.customVolumes so every pod — including Frontend, JFBus, and JFmelt — gets the mount and its volume together.

📘

Volume Not Found Error

Deployment.apps is invalid: spec.template.spec.containers[N].volumeMounts[M].name: Not found: "<name>" means router.customVolumeMounts was set without a matching volume. Add the corresponding volume under router.customVolumes using the same volume name, then re-run helm upgrade.

Related Topics


Did this page help you?