-
Notifications
You must be signed in to change notification settings - Fork 4
Kubernetes helm charts #214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 25 commits
f635768
b674b5e
9fec475
9caa51d
49a78eb
e8af3fa
dd3fa8b
023d53a
6e7e45f
620af8c
509d0f0
c6351eb
30f05bb
8b54764
7b1c830
4fe08d1
9af1a1e
6e5234c
6830670
a416995
0352184
925af1c
b584e44
ce0916d
6f95769
5cc3963
ca1d913
3becd2a
f6ea894
4a18a65
08ce120
c854c94
9f8074e
fb08609
355ca1c
fadd2f3
27e1e7b
327e5b2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| # Container Registry Setup Guide | ||
|
|
||
| This guide explains what components need to push to gcr | ||
|
|
||
| ## Overview | ||
|
|
||
| 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. | ||
|
|
||
|
|
||
|
|
||
| ## Step 1: Build Container Images | ||
|
|
||
| Build all required images from the repository root: | ||
|
|
||
| ### **1.1 GUI (Frontend)** | ||
|
|
||
| ```bash | ||
| cd GUI | ||
| docker build -t rag-module/gui:latest -f Dockerfile.dev . | ||
| cd .. | ||
| ``` | ||
|
|
||
| update the GUI helms values image: repository section with actual image | ||
|
|
||
| ### **1.2 LLM Orchestration Service** | ||
|
|
||
| ```bash | ||
| docker build -t rag-module/llm-orchestration-service:latest -f Dockerfile.llm_orchestration_service . | ||
| ``` | ||
| update the LLM Orchestration Service helms values image: repository section with actual image (there are two places to update in this file) | ||
|
|
||
| ### **1.3 Authentication Layer** | ||
|
|
||
|
|
||
|
|
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How do you plan build the helm dependancy ? If help is needed, please let me know |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,75 @@ | ||
| dependencies: | ||
| - name: database | ||
| repository: file://./charts/database | ||
| version: 0.1.0 | ||
| - name: TIM-database | ||
| repository: file://./charts/TIM-database | ||
| version: 0.1.0 | ||
| - name: resql | ||
| repository: file://./charts/Resql | ||
| version: 0.1.0 | ||
| - name: ruuter-public | ||
| repository: file://./charts/Ruuter-Public | ||
| version: 0.1.0 | ||
| - name: ruuter-private | ||
| repository: file://./charts/Ruuter-Private | ||
| version: 0.1.0 | ||
| - name: data-mapper | ||
| repository: file://./charts/DataMapper | ||
| version: 0.1.0 | ||
| - name: TIM | ||
| repository: file://./charts/TIM | ||
| version: 0.1.0 | ||
| - name: Authentication-Layer | ||
| repository: file://./charts/Authentication-Layer | ||
| version: 0.1.0 | ||
| - name: CronManager | ||
| repository: file://./charts/CronManager | ||
| version: 0.1.0 | ||
| - name: GUI | ||
| repository: file://./charts/GUI | ||
| version: 0.1.0 | ||
| - name: Loki | ||
| repository: file://./charts/Loki | ||
| version: 0.1.0 | ||
| - name: Grafana | ||
| repository: file://./charts/Grafana | ||
| version: 0.1.0 | ||
| - name: S3-Ferry | ||
| repository: file://./charts/S3-Ferry | ||
| version: 0.1.0 | ||
| - name: minio | ||
| repository: file://./charts/minio | ||
| version: 0.1.0 | ||
| - name: Redis | ||
| repository: file://./charts/Redis | ||
| version: 0.1.0 | ||
| - name: Qdrant | ||
| repository: file://./charts/Qdrant | ||
| version: 0.1.0 | ||
| - name: ClickHouse | ||
| repository: file://./charts/ClickHouse | ||
| version: 0.1.0 | ||
| - name: Langfuse-Web | ||
| repository: file://./charts/Langfuse-Web | ||
| version: 0.1.0 | ||
| - name: Langfuse-Worker | ||
| repository: file://./charts/Langfuse-Worker | ||
| version: 0.1.0 | ||
| - name: Vault | ||
| repository: file://./charts/Vault | ||
| version: 0.1.0 | ||
| - name: Vault-Init | ||
| repository: file://./charts/Vault-Init | ||
| version: 0.1.0 | ||
| - name: Vault-Agent-LLM | ||
| repository: file://./charts/Vault-Agent-LLM | ||
| version: 0.1.0 | ||
| - name: LLM-Orchestration-Service | ||
| repository: file://./charts/LLM-Orchestration-Service | ||
| version: 0.1.0 | ||
| - name: Liquibase | ||
| repository: file://./charts/Liquibase | ||
| version: 0.1.0 | ||
| digest: sha256:ebf9bd6c7a999f2ab58598fdfff371579d6c7ca17d35e87fc8200668c2ae493e | ||
| generated: "2025-12-02T13:11:13.8392479+05:30" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,80 @@ | ||
| apiVersion: v2 | ||
| name: rag-module | ||
| description: Umbrella chart for RAG Module | ||
| version: 0.1.0 | ||
| type: application | ||
|
|
||
| dependencies: | ||
| - name: database | ||
| version: 0.1.0 | ||
| repository: "file://./charts/database" | ||
| - name: TIM-database | ||
| version: 0.1.0 | ||
| repository: "file://./charts/TIM-database" | ||
| - name: resql | ||
| version: 0.1.0 | ||
| repository: "file://./charts/Resql" | ||
| - name: ruuter-public | ||
| version: 0.1.0 | ||
| repository: "file://./charts/Ruuter-Public" | ||
| - name: ruuter-private | ||
| version: 0.1.0 | ||
| repository: "file://./charts/Ruuter-Private" | ||
| - name: data-mapper | ||
| version: 0.1.0 | ||
| repository: "file://./charts/DataMapper" | ||
| - name: TIM | ||
| version: 0.1.0 | ||
| repository: "file://./charts/TIM" | ||
| - name: Authentication-Layer | ||
| version: 0.1.0 | ||
| repository: "file://./charts/Authentication-Layer" | ||
| - name: CronManager | ||
| version: 0.1.0 | ||
| repository: "file://./charts/CronManager" | ||
| - name: GUI | ||
| version: 0.1.0 | ||
| repository: "file://./charts/GUI" | ||
| - name: Loki | ||
| version: 0.1.0 | ||
| repository: "file://./charts/Loki" | ||
| - name: Grafana | ||
| version: 0.1.0 | ||
| repository: "file://./charts/Grafana" | ||
| - name: S3-Ferry | ||
| version: 0.1.0 | ||
| repository: "file://./charts/S3-Ferry" | ||
| - name: minio | ||
| version: 0.1.0 | ||
| repository: "file://./charts/minio" | ||
| - name: Redis | ||
| version: 0.1.0 | ||
| repository: "file://./charts/Redis" | ||
| - name: Qdrant | ||
| version: 0.1.0 | ||
| repository: "file://./charts/Qdrant" | ||
| - name: ClickHouse | ||
| version: 0.1.0 | ||
| repository: "file://./charts/ClickHouse" | ||
| - name: Langfuse-Web | ||
| version: 0.1.0 | ||
| repository: "file://./charts/Langfuse-Web" | ||
| - name: Langfuse-Worker | ||
| version: 0.1.0 | ||
| repository: "file://./charts/Langfuse-Worker" | ||
| - name: Vault | ||
| version: 0.1.0 | ||
| repository: "file://./charts/Vault" | ||
| - name: Vault-Init | ||
| version: 0.1.0 | ||
| repository: "file://./charts/Vault-Init" | ||
| - name: Vault-Agent-LLM | ||
| version: 0.1.0 | ||
| repository: "file://./charts/Vault-Agent-LLM" | ||
| - name: LLM-Orchestration-Service | ||
| version: 0.1.0 | ||
| repository: "file://./charts/LLM-Orchestration-Service" | ||
| - name: Liquibase | ||
| version: 0.1.0 | ||
| repository: "file://./charts/Liquibase" | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| apiVersion: v2 | ||
| name: Authentication-Layer | ||
| description: Authentication Layer Service for RAG | ||
| type: application | ||
| version: 0.1.0 | ||
| appVersion: "1.0" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| {{- if .Values.enabled }} | ||
| apiVersion: apps/v1 | ||
| kind: Deployment | ||
| metadata: | ||
| name: "{{ .Values.release_name }}" | ||
| labels: | ||
| app: "{{ .Values.release_name }}" | ||
| spec: | ||
| replicas: {{ .Values.replicas }} | ||
| selector: | ||
| matchLabels: | ||
| app: "{{ .Values.release_name }}" | ||
| template: | ||
| metadata: | ||
| labels: | ||
| app: "{{ .Values.release_name }}" | ||
| spec: | ||
| containers: | ||
| - name: "{{ .Values.release_name }}" | ||
| image: "{{ .Values.authentication.image.repository }}:{{ .Values.authentication.image.tag }}" | ||
| imagePullPolicy: {{ .Values.authentication.image.pullPolicy }} | ||
| ports: | ||
| - name: http | ||
| containerPort: {{ .Values.service.port }} | ||
| protocol: TCP | ||
| env: | ||
| - name: PORT | ||
| value: {{ .Values.authentication.environment.serverPort | quote }} | ||
| - name: TIM_SERVICE_URL | ||
| value: {{ .Values.authentication.environment.timServiceUrl | quote }} | ||
| - name: CORS_ORIGINS | ||
| value: {{ .Values.authentication.environment.corsOrigins | quote }} | ||
|
|
||
| {{- end }} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| {{- if .Values.ingress.enabled }} | ||
| apiVersion: networking.k8s.io/v1 | ||
| kind: Ingress | ||
| metadata: | ||
| name: "{{ .Values.release_name }}-ingress" | ||
| annotations: | ||
| kubernetes.io/ingress.class: "nginx" | ||
| nginx.ingress.kubernetes.io/enable-cors: "true" | ||
| nginx.ingress.kubernetes.io/force-ssl-redirect: "true" | ||
| cert-manager.io/cluster-issuer: {{ .Values.ingress.certIssuerName | quote }} | ||
| labels: | ||
| name: "{{ .Values.release_name }}-ingress" | ||
| spec: | ||
| rules: | ||
| - host: auth.{{ .Values.domain }} | ||
| http: | ||
| paths: | ||
| - pathType: Prefix | ||
| path: "/" | ||
| backend: | ||
| service: | ||
| name: "{{ .Values.release_name }}" | ||
| port: | ||
| number: 3004 | ||
| tls: | ||
| - hosts: | ||
| - auth.{{ .Values.domain }} | ||
| secretName: {{ .Values.secretname }} | ||
| {{- end }} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| {{- if .Values.enabled }} | ||
| apiVersion: v1 | ||
| kind: Service | ||
| metadata: | ||
| name: "{{ .Values.release_name }}" | ||
| labels: | ||
| app: "{{ .Values.release_name }}" | ||
| spec: | ||
| type: {{ .Values.service.type }} | ||
| ports: | ||
| - port: {{ .Values.service.port }} | ||
| targetPort: {{ .Values.service.port }} | ||
| protocol: TCP | ||
| name: http | ||
| selector: | ||
| app: "{{ .Values.release_name }}" | ||
| {{- end }} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| replicas: 1 | ||
| enabled: true | ||
|
|
||
|
|
||
| release_name: "authentication-layer" | ||
| domain: "rag.local" # need to set this | ||
| secretname: "authentication-layer-tls" | ||
|
|
||
| ingress: | ||
| enabled: true | ||
| certIssuerName: "letsencrypt-prod" | ||
|
|
||
| # Authentication Layer Configuration | ||
| authentication: | ||
| image: | ||
| repository: "ghcr.io/buerokratt/authentication-layer" # Update with actual auth-layer image repository | ||
| tag: "latest" | ||
| pullPolicy: Always | ||
|
|
||
| environment: | ||
| serverPort: "3004" | ||
| timServiceUrl: "http://tim:8085" | ||
| corsOrigins: "http://localhost:3001,http://localhost:3003,http://localhost:8086" | ||
|
|
||
| service: | ||
| type: ClusterIP | ||
| port: 3004 | ||
|
|
||
| resources: | ||
| requests: | ||
| memory: "10Mi" | ||
| cpu: "1m" | ||
| limits: | ||
| memory: "50Mi" | ||
| cpu: "5m" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| apiVersion: v2 | ||
| name: ClickHouse | ||
| description: ClickHouse analytics database for Langfuse | ||
| type: application | ||
| version: 0.1.0 | ||
| appVersion: "latest" |
Uh oh!
There was an error while loading. Please reload this page.