Skip to main content

EVA Agent Installation

It is the core component responsible for intelligent inference and data processing of the EVA service. Proceed after the dependency stack (Qdrant + vLLM) installation is complete.


đŸ› ī¸ Prerequisites​

Before starting the installation, check that the following tools are ready.

aws configure
# Follow the prompts to enter your AWS Access Key ID, Secret Access Key, and so on.



🚀 Install EVA Agent​

Step 1: Register and Update Helm Repository​

Add and update the repository to fetch the latest version of the charts.

helm repo add eva-agent https://mellerikat.github.io/eva-agent
helm repo update



Step 2: Download Configuration (values) Templates​

Download the template files needed for configuration to fit your environment.

RELEASE_VERSION="2.6.0"
BASE_URL="https://raw.githubusercontent.com/mellerikat/eva-agent/chartmuseum/release/2.6.0"

mkdir -p eva-agent
curl -L "$BASE_URL/eva-agent/values.yaml" -o eva-agent/values.yaml
curl -L "$BASE_URL/eva-agent/values-secret.yaml" -o eva-agent/values-secret.yaml
curl -L "$BASE_URL/eva-agent/values-aws.yaml" -o eva-agent/values-aws.yaml
curl -L "$BASE_URL/eva-agent/values-ncp.yaml" -o eva-agent/values-ncp.yaml
curl -L "$BASE_URL/eva-agent/values-k3s.yaml" -o eva-agent/values-k3s.yaml



Step 3: Update Settings for Your Environment​

Open the eva-agent/values.yaml and eva-agent/values-secret.yaml files to modify the key environment variables.

For NCP, use the dedicated NCP values template.

Deployment environment
Configuration area
Detail group
CategoryNameDescriptionValueNotes
RuntimereplicaCountReplica count1

Storage mode and S3 sync
  • For cloud StorageClasses (for example EFS CSI), use sharedPvcStorage.mode: dynamic.
  • For k3s NFS, use sharedPvcStorage.mode: static and set sharedPvcStorage.nfs.server/path.
  • Set persistence.s3Sync.enabled: false when you want to disable the S3 init sync container.

âš ī¸ Warning: Among Secrets, the OPENAI_API_KEY item must have a dummy value even when not in use, otherwise errors will occur. (Do not comment it out)

â„šī¸ OTEL Header Value Setup

Set the OTEL_EXPORTER_OTLP_HEADERS value as follows.

LANGFUSE_SECRET_KEY="sk-lf-..."
LANGFUSE_PUBLIC_KEY="pk-lf-..."
LANGFUSE_AUTH=$(printf '%s:%s' "$LANGFUSE_PUBLIC_KEY" "$LANGFUSE_SECRET_KEY" | base64 | tr -d '\r\n')
OTEL_EXPORTER_OTLP_HEADERS="Authorization=Basic ${LANGFUSE_AUTH}"



Step 4: Run EVA Agent Installation​

After setting environment-specific values, proceed with installation using the script below.

Script options

Add the required options when you run it.

  • --namespace <ns>: Namespace to install (default: eva-agent)
  • --context <ctx>: Kube context to use (default: current context)
  • --base-dir <dir>: Base directory that contains the eva-agent/ folder (default: current directory)
  • --chart <chart>: Helm chart path (default: eva-agent/eva-agent)
  • --chart-version <ver>: Helm chart version (latest if not specified)
  • --image <tag>: Image tag override
  • --ecr-host <host>: ECR host (default: 339713051385.dkr.ecr.ap-northeast-2.amazonaws.com)
  • --ecr-repo <repo>: ECR repo name (default: mellerikat/release/eva-agent)
  • --profile <aws-profile>: AWS profile (default: default)
  • --check-digest <0|1>: Compare digest when the tag is the same (default: 0)
  • --aws-credentials-secret <name>: AWS credentials secret name (default: aws-credentials)
  • --sync-aws-credentials <0|1>: Create/update AWS credentials secret (default: 1)
  • -f, --values <file>: Additional values file (repeatable)

Default load: eva-agent/values.yaml, eva-agent/values-secret.yaml.

By default, the script syncs AWS credentials to the cluster for the S3 sync initContainer and ECR refresh. If you manage them yourself, disable it with --sync-aws-credentials 0.

ServiceAccount: The chart default uses a pre-created ServiceAccount (sa-eva-agent). Create it in advance or change to serviceAccount.create=true.

# Download the install script
curl -L "https://raw.githubusercontent.com/mellerikat/eva-agent/chartmuseum/install_eva_agent.sh" \
-o install_eva_agent.sh
chmod +x install_eva_agent.sh

# k3s example
./install_eva_agent.sh \
--image 2.6.0 \
-f eva-agent/values-k3s.yaml

# AWS example
./install_eva_agent.sh \
--image 2.6.0 \
-f eva-agent/values-aws.yaml

# NCP example
./install_eva_agent.sh \
--image 2.6.0 \
-f eva-agent/values-ncp.yaml



Step 5: Check Installation Status​

After the installation is complete, check that all services are up and running.

kubectl get all -n eva-agent