Deploying Eggplant DAI in Containers

This section provides guidance on how to deploy Eggplant DAI in Kubernetes containers using Helm. For step-by-step installation instructions, see the relevant section applicable to your preferred installation mode.

Before You Begin

You must have the following prerequisites in place:

  • The Kubernetes cluster where you want to install Eggplant DAI. The kubectl command-line tool is installed and configured to work with your cluster (it should be compatible with your cluster version). You can confirm it's working correctly by using the following command:
  • $ kubectl cluster-info
    Kubernetes master is running at

  • The helm command-line tool. These instructions assume that you've installed Helm version 3.
  • Your Eggplant DAI license key. Contact your Eggplant representative if you do not have the license key.
  • A JWT service token and secret. Contact your Eggplant representative if you do not have these.

If installing for production use, you will also need:

  • Credentials, hostname, and port for an empty PostgreSQL database. The database user name and the database name must match and the user must have full control over the database. Eggplant recommends using PostgreSQL version 11.5 and the application requires that the pgcrypto and uuid-ossp extensions are installed.
  • A persistent storage solution for the asset management and screenshot services.

If upgrading, refer to the Upgrade instructions.


Complete these steps to prepare your working environment before installing Eggplant DAI.

Add the Eggplant Helm repository

Add the Eggplant Helm Chart repository to your Helm environment:

$ helm repo add eggplant
"eggplant" has been added to your repositories.

If you already have the repository, ensure that it is up to date by using this command:

helm repo update

Create a Kubernetes namespace

Eggplant DAI installs into a new namespace on your Kubernetes cluster. These instructions use dai, but you can use another name if you prefer.

Note: If you have multiple Kubernetes clusters, remember to select the cluster where you want to install Eggplant DAI.

Create this namespace:

$ kubectl create namespace dai
namespace/dai created

Then, set it as your current Kubernetes context:

$ kubectl config set-context --current --namespace=dai
Context modified

Choose an Installation Mode

Choose how you want to install Eggplant DAI:

  • As a Quick Trial Mode using ephemeral containers for PostgreSQL, RabbitMQ, and Minio.
  • For Production Use with an external PostgreSQL cluster, and persistent storage for RabbitMQ and Minio.


Delete the Helm release to uninstall Eggplant DAI:

$ helm delete dai release
"dai" uninstalled

This deletes the Helm release previously installed as dai, leaving the Kubernetes namespace behind.

Note: If you have an internal database (quick trial) configured, then remember that this will also be removed. If you used an external database (production), however, removing DAI does not affect it.

To also delete the namespace:

$ kubectl delete namespaces dai
namespace "dai" deleted


If you experience problems, you can view the Kubernetes event log:

$ kubectl get events --sort-by=.metadata.creationTimestamp

You can also view pods' logs, e.g., using the following command:

$ kubectl logs <pod name>

If logs show database connectivity problems, verify the parameters in dai.yaml. You may also want to confirm that the database access works as expected, with the supplied credentials, e.g., using psql :

$ psql -h <database hostname> -U <database username>

If you experience problems when accessing Eggplant DAI on a browser, you can confirm the ingress configuration. It should confirm the hostname specified in the configuration file:

$ kubectl get ingresses


Contact Eggplant Customer Support if you require further assistance.


This topic was last updated on August 19, 2021, at 03:30:47 PM.

Eggplant icon | Documentation Home | User Forums | Support | Copyright © 2022 Eggplant