# Container Deployment

To install the OvalEdge application on Kubernetes containers, complete the following steps:

1. Verify that your hardware meets the specifications in the **Hard Requirements** section.
2. Install the required software listed in the **Software Requirements** section.
3. Perform the mandatory pre-installation tasks described in the **Pre-Installation Activities** section.

## Prerequisites

### Hardware Requirements

**Kubernetes Service:** AWS - EKS/ AZURE - AKS

**Supported Operating Systems:** Linux (Ubuntu)

**Note:** The Docker Image used for the deployment process is provided by the OvalEdge GCS Team

**Recommended Hardware for the Application Server(AS) and Elasticsearch (ES)**

<table><thead><tr><th width="153">HARDWARE</th><th width="165.3333740234375">ESSENTIAL</th><th width="200.6666259765625">PROFESSIONAL</th><th>ENTERPRISE</th></tr></thead><tbody><tr><td><mark style="color:$primary;"><strong>RAM</strong></mark></td><td><mark style="color:orange;">NA</mark></td><td> <mark style="color:blue;">2 Nodes Each 32GB</mark></td><td><mark style="color:green;">2 Nodes Each 32GB</mark></td></tr><tr><td><mark style="color:$primary;"><strong>SSD</strong></mark></td><td><mark style="color:orange;">NA</mark></td><td><mark style="color:blue;">2 Nodes Each 100GB</mark></td><td><mark style="color:green;">2 Nodes Each 100GB</mark></td></tr><tr><td><mark style="color:$primary;"><strong>vCPU</strong></mark></td><td><mark style="color:orange;">NA</mark></td><td><mark style="color:blue;">2 Nodes Each 8</mark></td><td><mark style="color:green;">2 Nodes Each 8</mark></td></tr></tbody></table>

**Recommended Hardware for DB RDS:**

| HARDWARE                                      | ESSENTIAL                             | PROFESSIONAL                           | ENTERPRISE                              |
| --------------------------------------------- | ------------------------------------- | -------------------------------------- | --------------------------------------- |
| <mark style="color:$primary;">**RAM**</mark>  | <mark style="color:orange;">NA</mark> | <mark style="color:blue;">32GB</mark>  | <mark style="color:green;">32GB</mark>  |
| <mark style="color:$primary;">**SSD**</mark>  | <mark style="color:orange;">NA</mark> | <mark style="color:blue;">100GB</mark> | <mark style="color:green;">100GB</mark> |
| <mark style="color:$primary;">**vCPU**</mark> | <mark style="color:orange;">NA</mark> | <mark style="color:blue;">8</mark>     | <mark style="color:green;">8</mark>     |

## Software Requirements

The following software must be installed to run OvalEdge on containers:

* **Application Server**\
  The Docker image, which includes **Java 17.x** and **Tomcat 10.1.x**, is built on the **Ubuntu 22.04+** base image. It is installed, configured, and provided by the OvalEdge team at the client’s request.
* **Database Server**\
  Install [**MySQL 8.4.x**.](https://docs.ovaledge.com/deployment-and-maintenance/installation/mysql-8.4.x-on-ubuntu-22.04+)
* **Elasticsearch Server**\
  Install [**Elasticsearch 7.17.x**](https://docs.ovaledge.com/deployment-and-maintenance/installation/elasticsearch-on-container) on either a VM or container.

## Pre-Installation Activities

The following pre-installation activities must be completed before installing OvalEdge on Kubernetes containers:

1. **Download OvalEdge installation artifacts**
   * Clients using containerized infrastructure must complete the [Questionnaire](https://share.hsforms.com/1qWnbiDBhQ-i8rlvsAaxc5w5a61o) to receive the installation artifacts link and a secure password to access Docker.
   * The artifacts include:
     * Database scripts file (**masterscripts.sql**)
     * Connector JAR files and drivers
2. **Set up the database**
   * Run the **masterscripts.sql** schema file on the installed MySQL database.
   * This creates all the required users, schemas, and tables for running the OvalEdge application.
3. **Set up volume drives.**
   * Create the following folders on the file system or server (NFS/EFS/NFS Share):
     * `/jars` – Stores connector JARs and drivers required for OvalEdge
     * `/cert` – Stores the connector certificates required for the OvalEdge image
     * `/files` – Stores all files required for the connectors
   * Move the downloaded JAR files to the `/jars` folder.
   * If any connector requires SSL communication, move the necessary certificates to the `/cert` folder.

## Run OvalEdge in Kubernetes (EKS or AKS)

For container-based deployments, OvalEdge supports **Helm-based deployments** using Helm charts. The Helm charts include YAML files for both the OvalEdge application and Elasticsearch deployments.

### Deployment Steps

1. Update all environment details in the **values.yaml** file.
2. Run the following Helm command:

   ```bash
   helm install <release-name> <chart-path> -n <namespace>
   ```

   **Note:** Deploy the application in a specific namespace.\
   **Important:** For Helm charts, contact the OvalEdge team.

### Supported Environment Variables

The following environment variables are required for OvalEdge container deployments:

* **OVALEDGE\_MYSQL\_URL** – MySQL JDBC connection string with SSL argument.
* **OVALEDGE\_MYSQL\_USER** – Username used by the OvalEdge application to connect to the database.
* **OVALEDGE\_MYSQL\_PWORD** – Password corresponding to the database user.
* **OVALEDGE\_ENCRYPT\_DECRYPT\_KEY** – Unique key used to encrypt and decrypt sensitive information (for example, passwords and secret keys) stored in *ovaledgedb*.
* **OVALEDGE\_SECURITY\_TYPE** – Authentication method for user login.
  * Default value: **db** (users created and managed in *ovaledgedb*).
* **OVALEDGE\_SAML\_META\_DATA** – Metadata URL for SAML authentication.
* **ENTITY\_BASE\_URL** – Domain URL used to access OvalEdge. Required for SSO configurations.
* **SAML\_PATH** – Path to the SAML certificates and JKS files. Required for SAML SSO configurations.
* **ES\_HOST** – IP address or hostname of the Elasticsearch server/container.
* **ES\_PROTOCOL** – Protocol used to access Elasticsearch (**HTTP** or **HTTPS**).
* **ES\_PORT** – Port for Elasticsearch access (**443** for HTTPS, **9200** for HTTP).
* **ES\_USERNAME** – Username to connect to Elasticsearch (default: *elastic*).
* **ES\_PASSWORD** – Password configured when enabling X-Pack security for Elasticsearch.

## Post-Installation Activities

1. **Access the Application**
   * Open a web browser and go to:

     ```
     http://<PublicIP>:8080/ovaledge/login
     ```
   * The **OvalEdge License Information** page is displayed.
   * Enter the license key provided by the OvalEdge Global Customer Service (GCS) team in the **Apply License** section, then click **Update License**.
   * A pop-up with one-time admin credentials is displayed.
   * Use the admin credentials to log in and immediately change the default password.
2. **Update Application Configurations**

   * In the OvalEdge application, navigate to **Configuration** and update the following:

   **System Path**

   * `ovaledge.base.url` – Replace the default `http://localhost:8080/ovaledge` with the actual OvalEdge access URL.
   * `ovaledge.temppath` – Update with the path to the temp folder created during installation. This folder must also be on the same machine where OvalEdge is installed.

   **Notification**

   * Update the **SMTP details** to enable email notifications for configured alerts.
3. **Verify Elasticsearch Integration**
   * On the OvalEdge Home page, enter text in the search bar and press Enter.
   * The **Global Search** results page should appear, confirming Elasticsearch integration.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2Fb3QrJLmtxyGVxJU1Mxb7%2Fimage.png?alt=media&#x26;token=d18aeec7-fa5a-4d77-b605-0409775d1890" alt=""><figcaption></figcaption></figure>

***

Copyright © 2025, OvalEdge LLC, Peachtree Corners, GA, USA.
