Skip to content

Install Lagoon Core#

Install the Helm chart#

  1. Add the Lagoon Charts repository to your Helm repositories:

    Add Lagoon Charts repository
    helm repo add lagoon https://uselagoon.github.io/lagoon-charts/
    
  2. Create a directory for the configuration files we will create, and make sure that it’s version controlled. Ensure that you reference this path in commands referencing your values.yml files.

  3. Create a file named values.yml in this directory. In this file you declare how you would like Lagoon to be configured. There are mandatory settings and optional ones. A helpful example can be found here. Some hints:

    1. Update the endpoint URLs (such as lagoonAPIURL, keycloakFrontEndURL, and lagoonUIURL) from placeholders (e.g api.example.com) to your particular endpoints.
    2. Optionally, an initial user ("seed user") and/or organization ("seed organization") can be created automatically on install by setting lagoonSeedUsername, lagoonSeedPassword, and lagoonSeedOrganization as appropriate. For example:
    Setting an initial user and organization
    lagoonSeedUsername: test@example.com
    lagoonSeedPassword: password
    lagoonSeedOrganization: example-org
    
  4. Now run helm upgrade --install command, pointing to values.yml, like so:

    Upgrade Helm with values.yml
    helm upgrade --install --create-namespace --namespace lagoon-core -f values.yml lagoon-core lagoon/lagoon-core`
    
  5. Lagoon Core is now installed!

Warning

Sometimes we run into Docker Hub pull limits. We are considering moving our images elsewhere if this continues to be a problem.

Configure Keycloak#

Visit the Keycloak dashboard at the URL you defined in the values.yml for Keycloak.

  1. Click "Administration Console"
  2. Username: admin
  3. Password: use lagoon-core-keycloak secret, key-value KEYCLOAK_ADMIN_PASSWORD
  4. Retrieve the secret like so:

    Retrieve secret
    kubectl -n lagoon-core get secret lagoon-core-keycloak -o jsonpath="{.data.KEYCLOAK_ADMIN_PASSWORD}" | base64 --decode
    
  5. Click on User on top right.

    1. Go to Manage Account.
    2. Add an Email for the admin account you created.
    3. Save.
  6. Go to Realm Lagoon -> Realm Settings -> Email
    1. Configure email server for Keycloak, test connection via “Test connection” button.
  7. Go to Realm Lagoon -> Realm Settings -> Login
    1. Enable “Forgot Password”
    2. Save.

Log in to the UI#

You should now be able to visit the Lagoon UI at the URL you defined via lagoonUIURL in your values.yml. If you configured a seed user in the above steps, you can use it's credentials to log in. For example, if you set

YAML
lagoonSeedUsername: test@example.com
lagoonSeedPassword: password
then you can log in with username "test@example.com" and password "password". Otherwise, users can be created via direct interaction with the GraphQL API or using the Lagoon CLI.