22apiVersion : v1
33kind : ConfigMap
44metadata :
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
1010data :
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-
5961apiVersion : apps/v1
6062kind : StatefulSet
6163metadata :
@@ -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 :
0 commit comments