Skip to main content
Version: Next

Install OpenEverest

OpenEverest is installed with Helm in two parts:

  1. The core — the openeverest/openeverest chart. It installs the server (UI and API), the controller, the custom resource definitions and the Plugin Hub into the everest-system namespace.
  2. One or more providers — one chart per technology. See Add providers.
Developer Preview

OpenEverest 2 is a Developer Preview. Install it on a fresh cluster: there is no upgrade path from OpenEverest 1.x yet, and running 1.x and 2 in the same cluster is not supported.

Check the prerequisites first.

Install the core​

  1. Add the OpenEverest Helm repository:

    helm repo add openeverest https://openeverest.github.io/helm-charts/
    helm repo update
  2. Install the chart:

    helm install everest-core openeverest/openeverest \
    --devel \
    --namespace everest-system \
    --create-namespace

    --devel lets Helm select pre-release versions. To install a specific version, add --version, for example --version 2.0.0-dev.4. List the available versions with helm search repo openeverest/openeverest --devel --versions.

  3. Check that the core is running:

    kubectl get pods -n everest-system
    NAME READY STATUS RESTARTS AGE
    everest-controller-5474b99686-mw5c9 1/1 Running 0 40s
    everest-core-plugin-hub-566d44f99-k7554 1/1 Running 0 40s
    everest-server-7b6db64b79-728z8 1/1 Running 0 40s
  4. Add at least one provider. Without providers, OpenEverest has no technology to deploy.

Log in​

OpenEverest creates an admin user during installation. Unless you set a password, it generates a random one:

kubectl get secret everest-accounts -n everest-system \
-o jsonpath='{.data.users\.yaml}' | base64 --decode | yq '.admin.passwordHash'
note

In the Developer Preview, the initial password is stored in this Secret in plain text. Change it after your first login — see Users.

Expose OpenEverest​

The everest service has the type ClusterIP by default, so OpenEverest is not reachable from outside the cluster. Choose one of the options below.

Good for testing. Forward the service to your machine:

kubectl port-forward svc/everest 8080:8080 -n everest-system

Open http://localhost:8080. With TLS enabled, forward port 443 instead and open https://localhost:8443:

kubectl port-forward svc/everest 8443:443 -n everest-system

Configure the installation​

You can pass values with --set or with a values file (-f values.yaml). The most common ones:

ValueDefaultDescription
server.initialAdminPasswordrandomPassword of the admin user created at installation.
server.service.typeClusterIPType of the everest service: ClusterIP, NodePort or LoadBalancer.
server.tls.enabledfalseServe the UI and API over HTTPS. See TLS.
server.oidc.issuerUrl, server.oidc.clientId—Enable single sign-on at installation. See Single sign-on.
server.rbac.enabled, server.rbac.policyfalseEnable role-based access control at installation. See RBAC.
server.apiRequestsRateLimit100API requests allowed per second. See API rate limiting.
ingress.*disabledIngress for the UI and API.
plugins.hub.enabledtrueInstall the Plugin Hub.
telemetrytrueSend anonymous usage data. See Telemetry.

server.initialAdminPassword, server.oidc and server.rbac are applied at installation only. To change these settings later, follow the linked pages.

To see every available value:

helm show values openeverest/openeverest --devel

Next steps​

Add providers → Create an instance →