Skip to main content
Version: 1.29.7

Custom Dex Branding in SD Auth Module

SD Auth Module can be configured to use Dex as Identity Provider.

Dex comes with its own frontend, which is composed of files that are bundled within their own container image.

As such, one way to customize the fronted is to create a volume that overwrites specific files with our custom ones using a custom patch.

As an example, here is a step-by-step guide to change the default logo:

  1. Create a SD cluster configuration file with one of the supported providers.

  2. Create a dex-patch.yaml file with this content:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: dex
    namespace: kube-system
    spec:
    template:
    spec:
    containers:
    - name: dex
    volumeMounts:
    - name: dex-custom-logo
    mountPath: /app/web/themes/dark/logo.png
    subPath: logo.png
    - name: dex-custom-logo
    mountPath: /app/web/themes/light/logo.png
    subPath: logo.png
    volumes:
    - name: dex-custom-logo
    configMap:
    name: dex-custom-logo
  3. Insert in your furyctl.yaml configuration file the following section:

    spec:
    ...
    distribution:
    ...
    customPatches:
    patchesStrategicMerge:
    - /path/to/dex-patch.yaml

    configMapGenerator:
    - name: dex-custom-logo
    namespace: kube-system
    files:
    - "/path/to/custom/logo.png"
    options:
    disableNameSuffixHash: true
    ...
  4. Apply the configuration:

    furyctl apply

Basically we create a new ConfigMap with our logo, then mount it inside Dex's container and replace the default logo.

Done! Now Dex will show your custom logo.

You can see the default content of the /app/web folder in Dex's GitHub repository