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
| Value | Description | Default |
|---|---|---|
frontend.enabled | Enables the Frontend service. | true |
frontend.asPod | Runs Frontend as a standalone Deployment instead of a container in the Artifactory StatefulSet. | true |
jfbus.enabled | Enables JFBus as a standalone Deployment. | true |
jfmelt.enabled | Enables JFmelt as a standalone Deployment. Requires jfbus.enabled: true and jfconnect.enabled: true; Pro only. | true |
keysPassedViaSystemyaml | Skips 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: falsePer-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.
| Parameter | Description |
|---|---|
router.customVolumes, frontend.customVolumes, observability.customVolumes | YAML list of volumes added to the pod spec for pods containing that sidecar |
router.customVolumeMounts, frontend.customVolumeMounts, observability.customVolumeMounts | YAML list of volume mounts applied only to that container |
router.extraEnvironmentVariables, frontend.extraEnvironmentVariables, observability.extraEnvironmentVariables | List 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>"meansrouter.customVolumeMountswas set without a matching volume. Add the corresponding volume underrouter.customVolumesusing the same volume name, then re-runhelm upgrade.
Related Topics
Updated 9 days ago
