Skip to content

Commit ca1d913

Browse files
author
erangi-ar
committed
helm charts for byk and rag components
1 parent 5cc3963 commit ca1d913

File tree

126 files changed

+4996
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+4996
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Container Registry Setup Guide
2+
3+
This guide explains what components need to push to gcr
4+
5+
## Overview
6+
7+
The RAG Module consists of multiple container images that need to be pushed to your container registry. Currently, we use ECR for testing, but you should push images to your own registry before deployment.
8+
9+
10+
11+
## Step 1: Build Container Images
12+
13+
Build all required images from the repository root:
14+
15+
### **1.1 GUI (Frontend)**
16+
17+
```bash
18+
cd GUI
19+
docker build -t rag-module/gui:latest -f Dockerfile.dev .
20+
cd ..
21+
```
22+
23+
update the GUI helms values image: repository section with actual image
24+
25+
### **1.2 LLM Orchestration Service**
26+
27+
```bash
28+
docker build -t rag-module/llm-orchestration-service:latest -f Dockerfile.llm_orchestration_service .
29+
```
30+
update the LLM Orchestration Service helms values image: repository section with actual image (there are two places to update in this file)
31+
32+
### **1.3 Authentication Layer**
33+
34+
35+

kubernetes/Chart.lock

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
dependencies:
2+
- name: database
3+
repository: file://./charts/database
4+
version: 0.1.0
5+
- name: TIM-database
6+
repository: file://./charts/TIM-database
7+
version: 0.1.0
8+
- name: resql
9+
repository: file://./charts/Resql
10+
version: 0.1.0
11+
- name: ruuter-public
12+
repository: file://./charts/Ruuter-Public
13+
version: 0.1.0
14+
- name: ruuter-private
15+
repository: file://./charts/Ruuter-Private
16+
version: 0.1.0
17+
- name: data-mapper
18+
repository: file://./charts/DataMapper
19+
version: 0.1.0
20+
- name: TIM
21+
repository: file://./charts/TIM
22+
version: 0.1.0
23+
- name: Authentication-Layer
24+
repository: file://./charts/Authentication-Layer
25+
version: 0.1.0
26+
- name: CronManager
27+
repository: file://./charts/CronManager
28+
version: 0.1.0
29+
- name: GUI
30+
repository: file://./charts/GUI
31+
version: 0.1.0
32+
- name: Loki
33+
repository: file://./charts/Loki
34+
version: 0.1.0
35+
- name: Grafana
36+
repository: file://./charts/Grafana
37+
version: 0.1.0
38+
- name: S3-Ferry
39+
repository: file://./charts/S3-Ferry
40+
version: 0.1.0
41+
- name: minio
42+
repository: file://./charts/minio
43+
version: 0.1.0
44+
- name: Redis
45+
repository: file://./charts/Redis
46+
version: 0.1.0
47+
- name: Qdrant
48+
repository: file://./charts/Qdrant
49+
version: 0.1.0
50+
- name: ClickHouse
51+
repository: file://./charts/ClickHouse
52+
version: 0.1.0
53+
- name: Langfuse-Web
54+
repository: file://./charts/Langfuse-Web
55+
version: 0.1.0
56+
- name: Langfuse-Worker
57+
repository: file://./charts/Langfuse-Worker
58+
version: 0.1.0
59+
- name: Vault
60+
repository: file://./charts/Vault
61+
version: 0.1.0
62+
- name: Vault-Init
63+
repository: file://./charts/Vault-Init
64+
version: 0.1.0
65+
- name: Vault-Agent-LLM
66+
repository: file://./charts/Vault-Agent-LLM
67+
version: 0.1.0
68+
- name: LLM-Orchestration-Service
69+
repository: file://./charts/LLM-Orchestration-Service
70+
version: 0.1.0
71+
- name: Liquibase
72+
repository: file://./charts/Liquibase
73+
version: 0.1.0
74+
digest: sha256:ebf9bd6c7a999f2ab58598fdfff371579d6c7ca17d35e87fc8200668c2ae493e
75+
generated: "2025-12-02T13:11:13.8392479+05:30"

kubernetes/Chart.yaml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
apiVersion: v2
2+
name: rag-module
3+
description: Umbrella chart for RAG Module
4+
version: 0.1.0
5+
type: application
6+
7+
dependencies:
8+
- name: database
9+
version: 0.1.0
10+
repository: "file://./charts/database"
11+
- name: TIM-database
12+
version: 0.1.0
13+
repository: "file://./charts/TIM-database"
14+
- name: resql
15+
version: 0.1.0
16+
repository: "file://./charts/Resql"
17+
- name: ruuter-public
18+
version: 0.1.0
19+
repository: "file://./charts/Ruuter-Public"
20+
- name: ruuter-private
21+
version: 0.1.0
22+
repository: "file://./charts/Ruuter-Private"
23+
- name: data-mapper
24+
version: 0.1.0
25+
repository: "file://./charts/DataMapper"
26+
- name: TIM
27+
version: 0.1.0
28+
repository: "file://./charts/TIM"
29+
- name: Authentication-Layer
30+
version: 0.1.0
31+
repository: "file://./charts/Authentication-Layer"
32+
- name: CronManager
33+
version: 0.1.0
34+
repository: "file://./charts/CronManager"
35+
- name: GUI
36+
version: 0.1.0
37+
repository: "file://./charts/GUI"
38+
- name: Loki
39+
version: 0.1.0
40+
repository: "file://./charts/Loki"
41+
- name: Grafana
42+
version: 0.1.0
43+
repository: "file://./charts/Grafana"
44+
- name: S3-Ferry
45+
version: 0.1.0
46+
repository: "file://./charts/S3-Ferry"
47+
- name: minio
48+
version: 0.1.0
49+
repository: "file://./charts/minio"
50+
- name: Redis
51+
version: 0.1.0
52+
repository: "file://./charts/Redis"
53+
- name: Qdrant
54+
version: 0.1.0
55+
repository: "file://./charts/Qdrant"
56+
- name: ClickHouse
57+
version: 0.1.0
58+
repository: "file://./charts/ClickHouse"
59+
- name: Langfuse-Web
60+
version: 0.1.0
61+
repository: "file://./charts/Langfuse-Web"
62+
- name: Langfuse-Worker
63+
version: 0.1.0
64+
repository: "file://./charts/Langfuse-Worker"
65+
- name: Vault
66+
version: 0.1.0
67+
repository: "file://./charts/Vault"
68+
- name: Vault-Init
69+
version: 0.1.0
70+
repository: "file://./charts/Vault-Init"
71+
- name: Vault-Agent-LLM
72+
version: 0.1.0
73+
repository: "file://./charts/Vault-Agent-LLM"
74+
- name: LLM-Orchestration-Service
75+
version: 0.1.0
76+
repository: "file://./charts/LLM-Orchestration-Service"
77+
- name: Liquibase
78+
version: 0.1.0
79+
repository: "file://./charts/Liquibase"
80+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
apiVersion: v2
2+
name: Authentication-Layer
3+
description: Authentication Layer Service for RAG
4+
type: application
5+
version: 0.1.0
6+
appVersion: "1.0"
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{{- if .Values.enabled }}
2+
apiVersion: apps/v1
3+
kind: Deployment
4+
metadata:
5+
name: "{{ .Values.release_name }}"
6+
labels:
7+
app: "{{ .Values.release_name }}"
8+
spec:
9+
replicas: {{ .Values.replicas }}
10+
selector:
11+
matchLabels:
12+
app: "{{ .Values.release_name }}"
13+
template:
14+
metadata:
15+
labels:
16+
app: "{{ .Values.release_name }}"
17+
spec:
18+
containers:
19+
- name: "{{ .Values.release_name }}"
20+
image: "{{ .Values.authentication.image.repository }}:{{ .Values.authentication.image.tag }}"
21+
imagePullPolicy: {{ .Values.authentication.image.pullPolicy }}
22+
ports:
23+
- name: http
24+
containerPort: {{ .Values.service.port }}
25+
protocol: TCP
26+
env:
27+
- name: PORT
28+
value: {{ .Values.authentication.environment.serverPort | quote }}
29+
- name: TIM_SERVICE_URL
30+
value: {{ .Values.authentication.environment.timServiceUrl | quote }}
31+
- name: CORS_ORIGINS
32+
value: {{ .Values.authentication.environment.corsOrigins | quote }}
33+
34+
{{- end }}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{{- if .Values.ingress.enabled }}
2+
apiVersion: networking.k8s.io/v1
3+
kind: Ingress
4+
metadata:
5+
name: "{{ .Values.release_name }}-ingress"
6+
annotations:
7+
kubernetes.io/ingress.class: "nginx"
8+
nginx.ingress.kubernetes.io/enable-cors: "true"
9+
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
10+
cert-manager.io/cluster-issuer: {{ .Values.ingress.certIssuerName | quote }}
11+
labels:
12+
name: "{{ .Values.release_name }}-ingress"
13+
spec:
14+
rules:
15+
- host: auth.{{ .Values.domain }}
16+
http:
17+
paths:
18+
- pathType: Prefix
19+
path: "/"
20+
backend:
21+
service:
22+
name: "{{ .Values.release_name }}"
23+
port:
24+
number: 3004
25+
tls:
26+
- hosts:
27+
- auth.{{ .Values.domain }}
28+
secretName: {{ .Values.secretname }}
29+
{{- end }}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{{- if .Values.enabled }}
2+
apiVersion: v1
3+
kind: Service
4+
metadata:
5+
name: "{{ .Values.release_name }}"
6+
labels:
7+
app: "{{ .Values.release_name }}"
8+
spec:
9+
type: {{ .Values.service.type }}
10+
ports:
11+
- port: {{ .Values.service.port }}
12+
targetPort: {{ .Values.service.port }}
13+
protocol: TCP
14+
name: http
15+
selector:
16+
app: "{{ .Values.release_name }}"
17+
{{- end }}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
replicas: 1
2+
enabled: true
3+
4+
5+
release_name: "authentication-layer"
6+
domain: "rag.local" # need to set this
7+
secretname: "authentication-layer-tls"
8+
9+
ingress:
10+
enabled: true
11+
certIssuerName: "letsencrypt-prod"
12+
13+
# Authentication Layer Configuration
14+
authentication:
15+
image:
16+
repository: "ghcr.io/buerokratt/authentication-layer" # Update with actual auth-layer image repository
17+
tag: "latest"
18+
pullPolicy: Always
19+
20+
environment:
21+
serverPort: "3004"
22+
timServiceUrl: "http://tim:8085"
23+
corsOrigins: "http://localhost:3001,http://localhost:3003,http://localhost:8086"
24+
25+
service:
26+
type: ClusterIP
27+
port: 3004
28+
29+
resources:
30+
requests:
31+
memory: "10Mi"
32+
cpu: "1m"
33+
limits:
34+
memory: "50Mi"
35+
cpu: "5m"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
apiVersion: v2
2+
name: ClickHouse
3+
description: ClickHouse analytics database for Langfuse
4+
type: application
5+
version: 0.1.0
6+
appVersion: "latest"

0 commit comments

Comments
 (0)