Advanced usage

Some edge use-cases might not have been included in the previous installation documentation, for clarity purposes. You may find some of them below.

Running behind a Docker registry proxy

If your installation environment requires you to whitelist images that can be pulled by the Kubernetes cluster, you must whitelist the registry.evertrust.io/horizon and registry.evertrust.io/horizon-upgrade images.

Leases

To ensure clustering issues get resolved as fast as possible, Horizon can use a CRD (Custom Resource Definition) named Lease (akka.io/v1/leases). We strongly recommend that you use this mechanism, however it implies that you have the necessary permissions to install CRDs onto your server. In case you don’t, the feature can be disabled by passing the --skip-crds flag to the Helm command when installing the chart, and setting the leases.enabled key to false. If you want to manually install the CRD, you can check the crds/leases.yml file.

Injecting extra configuration

Extra Horizon configuration can be injected to the bundled application.conf file to modify low-level behavior of Horizon. This should be used carefully as it may cause things to break. To do so, just mount a folder in the Horizon container at /opt/horizon/etc/ containing an application.conf file.

This can be done with the following edits to your values.yaml file:

extraVolumes:
  - name: additional-config
    configMap:
      name: additional-config

extraVolumeMounts:
  - name: additional-config
    mountPath: /opt/horizon/etc

Where the additional-config configmap contains a single key with your custom configuration:

apiVersion: v1
kind: ConfigMap
data:
  application.conf: |-
    play.server.http.port = 9999

Extra configurations are included at the end of the config file, overriding any previously set config value.