Skip to main content
Version: 2.0.0-dev.3 (preview)

OpenEverest quick install guide

Developer Preview

This is a developer preview release. Features are incomplete and subject to change. The everestctl installation method is not available for this release.

With this guide, you'll be up and running with OpenEverest in no time. For more details, see the comprehensive installation guide.

Prerequisites​

Before getting started with OpenEverest, do the following:

  1. Install Helm v3 ↗.

  2. Set up a Kubernetes cluster.

    Note

    OpenEverest assists with installing all the necessary operators and required packages, but does not deploy a Kubernetes cluster.

    We recommend setting up OpenEverest on the Amazon Elastic Kubernetes Service (EKS) or Google Kubernetes Engine (GKE).

    Create EKS cluster →Create GKE cluster →
  3. Verify that you have access to the Kubernetes cluster that you want to use with OpenEverest. By default, OpenEverest uses the kubeconfig file available under ~/.kube/config.

    If your file is located elsewhere, use the export command below to set the KUBECONFIG environment variable:

    export KUBECONFIG=~/.kube/config

    To verify access to the Kubernetes cluster, run the following command:

    kubectl get nodes
    Expected output
    NAME STATUS ROLES AGE VERSION
    gke-<name>-default-pool-75d48bfc-bx8g Ready <none> 11h v1.26.7-gke.500
    gke-<name>-default-pool-75d48bfc-c2df Ready <none> 11h v1.26.7-gke.500
    gke-<name>-default-pool-75d48bfc-zl7k Ready <none> 11h v1.26.7-gke.500

Install OpenEverest​

To install OpenEverest using Helm follow these steps:

  1. Add the OpenEverest Helm repository and install the core platform.

    helm repo add openeverest https://openeverest.github.io/helm-charts/
    helm repo update
    helm install everest-core openeverest/openeverest \
    --devel \
    --namespace everest-system \
    --create-namespace

    The --devel flag tells Helm to include pre-release versions, so this installs the latest developer preview available in the repository. To pin an exact release, add --version, for example --version "2.0.0-dev.3".

  2. Install the MongoDB Provider.

    helm install provider-percona-server-mongodb \
    oci://ghcr.io/openeverest/charts/provider-percona-server-mongodb \
    -n everest-system
    Find more providers and plugins in the Plugin Hub

    OpenEverest now ships with the Plugin Hub, an in-product catalog for discovering additional providers and plugins. Open it in the OpenEverest UI at /plugins/plugin-hub, or find it in the left-hand menu. Learn more in the Extension Hub docs and the Plugin Hub introduction blog post.

    🌐 Install OpenEverest and access it using Ingress

    Prerequisite

    • An Ingress controller (e.g., Nginx) installed on your Kubernetes cluster

    • If TLS is required on your Ingress endpoint, a Secret containing the TLS certificates

    Example

    To install OpenEverest and access using Ingress, here are the steps:

    1. Install OpenEverest:

      helm install everest openeverest/openeverest \
      -n everest-system \
      --set ingress.enabled=true \
      --set ingress.ingressClassName="" \
      --set ingress.hosts[0].host=everest.example.com \
      --set ingress.hosts[0].paths[0].path=/ \
      --set ingress.hosts[0].paths[0].pathType=ImplementationSpecific

      Replace everest.example.com with your own domain.

    2. Verify Ingress:

      kubectl get ingress -n everest-system

      Make sure the address provided is valid and that it correctly routes to the everest service.

    Example: Custom YAML configuration file
    ingress:
    # -- Enable ingress for Everest server
    enabled: true
    # -- Ingress class name. This is used to specify which ingress controller should handle this ingress.
    ingressClassName: "nginx"
    # -- Additional annotations for the ingress resource.
    annotations: {}
    # -- List of hosts and their paths for the ingress resource.
    hosts:
    - host: everest.example.com
    paths:
    - path: /
    pathType: ImplementationSpecific
    # -- TLS configuration for the ingress resource.
    # -- Each entry in the list specifies a TLS certificate and the hosts it applies to.
    tls: []
    # - secretName: everest-tls
    # hosts:
    # - everest.example.com

    Install OpenEverest using this file:

    helm install everest openeverest/openeverest \
    -n everest-system \
    -f everest-values.yaml
    🔒 Install OpenEverest with TLS enabled

    Install OpenEverest with TLS enabled:

    helm install everest openeverest/openeverest \
    --namespace everest-system \
    --create-namespace
    --set server.tls.enabled=true

    For comprehensive instructions on enabling TLS for OpenEverest, see the section TLS setup with OpenEverest.

    Once OpenEverest is running successfully, you can install additional Providers from the Providers page.

    note
    • If you installed OpenEverest using helm and need to uninstall it, make sure to uninstall it exclusively through helm for seamless removal.

Post-installation steps​

Once you have successfully installed OpenEverest, proceed with the following steps:

  1. Retrieve the admin password.

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

    The default admin password is stored in plain text. It is highly recommended to update the password after installation.

    For information on user management, see the section manage users in OpenEverest.

  2. Access the OpenEverest UI/API using one of the following options, as the everest Service is not exposed with an external IP by default:

    1. Use the following command to change the Everest service type to LoadBalancer:

      helm install everest openeverest/openeverest \
      --set service.type=LoadBalancer
      When TLS is enabled
      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
      everest LoadBalancer 10.43.172.194 34.175.201.246 443:8080/TCP 10s
    2. Retrieve the external IP address for the everest service. This is the address where you can then launch OpenEverest at the end of the installation procedure. In this example, the external IP address used is http://34.175.201.246.

      kubectl get svc/everest -n everest-system

Next steps​

Provision a database →

{/* Monitor the database with PMM →(.md-button) */}