Kubernetes

This guide explains how to install Nected on a Kubernetes cluster using official Helm charts. This method is suitable for staging and production environments that require high availability, scalability, and better operational control.

Pre-requisites:

These requirements are specific to deploying Nected on a Kubernetes cluster using Helm.

Kubernetes Cluster

Ensure you have a functional Kubernetes cluster set up. You can use:

Cluster access should be available via the kubectl CLI.

Required Packages

Install and configure the following packages:

  • kubectl – matches your Kubernetes cluster version.

  • Helm – version v3.x or later.

Domain Setup and Ingress Configuration

Configure three fully qualified domain names (FQDNs) pointing to your ingress controller:

Service
Values Placeholder
Example Domain

UI (Konark)

<<ui-domain>>

app.example.com

Backend API (Nalanda)

<<backend-domain>>

api.example.com

Router (Vidhaan)

<<router-domain>>

router.example.com

Update your DNS provider (e.g., Cloudflare, Route53) to point these domains to your ingress controller’s external IP.

System Specifications

Resource
Minimum (Dev/Test)
Recommended (Prod)

CPU

4 cores

8+ cores

RAM

8 GB

16+ GB

Storage

30 GB

100 GB (SSD/NVMe)

Databases and Caching Services

Proper configuration of these services is required for Nected functionality:

Service
Mandatory
Purpose
Configuration

PostgreSQL

✔️

Stores rules, workflows, metadata

Configure user, password, host, port, database name, connection pooling

Redis

✔️

Caching and internal state management

Configure host, port, TLS if needed; additional Redis clusters if required

Elasticsearch / OpenSearch

Optional

Stores audit and execution logs

Configure ELASTIC_PROVIDER as managed or opensearch in nected-values.yaml

🛠️ Installation Steps

Follow these installation steps to deploy Nected over Kubernetes Cluster:

📦 Add Helm Repo

📄 Download Sample Values Files

🌐 Configure Scheme and Domains

In nected-values.yaml, replace the following placeholders:

Values Placeholder
Replace With

<<scheme>>

http or https

<<ui-domain>>

app.xyz.com

<<backend-domain>>

api.xyz.com

<<router-domain>>

router.xyz.com

🔐 Configure default user credentials

In nected-values.yaml:

🗄️ Configure PostgreSQL

  1. In temporal-values.yaml:

  2. In nected-values.yaml:

Azure PostgreSQL Flexible Server

  1. Go to the Azure Portal, Navigate to your PostgreSQL Flexible Server instance.

  2. Open “Server Parameters”, In the left-side menu under Settings, click “Server Parameters”.

  3. Find the azure.extensions parameter, Search for azure.extensions using the search bar.

  4. Add btree_gin to the list, If btree_gin is not already listed, append it to the existing list. Example: hstore,pg_trgm,btree_gin

  5. Click Save, This change will not restart the server—it takes effect immediately. Create the Extension in Your Database.

  6. After enabling it in parameters:

Notes: No changes required if using the Nected-provided datastore.

🧠 Configure Redis

In nected-values.yaml:

Notes: No changes required if using the Nected-provided datastore.

🔍 Configure Elasticsearch / OpenSearch

In nected-values.yaml:

Optional: To disable audit logging:

Notes: No changes required if using the Nected-provided datastore.

Enable Credential Encryption at Rest (Deprecated)
  1. Generate a private key and create a Kubernetes secret:

  2. In nected-values.yaml, uncomment the existingSecretMap block to use the secret.

Install Nected Services

  1. Install Temporal:

  2. Install Nected:

Access the Application

Visit the application via your configured <<ui-domain>>. Log in using the default credentials defined in nected-values.yaml:

Post-installation configuration

Once you have completed the installation process, consider performing the tasks below to configure and manage your Nected instance, enhancing its security and performance, specifically if it's intended for production use.

Last updated