Configure Frontend Deployments

Configure the Deployments, and add per-service custom volumes, mounts, and environment variables.

Frontend runs 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
keysPassedViaSystemyamlSkips the chart's mandatory Join Key/Master Key validation when keys are already set via extraSystemYaml, systemYaml, or systemYamlOverride.false

To disable frontend as standalone deployment, set as following:

frontend:
  asPod: false

Per-Service Custom Volumes, Mounts, and Environment Variables

The router and observability containers run as sidecars in the Frontend deployment, 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 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?