Install OpenEverest and expose via Ingress controller¶
This section explains how to install OpenEverest using Helm and expose it using an Ingress controller.
An Ingress controller is a Kubernetes component that manages external access to services within a cluster, usually over HTTP and HTTPS. It processes Ingress resources — rules that define how traffic is routed to services in the cluster.
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; install OpenEverest with Helm.
Prerequisites¶
-
A
kubeconfigfile at~/.kube/config. If your file is located elsewhere, set theKUBECONFIGenvironment variable:export KUBECONFIG=~/.kube/config -
An Ingress controller (for example, NGINX) installed on your cluster.
- (Optional but recommended for production) A TLS certificate stored in a Kubernetes Secret.
Install OpenEverest¶
{.power-number}
-
Add the OpenEverest Helm repository:
helm repo add openeverest https://openeverest.github.io/helm-charts/ helm repo update -
Install the OpenEverest core with Ingress enabled:
helm install everest-core openeverest/openeverest \ --devel \ --namespace everest-system \ --create-namespace \ --set ingress.enabled=true \ --set ingress.ingressClassName="nginx" \ --set ingress.hosts[0].host=everest.example.com \ --set ingress.hosts[0].paths[0].path=/ \ --set ingress.hosts[0].paths[0].pathType=ImplementationSpecificNote
Replace
everest.example.comwith your own domain, andnginxwith your Ingress class name.The
--develflag installs the latest developer preview. To pin an exact release, add--version, for example--version "2.0.0-dev.3".What’s happening under the hood
This deploys the OpenEverest core components in the
everest-systemnamespace. Specifying a different namespace for the core is not currently supported. Database technologies are added separately by installing Providers (see the next step). -
Install the MongoDB Provider:
helm install provider-percona-server-mongodb \ oci://ghcr.io/openeverest/charts/provider-percona-server-mongodb \ --namespace everest-systemFind more providers and plugins in the Plugin Hub
OpenEverest 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, browse the online catalog at openeverest.io/extensions , or read the Plugin Hub introduction blog post. -
Verify the Ingress resource:
kubectl get ingress -n everest-systemEnsure the address is valid and routes to the
everestservice.Example: using a Helm values file
ingress: # -- Enable ingress for the Everest server enabled: true # -- Ingress class name — which ingress controller handles this ingress. ingressClassName: "nginx" # -- Additional annotations for the ingress resource. annotations: {} # -- Hosts and their paths for the ingress resource. hosts: - host: everest.example.com paths: - path: / pathType: ImplementationSpecific # -- TLS configuration for the ingress resource. tls: [] # - secretName: everest-tls # hosts: # - everest.example.comInstall OpenEverest using this file:
helm install everest-core openeverest/openeverest \ --devel \ -n everest-system \ --create-namespace \ -f everest-values.yaml🔒 Install OpenEverest with TLS enabled
helm install everest-core openeverest/openeverest \ --devel \ --namespace everest-system \ --create-namespace \ --set server.tls.enabled=trueFor comprehensive instructions on enabling TLS for OpenEverest, see TLS setup with OpenEverest.
-
Once the installation is complete, retrieve the
adminpassword:kubectl get secret everest-accounts -n everest-system -o jsonpath='{.data.users\.yaml}' | base64 --decode | yq '.admin.passwordHash'The default username for the OpenEverest UI is
admin. You can set a different initial admin password with theserver.initialAdminPasswordparameter during installation.Important
The default
adminpassword is stored in plain text. It is highly recommended to update it so the password is hashed. See manage users in OpenEverest. -
To access the OpenEverest UI/API, open your browser and go to
https://everest.example.com.Note
Replace
everest.example.comwith your own domain.