Skip to main content

Helm Chart for Local Development

We have made it easy to test deploying terediX in your local Kubernetes cluster. You can follow the steps below to get started.

Prerequisites

  • Docker
  • Kubernetes Cluster (Minikube, Kind, K3s, etc). You can easily start a local Kubernetes cluster using KiND

Go to the next step when your Kubernetes cluster is ready.

Create a namespace

Create a namespace for terediX

kubectl create namespace teredix

Install PostgreSQL

Because terediX need a storage solution and currently we support only PostgreSQL, so you need to install PostgreSQL in your Kubernetes cluster. You can install PostgreSQL by helm chart.

helm repo add bitnami https://charts.bitnami.com/bitnami 
helm repo update
helm upgrade --install postgresql bitnami/postgresql --namespace "teredix" \
--set auth.username="app" \
--set auth.password="pass" \
--set auth.database="app"

Install terediX helm chart

Create a local values file in helm-chart/teredix/values-local.yaml for terediX helm chart to override few values for local development.

# helm-chart/teredix/values-local.yaml
image:
repository: teredix
tag: "prod"

appConfig:
organization:
name: Your Organization
logo: https://your-org-url.com/logo.png
discovery:
name: Name of the discovery
description: Some description about the discovery
worker_pool_size: 1
storage:
batch_size: 2
engines:
postgresql:
host: "postgresql"
port: 5432
user: "app"
password: "pass"
db: "app"
default_engine: postgresql
source:
fs_one:
type: file_system
configuration:
root_directory: "/config"
fields:
- machineHost
- rootDirectory
schedule: "@every 300s"
relations:
criteria:
- name: "file-system-rule1"
source:
kind: "FilePath"
meta_key: "rootDirectory"
meta_value: "/some/path"
target:
kind: "FilePath"
meta_key: "rootDirectory"
meta_value: "/some/path"

service:
type: ClusterIP
port: 2112

ingress:
enabled: true
hosts:
- host: teredix.dev.local
paths:
- path: /
pathType: ImplementationSpecific

Now install terediX helm chart using the following command:

helm upgrade --install teredix ./helm-chart/teredix --namespace teredix \
-f ./helm-chart/teredix/values.yaml \
-f ./helm-chart/teredix/values-local.yaml