What's on this page

Install LM

This section assumes you have followed the configuration steps and now have:

Installing with Helm

You can now install the various LM Helm charts in the order listed above, using the helm install command

helm install <your-helm-chart> --name <your-release-name> --namespace <your-namespace> -f <your-custom-values-file> -f <your-additional-flavour-files>

This should be done as folows:

Foundation Install

Install helm-foundation first.

For example, to install with a namespace of lm and a flavour of Basic HA:

helm install helm-foundation-2.0.3-45.tgz --name foundation --namespace lm -f custom-values.yaml -f ./flavours/ha/ha-values.yaml

Now check the status of the pods. If you have kubectl installed you can use the get pods commands:

kubectl get pods

NAME                                                    READY     STATUS      RESTARTS   AGE
foundation-cassandra-0                                  1/1       Running     0          11m
foundation-elasticsearch-client-7bf56fd98-f5th8         1/1       Running     0          11m
foundation-elasticsearch-data-0                         1/1       Running     0          11m
foundation-elasticsearch-master-0                       1/1       Running     0          11m
foundation-elasticsearch-master-1                       1/1       Running     0          10m
foundation-filebeat-xbxh2                               1/1       Running     0          11m
foundation-kafka-0                                      1/1       Running     0          11m
foundation-openldap-585489f595-4gf28                    1/1       Running     1          11m
foundation-vault-7c96bfdf6d-7nthc                       1/1       Running     0          11m
foundation-vault-init-rsh7c                             0/1       Completed   0          11m
foundation-zookeeper-0                                  1/1       Running     0          11m

Once the installation of Foundation is complete, you can proceed to the installation of lm-configurator.

LM Configurator Install

Next, install LM Configurator.

For example, to install with a namespace of lm and again using the flavour of Basic HA:

helm install lm-configurator-2.0.3-50.tgz --name lm-configurator --namespace lm -f custom-values.yaml -f ./flavours/ha/ha-values.yaml

Now check the status of the running lm-configurator job and wait for it to show as completed.

NAME                                                    READY     STATUS      RESTARTS   AGE
lm-configurator-qw5wd                                   0/1       Completed   0          10m

Once this is complete, proceeed to the installation of LM

LM Install

Finally, the LM Helm chart can be installed.

For example, to install with a namespace of lm and again using the flavour of Basic HA:

helm install lm-helm-2.0.3-208.tgz --name lm --namespace lm -f custom-values.yaml -f ./flavours/ha/ha-values.yaml

Monitor the status of the pods, waiting for the ishtar and nimrod pods to show as ready:

NAME                                                    READY     STATUS      RESTARTS   AGE
apollo-66485f5f6b-mknbw                                 1/1       Running     0          21m
conductor-0                                             1/1       Running     0          21m
daytona-844fcdd94f-zxhp7                                1/1       Running     0          21m
galileo-0                                               1/1       Running     0          21m
ishtar-659b695bbf-xxlxf                                 1/1       Running     0          21m
nimrod-5f5f5cfb44-hd7hn                                 1/1       Running     0          21m
relay-545cccc7c7-2z8qp                                  1/1       Running     0          21m
simple-rm-74dfd46cb9-wcgl6                              1/1       Running     0          11m
talledega-7c69b75c7b-dq8df                              1/1       Running     0          21m
watchtower-5f6b7f7fb7-2mb4b                             1/1       Running     0          21m

Once all pods are shown with at least one ready instance, you may continue to Accessing Services

Accessing Services

Be sure to update any ports, hostnames, usernames and passwords shown if you provided overrides in your custom values file.


To access the Ingress hosts for the UI (ui.lm) and API (app.lm) you will need to have an Ingress controller. If not disabled, the nginx-controller is ready to serve HTTP traffic at http://<your-host-ip>:32080 and HTTPs traffic at https://<your-host-ip>:32443. As Ingress uses the hostname to route traffic to the desired service, you will need to either:

Update Hostfile

Adding hostnames to your hosts file is an easy way to get started but is not suitable long term as this will need to be repeated on every machine that will access the Hub.

If you’d like to configure access to Ingress routes this way, then add the following to your hosts file:

<your-host-ip-address>      ui.lm app.lm vault.lm

You may now access the UI at https://ui.lm:32443 and Gogs at https://app.lm:32443.

Proxy with Apache2

If you have an available Apache2 server (or can install one) then it’s possible to make the Ingress hosts available through an IP address.

You will need to add the Ingress hostnames to the hosts file of the machine running Apache2, see Hostfile.

Create a site config file:

touch /etc/apache2/sites-available/lm.conf

Add the following configuration to the file, updating the Ingress hostnames and ports if overriden. Replace <your-lm-ui-proxy-port>, <your-lm-api-proxy-port> with desired ports for your instances.

Listen <your-lm-ui-proxy-port>
<VirtualHost *:<your-lm-ui-proxy-port>>
    SSLProxyEngine On
    SSLEngine On
    # Set the path to SSL certificate
    SSLCertificateFile /etc/apache2/ssl/ca.crt
    SSLCertificateKeyFile /etc/apache2/ssl/ca.key
    ProxyPass / https://ui.lm:32443/
    ProxyPassReverse / https://ui.lm:32443/

Listen <your-lm-api-proxy-port>
<VirtualHost *:<your-lm-api-proxy-port>>
    SSLProxyEngine On
    SSLEngine On
    # Set the path to SSL certificate
    SSLCertificateFile /etc/apache2/ssl/ca.crt
    SSLCertificateKeyFile /etc/apache2/ssl/ca.key
    ProxyPass / https://app.lm:32443/
    ProxyPassReverse / https://app.lm:32443/

Add the site to Apache2 (you may need to reload the Apache2 service for the changes to take affect):

a2ensite lm.conf

You may now access the UI at http://<apache2-server-ip>:<your-lm-ui-proxy-port> and the API at http://<apache2-server-ip>:<your-lm-api-proxy-port>.

First login

After the hostnames have been registered visit https://ui.lm:32443 in a supported browser to access the UI. Note that the port used is the NodePort of the ingress controller.

The default username and password for UI access is:

The default client credentials for API access is:

To modify or inspect system configuration, access the Vault UI on https://vault.lm:32443. The configured access token will be needed to login to Vault. This can be determined by inspecting the Helm values that were used during the helm-foundation installation, for example as follows:

helm inspect helm-foundation-2.0.3-45.tgz | grep vaultToken

To view or configure available system users, access OpenLDAP by determining the randomly allocated NodePort and connecting via your chosen client software as described in this guide Connecting to OpenLDAP