Skip to content

Commit b433bea

Browse files
Update tempo-operator to 0.17 with storage class and pod security context (#64)
1 parent 57782a4 commit b433bea

File tree

7 files changed

+36
-4
lines changed

7 files changed

+36
-4
lines changed

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ jobs:
212212
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.18.0/cert-manager.yaml
213213
kubectl wait --for=condition=available --timeout=30s deployment/cert-manager-webhook -n cert-manager
214214
215-
kubectl apply -f https://github.com/grafana/tempo-operator/releases/download/v0.16.0/tempo-operator.yaml
215+
kubectl apply -f https://github.com/grafana/tempo-operator/releases/download/v0.17.0/tempo-operator.yaml
216216
kubectl get cm tempo-operator-manager-config -n tempo-operator-system -o yaml | \
217217
sed 's/^ *grafanaOperator: false$/ grafanaOperator: true/' | \
218218
kubectl apply -f -

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ For more detailed installation instructions, refer to the [official Tempo Operat
7676

7777
1. Install the Tempo Operator:
7878
```bash
79-
$ kubectl apply -f https://github.com/grafana/tempo-operator/releases/download/v0.16.0/tempo-operator.yaml
79+
$ kubectl apply -f https://github.com/grafana/tempo-operator/releases/download/v0.17.0/tempo-operator.yaml
8080
```
8181
2. Enable the `grafanaOperator` feature gate (required for integration with Grafana):
8282
```bash
@@ -255,14 +255,20 @@ Dashboards are provisioned directly from CRDs, which means any manual edits will
255255
| prometheusOperator.replicas | int | `1` | Number of Prometheus Operator replicas to deploy. |
256256
| tempo.customConfig | object | `{}` | Add any custom Tempo configurations you require here. This should be a YAML object of additional settings for Tempo. |
257257
| tempo.enabled | string | `"-"` | Enable Tempo distributed tracing Requires manual installation of Tempo Operator Set to true to enable, false to disable, "-" to use global default |
258+
| tempo.podSecurityContext | object | `{"fsGroup":10001,"runAsGroup":10001,"runAsNonRoot":true,"runAsUser":10001}` | Pod security context for Tempo containers |
259+
| tempo.podSecurityContext.fsGroup | int | `10001` | Filesystem group ID for volume ownership and permissions |
260+
| tempo.podSecurityContext.runAsGroup | int | `10001` | Group ID to run the container processes |
261+
| tempo.podSecurityContext.runAsNonRoot | bool | `true` | Run containers as non-root user |
262+
| tempo.podSecurityContext.runAsUser | int | `10001` | User ID to run the container processes |
258263
| tempo.resources | object | `{"limits":{"cpu":"1000m","memory":"2Gi"},"requests":{"cpu":"500m","memory":"1Gi"}}` | Resource requirements for Tempo pods Adjust based on your trace volume and cluster capacity |
259264
| tempo.resources.limits.cpu | string | `"1000m"` | Maximum CPU Tempo pods can use |
260265
| tempo.resources.limits.memory | string | `"2Gi"` | Maximum memory Tempo pods can use |
261266
| tempo.resources.requests.cpu | string | `"500m"` | Minimum CPU guaranteed to Tempo pods |
262267
| tempo.resources.requests.memory | string | `"1Gi"` | Minimum memory guaranteed to Tempo pods |
263-
| tempo.storage | object | `{"traces":{"backend":"memory","size":"20Gi"}}` | Storage configuration for trace data |
268+
| tempo.storage | object | `{"traces":{"backend":"memory","size":"20Gi","storageClassName":""}}` | Storage configuration for trace data |
264269
| tempo.storage.traces.backend | string | `"memory"` | Storage backend for traces Default: in-memory storage (traces lost on pod restart) Suitable for development/testing environments only |
265270
| tempo.storage.traces.size | string | `"20Gi"` | Storage volume size For memory/pv: actual volume size For cloud backends: size of WAL (Write-Ahead Log) volume Increase for higher trace volumes or longer retention |
271+
| tempo.storage.traces.storageClassName | string | `""` | Storage class for persistent volume provisioner. Applies to both persistent volume and object storage backends. |
266272

267273
## Releases
268274

README.md.gotmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ For more detailed installation instructions, refer to the [official Tempo Operat
7070

7171
1. Install the Tempo Operator:
7272
```bash
73-
$ kubectl apply -f https://github.com/grafana/tempo-operator/releases/download/v0.16.0/tempo-operator.yaml
73+
$ kubectl apply -f https://github.com/grafana/tempo-operator/releases/download/v0.17.0/tempo-operator.yaml
7474
```
7575
2. Enable the `grafanaOperator` feature gate (required for integration with Grafana):
7676
```bash

templates/tempo/tempomonolithic.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ spec:
2020
traces:
2121
backend: {{ .backend }}
2222
size: {{ .size }}
23+
{{- if .storageClassName }}
24+
storageClassName: {{ .storageClassName }}
25+
{{- end }}
2326

2427
{{- if eq .backend "s3" }}
2528
s3:
@@ -33,6 +36,11 @@ spec:
3336
{{- end }}
3437
{{- end }}
3538

39+
{{- with .Values.tempo.podSecurityContext }}
40+
podSecurityContext:
41+
{{- toYaml . | nindent 4 }}
42+
{{- end }}
43+
3644
observability:
3745
grafana:
3846
dataSource:

tests/kubeconform/pvc-values.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ grafana:
1111
tempo:
1212
storage:
1313
traces:
14+
storageClassName: "custom-storage"
1415
backend: pv

tests/tempo/tempomonolithic_test.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,13 @@ tests:
8686
- it: should configure pv backend
8787
set:
8888
tempo.enabled: true
89+
tempo.storage.traces.storageClassName: "my-custom-storage"
8990
tempo.storage.traces.backend: pv
9091
tempo.storage.traces.size: 50Gi
9192
asserts:
93+
- equal:
94+
path: spec.storage.traces.storageClassName
95+
value: "my-custom-storage"
9296
- equal:
9397
path: spec.storage.traces.backend
9498
value: pv

values.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,19 @@ tempo:
195195
# For cloud backends: size of WAL (Write-Ahead Log) volume
196196
# Increase for higher trace volumes or longer retention
197197
size: 20Gi
198+
# -- Storage class for persistent volume provisioner. Applies to both
199+
# persistent volume and object storage backends.
200+
storageClassName: ""
201+
# -- Pod security context for Tempo containers
202+
podSecurityContext:
203+
# -- Run containers as non-root user
204+
runAsNonRoot: true
205+
# -- User ID to run the container processes
206+
runAsUser: 10001
207+
# -- Group ID to run the container processes
208+
runAsGroup: 10001
209+
# -- Filesystem group ID for volume ownership and permissions
210+
fsGroup: 10001
198211
# -- Add any custom Tempo configurations you require here. This should be a
199212
# YAML object of additional settings for Tempo.
200213
customConfig: {}

0 commit comments

Comments
 (0)