Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
179 changes: 179 additions & 0 deletions charts/roost/templates/roost-ai-code-analyzer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: roost-ai-code-analyzer-config
namespace: {{ .Release.Namespace }}
data:
DATABASE_URL: 'postgresql://{{ .Values.aiCodeAnalyzer.db.user }}:{{ .Values.aiCodeAnalyzer.db.password }}@ai-code-analyzer-db-svc.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:5432/{{ .Values.aiCodeAnalyzer.db.database }}'
POSTGRES_DB: '{{ .Values.aiCodeAnalyzer.db.database }}'
POSTGRES_USER: '{{ .Values.aiCodeAnalyzer.db.user }}'
POSTGRES_PASSWORD: '{{ .Values.aiCodeAnalyzer.db.password }}'

---
apiVersion: v1
kind: Service
metadata:
name: ai-code-analyzer-svc
namespace: {{ .Release.Namespace }}
spec:
selector:
app: ai-code-analyzer
ports:
- protocol: TCP
port: 5060
targetPort: 5060

---
apiVersion: v1
kind: Service
metadata:
name: ai-code-analyzer-db-svc
namespace: {{ .Release.Namespace }}
spec:
selector:
app: ai-code-analyzer-db
ports:
- protocol: TCP
port: 5432
targetPort: 5432

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: ai-code-analyzer-pvc-{{ .Release.Namespace }}
namespace: {{ .Release.Namespace }}
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: {{ .Values.aiCodeAnalyzer.storage.size }}
{{- include "cluster.storageClassName" . | indent 2 }}

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: ai-code-analyzer-db-pvc-{{ .Release.Namespace }}
namespace: {{ .Release.Namespace }}
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: {{ .Values.aiCodeAnalyzer.db.storage.size }}
{{- include "cluster.storageClassName" . | indent 2 }}

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: ai-code-analyzer-db
namespace: {{ .Release.Namespace }}
spec:
replicas: 1
selector:
matchLabels:
app: ai-code-analyzer-db
template:
metadata:
labels:
app: ai-code-analyzer-db
spec:
containers:
- name: ai-code-analyzer-db
image: postgres:18-alpine
envFrom:
- configMapRef:
name: roost-ai-code-analyzer-config
env:
- name: PGDATA
value: /var/lib/postgresql/data
ports:
- containerPort: 5432
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: ai-code-analyzer-db-storage
livenessProbe:
exec:
command:
- pg_isready
- -U
- {{ .Values.aiCodeAnalyzer.db.user }}
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
exec:
command:
- pg_isready
- -U
- {{ .Values.aiCodeAnalyzer.db.user }}
initialDelaySeconds: 10
periodSeconds: 5
imagePullPolicy: Always
volumes:
- name: ai-code-analyzer-db-storage
persistentVolumeClaim:
claimName: ai-code-analyzer-db-pvc-{{ .Release.Namespace }}

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: ai-code-analyzer
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.aiCodeAnalyzer.replicas }}
selector:
matchLabels:
app: ai-code-analyzer
template:
metadata:
labels:
app: ai-code-analyzer
annotations:
checksum/config: {{ toYaml (pick .Values "aiCodeAnalyzer") | sha256sum }}
spec:
securityContext:
runAsNonRoot: true
runAsUser: 10001
runAsGroup: 10001
fsGroup: 10001
initContainers:
- name: wait-for-db
image: postgres:18-alpine
command:
- sh
- -c
- |
until pg_isready -h ai-code-analyzer-db-svc -p 5432 -U {{ .Values.aiCodeAnalyzer.db.user }};
do
echo "Waiting for postgres..."
sleep 2
done
containers:
- name: ai-code-analyzer
image: zbio/ai-io:{{ .Values.aiCodeAnalyzer.imageTag }}
envFrom:
- configMapRef:
name: roost-ai-code-analyzer-config
ports:
- containerPort: 5060
volumeMounts:
- mountPath: /app/chroma_db
subPath: chroma_db
name: ai-code-analyzer-storage
- mountPath: /app/jobs
subPath: jobs
name: ai-code-analyzer-storage
- mountPath: /app/test_artifacts
subPath: test_artifacts
name: ai-code-analyzer-storage
imagePullPolicy: Always
volumes:
- name: ai-code-analyzer-storage
persistentVolumeClaim:
claimName: ai-code-analyzer-pvc-{{ .Release.Namespace }}

---
27 changes: 26 additions & 1 deletion charts/roost/templates/roost-nginx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ data:
UI_SERVICE_NAME: roostai-react-app:4200
UI_SERVICE_PORT: '4200'
K8S_MODE: 'true'
AI_CODE_ANALYZER_SERVICE_NAME: ai-code-analyzer-svc:5060
AI_CODE_ANALYZER_SERVICE_PORT: '5060'
AI_CODE_ANALYZER_SUBDOMAIN: 'f{{ .Values.enterprise.domainURL }}'
AI_ANALYZER_DOMAIN: 'f{{ .Values.enterprise.domainURL }}'
MAIN_DOMAIN: '{{ .Values.enterprise.domainURL }}'

---
apiVersion: v1
Expand Down Expand Up @@ -117,11 +122,31 @@ spec:
namespace: {{ .Release.Namespace }}
hostnames:
- {{ .Values.enterprise.domainURL | quote }}
rules:
- matches:
- path:
type: PathPrefix
value: /
backendRefs:
- name: roost-nginx-svc
port: 80

---
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: roost-ai-code-analyzer-route
namespace: {{ .Release.Namespace }}
spec:
parentRefs:
- name: roost-gateway
namespace: {{ .Release.Namespace }}
hostnames:
- {{ printf "f%s" .Values.enterprise.domainURL | quote }}
rules:
- backendRefs:
- name: roost-nginx-svc
port: 80

---

{{- else }}
Expand Down
20 changes: 19 additions & 1 deletion charts/roost/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -233,4 +233,22 @@ pvcs:

eaasServerIp: ''
eaasServerPemKey : ''
eaasServerUsername : 'roost'
eaasServerUsername : 'roost'

aiCodeAnalyzer:
enabled: true

replicas: 1

imageTag: latest

storage:
size: 20Gi

db:
database: code_parser
user: postgres
password: '12345678'

storage:
size: 20Gi
6 changes: 3 additions & 3 deletions releases/index.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ entries:
roost:
- apiVersion: v2
appVersion: 1.0.0
created: "2026-03-25T16:17:21.816689+05:30"
created: "2026-05-13T13:43:46.603176+05:30"
description: Roost.ai, an End-to-End Testing platform using Generative AI.
digest: a56481164a691168c138d096020ac43f98350a84695c463d06e1d211552eaec6
digest: d1626eade9a17698c2cda4e142597315366ae6a568440d8e2a61a855bb7b7f95
name: roost
type: application
urls:
- https://roost-io.github.io/helm/releases/roost-1.0.0.tgz
version: 1.0.0
generated: "2026-03-25T16:17:21.815145+05:30"
generated: "2026-05-13T13:43:46.601318+05:30"
Binary file modified releases/roost-1.0.0.tgz
Binary file not shown.