Skip to content

Commit 3e39da1

Browse files
ciaranRocheclaude
andcommitted
Fix Helm chart for Kubernetes deployment (HYPERFLEET-312)
- Fix bind addresses to use :PORT format for all interfaces - Add health and metrics ports to deployment - Fix health probe path from /healthz to /healthcheck - Add app.kubernetes.io/component label to differentiate from PostgreSQL - Add .helmignore to exclude .git from chart packaging - Add configurable server bind addresses in values.yaml 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent ba0c890 commit 3e39da1

4 files changed

Lines changed: 49 additions & 4 deletions

File tree

charts/.helmignore

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Patterns to ignore when building packages.
2+
# This supports shell glob matching, relative path matching, and
3+
# negation (prefixed with !). Only one pattern per line.
4+
.DS_Store
5+
# Common VCS dirs
6+
.git/
7+
.gitignore
8+
.bzr/
9+
.bzrignore
10+
.hg/
11+
.hgignore
12+
.svn/
13+
# Common backup files
14+
*.swp
15+
*.bak
16+
*.tmp
17+
*.orig
18+
*~
19+
# Various IDEs
20+
.project
21+
.idea/
22+
*.tmproj
23+
.vscode/
24+
# Parent directory patterns
25+
../.git/
26+
../../.git/

charts/templates/_helpers.tpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ Selector labels
4848
{{- define "hyperfleet-api.selectorLabels" -}}
4949
app.kubernetes.io/name: {{ include "hyperfleet-api.name" . }}
5050
app.kubernetes.io/instance: {{ .Release.Name }}
51+
app.kubernetes.io/component: api
5152
{{- end }}
5253

5354
{{/*

charts/templates/deployment.yaml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,21 @@ spec:
4040
image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
4141
imagePullPolicy: {{ .Values.image.pullPolicy }}
4242
workingDir: /app
43+
args:
44+
- serve
45+
- --api-server-bindaddress={{ .Values.server.bindAddress | default ":8000" }}
46+
- --health-check-server-bindaddress={{ .Values.server.healthBindAddress | default ":8083" }}
47+
- --metrics-server-bindaddress={{ .Values.server.metricsBindAddress | default ":8080" }}
4348
ports:
4449
- name: http
4550
containerPort: 8000
4651
protocol: TCP
52+
- name: health
53+
containerPort: 8083
54+
protocol: TCP
55+
- name: metrics
56+
containerPort: 8080
57+
protocol: TCP
4758
env:
4859
{{- if .Values.auth.jwksUrl }}
4960
- name: JWKS_URL
@@ -61,16 +72,16 @@ spec:
6172
{{- end }}
6273
livenessProbe:
6374
httpGet:
64-
path: /healthz
65-
port: http
75+
path: /healthcheck
76+
port: health
6677
initialDelaySeconds: 30
6778
periodSeconds: 10
6879
timeoutSeconds: 5
6980
failureThreshold: 3
7081
readinessProbe:
7182
httpGet:
72-
path: /healthz
73-
port: http
83+
path: /healthcheck
84+
port: health
7485
initialDelaySeconds: 5
7586
periodSeconds: 5
7687
timeoutSeconds: 3

charts/values.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@ imagePullSecrets: []
1313
nameOverride: ""
1414
fullnameOverride: ""
1515

16+
# Server bind addresses
17+
# Use ":PORT" format to bind to all interfaces (required for Kubernetes)
18+
server:
19+
bindAddress: ":8000"
20+
healthBindAddress: ":8083"
21+
metricsBindAddress: ":8080"
22+
1623
serviceAccount:
1724
# Specifies whether a service account should be created
1825
create: true

0 commit comments

Comments
 (0)