Skip to content

Commit 47ecbdb

Browse files
Merge pull request #43 from openlit/1.15.0
1.15.0
2 parents 0d1a352 + 90deb3f commit 47ecbdb

8 files changed

Lines changed: 195 additions & 80 deletions

File tree

.github/workflows/helm-release.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,27 @@ jobs:
104104
- name: Install Helm
105105
uses: azure/setup-helm@v4
106106

107+
- name: Add Helm repositories
108+
run: |
109+
echo "📦 Adding OpenLIT Helm repository"
110+
helm repo add openlit https://openlit.github.io/helm/
111+
helm repo update
112+
echo "✅ Helm repositories added and updated"
113+
114+
- name: Build chart dependencies
115+
run: |
116+
echo "📦 Building dependencies for all charts with dependencies"
117+
for chart in charts/*/Chart.yaml; do
118+
chart_dir=$(dirname "$chart")
119+
if [ -f "$chart_dir/Chart.yaml" ] && grep -q "^dependencies:" "$chart_dir/Chart.yaml"; then
120+
echo "Building dependencies for $chart_dir"
121+
cd "$chart_dir"
122+
helm dependency build
123+
cd - > /dev/null
124+
fi
125+
done
126+
echo "✅ All chart dependencies built"
127+
107128
- name: Run chart-releaser
108129
uses: helm/chart-releaser-action@v1.6.0
109130
with:

.github/workflows/helm-test.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,13 @@ jobs:
8484
with:
8585
version: v3.12.1
8686

87+
- name: Add Helm repositories
88+
run: |
89+
echo "📦 Adding OpenLIT Helm repository"
90+
helm repo add openlit https://openlit.github.io/helm/
91+
helm repo update
92+
echo "✅ Helm repositories added and updated"
93+
8794
- name: Enforce version bump for chart changes
8895
run: |
8996
CHART_PATH="charts/${{ matrix.chart }}"
@@ -127,6 +134,13 @@ jobs:
127134
echo "ℹ️ No files changed in $CHART_PATH/ (this shouldn't happen in matrix)"
128135
fi
129136
137+
- name: Build chart dependencies
138+
run: |
139+
echo "📦 Building dependencies for chart: ${{ matrix.chart }}"
140+
cd ./charts/${{ matrix.chart }}
141+
helm dependency build
142+
echo "✅ Dependencies built for ${{ matrix.chart }}"
143+
130144
- name: Run chart linting
131145
run: |
132146
echo "🔍 Linting chart: ${{ matrix.chart }}"

charts/openlit/Chart.lock

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
dependencies:
2+
- name: openlit-operator
3+
repository: https://openlit.github.io/helm/
4+
version: 0.2.1
5+
digest: sha256:55d95e7eba90c76f827a7d92c61096a14787d7294a2f7eff3c8cc5a4b83d9336
6+
generated: "2025-11-13T12:16:01.806058+05:30"

charts/openlit/Chart.yaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ apiVersion: v2
22
name: openlit
33
description: A Helm chart for OpenLIT
44
type: application
5-
version: 1.14.6
6-
appVersion: 1.14.4
5+
version: 1.15.0
6+
appVersion: 1.15.0
77
icon: https://avatars.githubusercontent.com/u/149867240?s=200&v=4
88
home: https://openlit.io
99
sources:
@@ -20,3 +20,10 @@ maintainers:
2020
- name: OpenLIT Team
2121
email: contact@openlit.io
2222
url: https://openlit.io
23+
dependencies:
24+
- name: openlit-operator
25+
version: "0.2.1"
26+
repository: "https://openlit.github.io/helm/"
27+
condition: openlit-operator.enabled
28+
tags:
29+
- operator

charts/openlit/templates/clickhouse.yml

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,20 @@ spec:
2424
app.kubernetes.io/component: database
2525
spec:
2626
terminationGracePeriodSeconds: 10
27+
securityContext:
28+
runAsUser: 101
29+
runAsGroup: 101
30+
fsGroup: 101
2731
containers:
2832
- name: clickhouse
29-
image: clickhouse/clickhouse-server
33+
image: "{{ .Values.clickhouse.image.repository }}:{{ .Values.clickhouse.image.tag }}"
34+
imagePullPolicy: {{ .Values.clickhouse.image.pullPolicy }}
35+
securityContext:
36+
allowPrivilegeEscalation: false
37+
capabilities:
38+
drop:
39+
- ALL
40+
readOnlyRootFilesystem: false
3041
ports:
3142
- containerPort: 9000
3243
- containerPort: 8123
@@ -40,14 +51,30 @@ spec:
4051
- name: CLICKHOUSE_USER
4152
valueFrom:
4253
secretKeyRef:
43-
name: {{ .Values.clickhouse.secret.name }}
54+
name: {{ .Values.clickhouse.auth.secret.name }}
4455
key: {{ default "default" .Values.clickhouse.auth.secret.usernameKey }}
4556
{{- else }}
4657
- name: CLICKHOUSE_PASSWORD
4758
value: {{ .Values.clickhouse.auth.password | quote }}
4859
- name: CLICKHOUSE_USER
4960
value: {{ .Values.clickhouse.auth.user | quote }}
5061
{{- end }}
62+
livenessProbe:
63+
httpGet:
64+
path: /ping
65+
port: 8123
66+
initialDelaySeconds: 30
67+
periodSeconds: 10
68+
timeoutSeconds: 5
69+
failureThreshold: 3
70+
readinessProbe:
71+
httpGet:
72+
path: /ping
73+
port: 8123
74+
initialDelaySeconds: 10
75+
periodSeconds: 5
76+
timeoutSeconds: 3
77+
failureThreshold: 3
5178
resources:
5279
{{- toYaml .Values.clickhouse.resources | nindent 12 }}
5380
volumeMounts:

charts/openlit/templates/client.yaml

Lines changed: 75 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,33 @@
22
apiVersion: v1
33
kind: ConfigMap
44
metadata:
5-
name: openlit-collector-config
5+
name: {{ include "openlit.fullname" . }}-otel-config
66
labels:
77
app: {{ include "openlit.fullname" . }}
8-
# {{- include "openlit.labels" . | nindent 4 }}
9-
app.kubernetes.io/component: opentelemetry-collector
8+
{{- include "openlit.labels" . | nindent 4 }}
9+
app.kubernetes.io/component: openlit
1010
data:
11-
opentelemetry-collector-config: |
11+
otel-collector-config.yaml: |
1212
receivers:
1313
otlp:
1414
protocols:
1515
grpc:
1616
endpoint: 0.0.0.0:4317
1717
http:
1818
endpoint: 0.0.0.0:4318
19+
1920
processors:
2021
batch:
2122
memory_limiter:
23+
# 80% of maximum memory up to 2G
2224
limit_mib: 1500
25+
# 25% of limit up to 2G
2326
spike_limit_mib: 512
2427
check_interval: 5s
25-
extensions:
26-
zpages: {}
28+
2729
exporters:
2830
clickhouse:
29-
endpoint: tcp://${env:INIT_DB_HOST}:${env:INIT_DB_PORT}?dial_timeout=10s
31+
endpoint: tcp://${env:INIT_DB_HOST}:9000?dial_timeout=10s
3032
database: ${env:INIT_DB_DATABASE}
3133
username: ${env:INIT_DB_USERNAME}
3234
password: ${env:INIT_DB_PASSWORD}
@@ -40,22 +42,22 @@ data:
4042
initial_interval: 5s
4143
max_interval: 30s
4244
max_elapsed_time: 300s
45+
4346
service:
4447
pipelines:
4548
logs:
46-
receivers: [ otlp ]
47-
processors: [ batch ]
48-
exporters: [ clickhouse ]
49+
receivers: [otlp]
50+
processors: [batch]
51+
exporters: [clickhouse]
4952
traces:
50-
receivers: [ otlp ]
53+
receivers: [otlp]
5154
processors: [memory_limiter, batch]
52-
exporters: [ clickhouse ]
55+
exporters: [clickhouse]
5356
metrics:
54-
receivers: [ otlp ]
57+
receivers: [otlp]
5558
processors: [memory_limiter, batch]
56-
exporters: [ clickhouse ]
59+
exporters: [clickhouse]
5760
---
58-
5961
apiVersion: apps/v1
6062
kind: StatefulSet
6163
metadata:
@@ -105,9 +107,24 @@ spec:
105107
- name: openlit
106108
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
107109
imagePullPolicy: {{ .Values.image.pullPolicy }}
110+
securityContext:
111+
allowPrivilegeEscalation: false
112+
capabilities:
113+
drop:
114+
- ALL
115+
readOnlyRootFilesystem: false
108116
ports:
109117
- containerPort: {{ .Values.service.port }}
118+
name: http
119+
- containerPort: 4317
120+
name: otlp-grpc
121+
- containerPort: 4318
122+
name: otlp-http
110123
env:
124+
- name: PORT
125+
value: "{{ .Values.service.port }}"
126+
- name: HOSTNAME
127+
value: "0.0.0.0"
111128
- name: TELEMETRY_ENABLED
112129
value: "{{ .Values.config.usageMetrics }}"
113130
{{- if .Values.clickhouse.enabled }}
@@ -146,68 +163,56 @@ spec:
146163
- name: DEMO_ACCOUNT_PASSWORD
147164
value: "{{ .Values.config.preview_mode.account_password }}"
148165
{{- end }}
166+
- name: OPAMP_ENVIRONMENT
167+
value: "{{ .Values.config.opamp.environment }}"
168+
- name: OPAMP_TLS_INSECURE_SKIP_VERIFY
169+
value: "{{ .Values.config.opamp.tlsInsecureSkipVerify }}"
170+
- name: OPAMP_TLS_REQUIRE_CLIENT_CERT
171+
value: "{{ .Values.config.opamp.tlsRequireClientCert }}"
172+
- name: OPAMP_TLS_MIN_VERSION
173+
value: "{{ .Values.config.opamp.tlsMinVersion }}"
174+
- name: OPAMP_TLS_MAX_VERSION
175+
value: "{{ .Values.config.opamp.tlsMaxVersion }}"
176+
- name: OPAMP_LOG_LEVEL
177+
value: "{{ .Values.config.opamp.logLevel }}"
178+
livenessProbe:
179+
httpGet:
180+
path: /
181+
port: http
182+
initialDelaySeconds: 60
183+
periodSeconds: 10
184+
timeoutSeconds: 5
185+
failureThreshold: 3
186+
readinessProbe:
187+
httpGet:
188+
path: /
189+
port: http
190+
initialDelaySeconds: 30
191+
periodSeconds: 10
192+
timeoutSeconds: 5
193+
failureThreshold: 3
149194
resources:
150195
{{- toYaml .Values.resources | nindent 10 }}
151-
{{- if .Values.persistence.enabled }}
152196
volumeMounts:
197+
{{- if .Values.persistence.enabled }}
153198
- name: openlit-data
154199
mountPath: /app/client/data
155-
{{- end }}
156-
- name: opentelemetry-collector
157-
image: otel/opentelemetry-collector-contrib:0.94.0
158-
command:
159-
- "/otelcol-contrib"
160-
- "--config=/conf/opentelemetry-collector-config.yaml"
161-
ports:
162-
- containerPort: 4317
163-
- containerPort: 4318
164-
env:
165-
{{- if .Values.clickhouse.enabled }}
166-
- name: INIT_DB_HOST
167-
value: "{{ .Release.Name }}-db.{{ .Release.Namespace }}.svc.cluster.local"
168-
{{- else }}
169-
- name: INIT_DB_HOST
170-
value: "{{ .Values.config.database.host }}"
171200
{{- end }}
172-
- name: INIT_DB_PORT
173-
value: "9000"
174-
- name: INIT_DB_DATABASE
175-
value: "{{ .Values.config.database.name }}"
176-
{{ if .Values.config.secret }}
177-
- name: INIT_DB_USERNAME
178-
valueFrom:
179-
secretKeyRef:
180-
name: {{ .Values.config.secret.name }}
181-
key: {{ .Values.config.secret.usernameKey }}
182-
- name: INIT_DB_PASSWORD
183-
valueFrom:
184-
secretKeyRef:
185-
name: {{ .Values.config.secret.name }}
186-
key: {{ .Values.config.secret.passwordKey }}
187-
{{ else }}
188-
- name: INIT_DB_USERNAME
189-
value: "{{ .Values.config.database.username }}"
190-
- name: INIT_DB_PASSWORD
191-
value: "{{ .Values.config.database.password }}"
192-
{{- end }}
193-
volumeMounts:
194-
- name: opentelemetry-collector-config-vol
195-
mountPath: /conf
196-
volumes:
197-
- name: opentelemetry-collector-config-vol
198-
configMap:
199-
name: openlit-collector-config
200-
items:
201-
- key: opentelemetry-collector-config
202-
path: opentelemetry-collector-config.yaml
201+
- name: otel-config
202+
mountPath: /etc/otel
203+
- name: otel-collector-config
204+
mountPath: /etc/otel/otel-collector-config.yaml
205+
subPath: otel-collector-config.yaml
203206
{{- if .Values.imagePullSecrets }}
204207
imagePullSecrets:
205208
{{- range .Values.imagePullSecrets }}
206209
- name: {{ . }}
207210
{{- end }}
208211
{{- end }}
212+
{{- with .Values.nodeSelector }}
209213
nodeSelector:
210-
{{ toYaml .Values.nodeSelector | nindent 8 }}
214+
{{- toYaml . | nindent 8 }}
215+
{{- end }}
211216
{{- if .Values.tolerations }}
212217
tolerations:
213218
{{- toYaml .Values.tolerations | nindent 8 }}
@@ -216,6 +221,12 @@ spec:
216221
affinity:
217222
{{- toYaml .Values.affinity | nindent 8 }}
218223
{{- end }}
224+
volumes:
225+
- name: otel-config
226+
emptyDir: {}
227+
- name: otel-collector-config
228+
configMap:
229+
name: {{ include "openlit.fullname" . }}-otel-config
219230
{{- if .Values.persistence.enabled }}
220231
volumeClaimTemplates:
221232
- metadata:

charts/openlit/templates/ingress.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ spec:
5050
backend:
5151
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
5252
service:
53-
name: openlit
53+
name: {{ include "openlit.fullname" $ }}
5454
port:
5555
number: {{ $svcPort }}
5656
{{- else }}
57-
serviceName: {{ include "openlit.fullname" . }}
57+
serviceName: {{ include "openlit.fullname" $ }}
5858
servicePort: {{ $svcPort }}
5959
{{- end }}
6060
{{- end }}

0 commit comments

Comments
 (0)