Skip to content
Closed
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
6 changes: 6 additions & 0 deletions apps/codezero/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dependencies:
- name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 18.5.17
digest: sha256:e5b697e6b97321ba0386615a7cf67cb8b2f37ab4e159fad9fb5f6603a6807f6f
generated: "2026-04-13T21:21:16.724184+02:00"
23 changes: 23 additions & 0 deletions apps/codezero/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
apiVersion: v2
name: codezero
description: CodeZero — no-code workflow automation & AI orchestration platform
type: application
version: 0.1.0
appVersion: 'canary'
home: https://codezero.build
sources:
- https://github.com/code0-tech/codezero
maintainers:
- name: CNAP Technologies
url: https://cnap.tech
keywords:
- automation
- workflow
- no-code
- ai
- orchestration
dependencies:
- name: postgresql
version: "18.5.17"
repository: https://charts.bitnami.com/bitnami
condition: postgres.enabled
78 changes: 78 additions & 0 deletions apps/codezero/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
{{/*
Common labels
*/}}
{{- define "codezero.labels" -}}
app.kubernetes.io/name: {{ .Chart.Name }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Values.image.tag | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
{{- end }}

{{/*
Selector labels
*/}}
{{- define "codezero.selectorLabels" -}}
app.kubernetes.io/name: {{ .Chart.Name }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

{{/*
Full image reference for Code Zero components
*/}}
{{- define "codezero.image" -}}
{{ .Values.image.registry }}/{{ .component }}:{{ .Values.image.tag }}{{ if .edition }}-{{ .edition }}{{ end }}
{{- end }}

{{/*
Sagittarius image (includes edition suffix)
*/}}
{{- define "codezero.sagittariusImage" -}}
{{ .Values.image.registry }}/sagittarius:{{ .Values.image.tag }}-{{ .Values.image.edition }}
{{- end }}

{{/*
Sculptor image (includes edition suffix)
*/}}
{{- define "codezero.sculptorImage" -}}
{{ .Values.image.registry }}/sculptor:{{ .Values.image.tag }}-{{ .Values.image.edition }}
{{- end }}

{{/*
Component image (no edition suffix)
*/}}
{{- define "codezero.componentImage" -}}
{{ .Values.image.registry }}/{{ .component }}:{{ .Values.image.tag }}
{{- end }}

{{/*
Draco image with variant suffix
*/}}
{{- define "codezero.dracoImage" -}}
{{ .Values.image.registry }}/draco:{{ .Values.image.tag }}-{{ .variant }}
{{- end }}

{{/*
Service account name
*/}}
{{- define "codezero.serviceAccountName" -}}
{{- if .Values.serviceAccount.name }}
{{- .Values.serviceAccount.name }}
{{- else }}
{{- .Release.Name }}-codezero
{{- end }}
{{- end }}

{{/*
Config volume name
*/}}
{{- define "codezero.configVolume" -}}
{{ .Release.Name }}-generated-configs
{{- end }}

{{/*
Postgres connection details — points to Bitnami subchart service
*/}}
{{- define "codezero.postgresHost" -}}
{{ .Release.Name }}-postgresql
{{- end }}
83 changes: 83 additions & 0 deletions apps/codezero/templates/configmap-nginx.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-nginx-config
labels:
{{- include "codezero.labels" . | nindent 4 }}
data:
default.conf: |
upstream sagittarius_rails_web {
server {{ .Release.Name }}-sagittarius-web:3000;
}

upstream sagittarius_grpc {
server {{ .Release.Name }}-sagittarius-grpc:50051;
}

upstream sculptor {
server {{ .Release.Name }}-sculptor:3000;
}

server {
listen 80 http2;
server_name _;

location = /graphql {
proxy_pass http://sagittarius_rails_web;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

location = /files/upload {
proxy_pass http://sagittarius_rails_web;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 100M;
}

location = /health/liveness {
proxy_pass http://sagittarius_rails_web;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

location /good_job {
proxy_pass http://sagittarius_rails_web;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

location = /error502grpc {
internal;
default_type application/grpc;
add_header grpc-status 14;
add_header grpc-message "unavailable";
return 204;
}

location / {
if ($content_type = "application/grpc") {
grpc_pass grpc://sagittarius_grpc;
error_page 502 = /error502grpc;
}
grpc_set_header X-Real-IP $remote_addr;
grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
grpc_read_timeout 1h;
grpc_send_timeout 1h;
grpc_socket_keepalive on;

proxy_pass http://sculptor;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
16 changes: 16 additions & 0 deletions apps/codezero/templates/configmap-sagittarius.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-sagittarius-config
labels:
{{- include "codezero.labels" . | nindent 4 }}
data:
sagittarius.yml: |
rails:
web:
force_ssl: false
log_level: info
threads: 3
db:
host: {{ include "codezero.postgresHost" . | quote }}
port: "5432"
44 changes: 44 additions & 0 deletions apps/codezero/templates/deployment-nginx.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-nginx
labels:
{{- include "codezero.labels" . | nindent 4 }}
app.kubernetes.io/component: nginx
spec:
replicas: 1
selector:
matchLabels:
{{- include "codezero.selectorLabels" . | nindent 6 }}
app.kubernetes.io/component: nginx
template:
metadata:
labels:
{{- include "codezero.selectorLabels" . | nindent 8 }}
app.kubernetes.io/component: nginx
spec:
containers:
- name: nginx
image: {{ .Values.nginx.image }}
ports:
- name: http
containerPort: 80
volumeMounts:
- name: nginx-config
mountPath: /etc/nginx/conf.d
livenessProbe:
httpGet:
path: /health/liveness
port: 80
initialDelaySeconds: 10
periodSeconds: 10
readinessProbe:
httpGet:
path: /health/liveness
port: 80
initialDelaySeconds: 5
periodSeconds: 5
volumes:
- name: nginx-config
configMap:
name: {{ .Release.Name }}-nginx-config
Loading
Loading