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
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"version": 1,
"entries": {
"445ed27a3872b681d98190bae61ccb84954e1bc4e140df5370be958dee776b3a": {
"last_emitted_at_ms": 1786667622371,
"message": "Verify changes work after editing. Test functionality before marking complete."
},
"79a93d4a2f8f50b95f852280616242fee1855dc99a3c75211917f55e72e95fae": {
"last_emitted_at_ms": 1786667608363,
"message": "Use parallel execution for independent tasks. Use run_in_background for long operations (npm install, builds, tests)."
}
},
"updated_at": "2026-08-14T00:33:42.371Z"
}
5 changes: 5 additions & 0 deletions helm/huly/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,8 @@ data:
AI_BOT_URL: "http://aibot:4010"
MONGO_URL: {{ ternary "mongodb://mongodb:27017" .Values.external.mongodb .Values.mongodb.enabled | quote }}
{{- end }}

{{- if .Values.hulypulse.enabled }}
PULSE_URL: "{{ $proto }}://{{ .Values.domain }}/_pulse"
PULSE_URL_INTERNAL: "http://hulypulse:8099"
{{- end }}
3 changes: 3 additions & 0 deletions helm/huly/templates/front/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ spec:
{{- if .Values.aibot.enabled }}
{{- include "huly.envConfig" (dict "name" "AI_URL" "key" "AI_URL" "root" .) | nindent 12 }}
{{- end }}
{{- if .Values.hulypulse.enabled }}
{{- include "huly.envConfig" (dict "name" "PULSE_URL" "key" "PULSE_URL" "root" .) | nindent 12 }}
{{- end }}
{{- if .Values.auth.disableSignup }}
- name: DISABLE_SIGNUP
value: "true"
Expand Down
59 changes: 59 additions & 0 deletions helm/huly/templates/hulypulse/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{{- if .Values.hulypulse.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: hulypulse
labels:
{{- include "huly.labels" . | nindent 4 }}
app: hulypulse
spec:
replicas: {{ .Values.hulypulse.replicas }}
selector:
matchLabels:
app: hulypulse
template:
metadata:
annotations:
{{- include "huly.checksumAnnotations" . | nindent 8 }}
labels:
{{- include "huly.labels" . | nindent 8 }}
app: hulypulse
spec:
{{- include "huly.scheduling" . | nindent 6 }}
containers:
- name: hulypulse
image: {{ .Values.hulyRegistry }}/service_hulypulse:{{ .Values.hulypulse.version }}
ports:
- name: http
containerPort: 8099
env:
- name: HULY_BIND_PORT
value: "8099"
- name: HULY_LOG
value: {{ .Values.hulypulse.logLevel | quote }}
{{- include "huly.envSecret" (dict "name" "HULY_TOKEN_SECRET" "key" "SERVER_SECRET" "root" .) | nindent 12 }}
- name: HULY_HEARTBEAT_TIMEOUT
value: "60"
- name: HULY_BACKEND
value: {{ .Values.hulypulse.backend | quote }}
{{- if eq .Values.hulypulse.backend "redis" }}
- name: HULY_REDIS_MODE
value: {{ .Values.hulypulse.redisMode | quote }}
- name: HULY_REDIS_URLS
value: {{ .Values.hulypulse.redisUrls | quote }}
{{- end }}
readinessProbe:
tcpSocket:
port: 8099
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
tcpSocket:
port: 8099
initialDelaySeconds: 30
periodSeconds: 30
{{- with .Values.hulypulse.resources }}
resources:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- end }}
16 changes: 16 additions & 0 deletions helm/huly/templates/hulypulse/service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{{- if .Values.hulypulse.enabled }}
apiVersion: v1
kind: Service
metadata:
name: hulypulse
labels:
{{- include "huly.labels" . | nindent 4 }}
app: hulypulse
spec:
selector:
app: hulypulse
ports:
- name: http
port: 8099
targetPort: 8099
{{- end }}
3 changes: 3 additions & 0 deletions helm/huly/templates/ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@
{{- if .Values.githubIntegration.enabled }}
{{- $backends = append $backends (dict "name" "github" "svc" "github" "port" 3500 "ws" false) }}
{{- end -}}
{{- if .Values.hulypulse.enabled }}
{{- $backends = append $backends (dict "name" "pulse" "svc" "hulypulse" "port" 8099 "ws" true) }}
{{- end -}}

{{- range $backends }}
---
Expand Down
3 changes: 3 additions & 0 deletions helm/huly/templates/transactor/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ spec:
{{- if .Values.aibot.enabled }}
{{- include "huly.envConfig" (dict "name" "AI_BOT_URL" "key" "AI_BOT_URL" "root" .) | nindent 12 }}
{{- end }}
{{- if .Values.hulypulse.enabled }}
{{- include "huly.envConfig" (dict "name" "PULSE_URL" "key" "PULSE_URL_INTERNAL" "root" .) | nindent 12 }}
{{- end }}
- name: SERVER_CURSOR_MAXTIMEMS
value: "30000"
readinessProbe:
Expand Down
17 changes: 17 additions & 0 deletions helm/huly/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,23 @@ aibot:
limits:
memory: 512Mi

# ──────────────────────────────────────────────────────────────
# HulyPulse — WebSocket push: presence, typing indicators,
# video-call knock/invite. Versioned independently of hulyVersion.
# ──────────────────────────────────────────────────────────────
hulypulse:
enabled: false
replicas: 1
version: "0.1.29"
logLevel: info
# memory needs no extra services; redis suits multi-node setups
backend: memory
redisMode: direct
redisUrls: "" # e.g. redis://redis:6379
resources:
limits:
memory: 256Mi

# ──────────────────────────────────────────────────────────────
# Backup — nightly CronJobs to S3-compatible storage
# ──────────────────────────────────────────────────────────────
Expand Down