Skip to content
Merged
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
@@ -1,15 +1,15 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: tempo-monolithic-multitenancy-openshift
name: tempo-mmo
status:
readyReplicas: 1

---
apiVersion: v1
kind: Pod
metadata:
name: tempo-monolithic-multitenancy-openshift-0
name: tempo-mmo-0
status:
containerStatuses:
- name: jaeger-query
Expand All @@ -33,7 +33,7 @@ status:
apiVersion: v1
kind: Service
metadata:
name: tempo-monolithic-multitenancy-openshift-gateway
name: tempo-mmo-gateway
spec:
ports:
- name: public
Expand All @@ -48,3 +48,47 @@ spec:
port: 4317
protocol: TCP
targetPort: grpc-public

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app.kubernetes.io/component: gateway
app.kubernetes.io/instance: mmo
app.kubernetes.io/managed-by: tempo-operator
app.kubernetes.io/name: tempo-monolithic
app.kubernetes.io/namespace: chainsaw-monolithic-multitenancy
name: tempo-mmo-gateway-chainsaw-monolithic-multitenancy
rules:
- apiGroups:
- authentication.k8s.io
resources:
- tokenreviews
verbs:
- create
- apiGroups:
- authorization.k8s.io
resources:
- subjectaccessreviews
verbs:
- create
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
app.kubernetes.io/component: gateway
app.kubernetes.io/instance: mmo
app.kubernetes.io/managed-by: tempo-operator
app.kubernetes.io/name: tempo-monolithic
app.kubernetes.io/namespace: chainsaw-monolithic-multitenancy
name: tempo-mmo-gateway-chainsaw-monolithic-multitenancy
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: tempo-mmo-gateway-chainsaw-monolithic-multitenancy
subjects:
- kind: ServiceAccount
name: tempo-mmo
namespace: chainsaw-monolithic-multitenancy
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
apiVersion: tempo.grafana.com/v1alpha1
kind: TempoMonolithic
metadata:
name: monolithic-multitenancy-openshift
name: mmo
spec:
jaegerui:
enabled: true
route:
enabled: true
multitenancy:
enabled: true
mode: openshift
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ spec:

exporters:
otlp:
endpoint: tempo-monolithic-multitenancy-openshift-gateway.chainsaw-monolithic-multitenancy.svc.cluster.local:4317
endpoint: tempo-mmo-gateway.chainsaw-monolithic-multitenancy.svc.cluster.local:4317
tls:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt
auth:
authenticator: bearertokenauth
headers:
X-Scope-OrgID: dev # tenantName
otlphttp:
endpoint: https://tempo-monolithic-multitenancy-openshift-gateway.chainsaw-monolithic-multitenancy.svc.cluster.local:8080/api/traces/v1/dev
endpoint: https://tempo-mmo-gateway.chainsaw-monolithic-multitenancy.svc.cluster.local:8080/api/traces/v1/dev
tls:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt
auth:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ spec:
curl -vG \
--header "Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" \
--cacert /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt \
https://tempo-monolithic-multitenancy-openshift-gateway.chainsaw-monolithic-multitenancy.svc:8080/api/traces/v1/dev/api/traces \
https://tempo-mmo-gateway.chainsaw-monolithic-multitenancy.svc:8080/api/traces/v1/dev/api/traces \
--data-urlencode "service=grpc" \
| tee /tmp/jaeger.out

Expand Down Expand Up @@ -42,7 +42,7 @@ spec:
--header "Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" \
--cacert /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt \
--data-urlencode 'q={ resource.service.name="grpc" }' \
https://tempo-monolithic-multitenancy-openshift-gateway.chainsaw-monolithic-multitenancy.svc:8080/api/traces/v1/dev/tempo/api/search \
https://tempo-mmo-gateway.chainsaw-monolithic-multitenancy.svc:8080/api/traces/v1/dev/tempo/api/search \
| tee /tmp/tempo.out

num_traces=$(jq ".traces | length" /tmp/tempo.out)
Expand All @@ -68,7 +68,7 @@ spec:
curl -vG \
--header "Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" \
--cacert /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt \
https://tempo-monolithic-multitenancy-openshift-gateway.chainsaw-monolithic-multitenancy.svc:8080/api/traces/v1/dev/api/traces \
https://tempo-mmo-gateway.chainsaw-monolithic-multitenancy.svc:8080/api/traces/v1/dev/api/traces \
--data-urlencode "service=http" \
| tee /tmp/jaeger.out

Expand Down Expand Up @@ -96,7 +96,7 @@ spec:
--header "Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" \
--cacert /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt \
--data-urlencode 'q={ resource.service.name="http" }' \
https://tempo-monolithic-multitenancy-openshift-gateway.chainsaw-monolithic-multitenancy.svc:8080/api/traces/v1/dev/tempo/api/search \
https://tempo-mmo-gateway.chainsaw-monolithic-multitenancy.svc:8080/api/traces/v1/dev/tempo/api/search \
| tee /tmp/tempo.out

num_traces=$(jq ".traces | length" /tmp/tempo.out)
Expand Down
10 changes: 5 additions & 5 deletions tests/fixtures/chainsaw-tests/multitenancy/01-assert.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,8 @@ metadata:
app.kubernetes.io/instance: simplest
app.kubernetes.io/managed-by: tempo-operator
app.kubernetes.io/name: tempo
name: tempo-simplest-gateway
app.kubernetes.io/namespace: chainsaw-multitenancy
name: tempo-simplest-gateway-chainsaw-multitenancy
rules:
- apiGroups:
- authentication.k8s.io
Expand All @@ -109,11 +110,12 @@ metadata:
app.kubernetes.io/instance: simplest
app.kubernetes.io/managed-by: tempo-operator
app.kubernetes.io/name: tempo
name: tempo-simplest-gateway
app.kubernetes.io/namespace: chainsaw-multitenancy
name: tempo-simplest-gateway-chainsaw-multitenancy
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: tempo-simplest-gateway
name: tempo-simplest-gateway-chainsaw-multitenancy
subjects:
- kind: ServiceAccount
name: tempo-simplest-gateway
Expand Down Expand Up @@ -235,8 +237,6 @@ spec:
readOnly: true
- args:
- --log.level=warn
- --opa.admin-groups=system:cluster-admins,cluster-admin,dedicated-admin
- --opa.matcher=kubernetes_namespace_name
- --web.listen=:8082
- --web.internal.listen=:8083
- --web.healthchecks.url=http://localhost:8082
Expand Down
13 changes: 13 additions & 0 deletions tests/fixtures/chainsaw-tests/multitenancy/01-install-tempo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,19 @@ metadata:
name: simplest
namespace: chainsaw-multitenancy
spec:
retention:
global:
traces: 20h
perTenant:
dev:
traces: 10h
limits:
perTenant:
dev:
ingestion:
ingestionBurstSizeBytes: 1000000
query:
maxSearchDuration: 1h
storage:
secret:
name: minio
Expand Down
13 changes: 0 additions & 13 deletions tests/fixtures/chainsaw-tests/multitenancy/chainsaw-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ metadata:
creationTimestamp: null
name: multitenancy
spec:
concurrent: false
namespace: chainsaw-multitenancy
steps:
- name: step-00
Expand All @@ -20,18 +19,6 @@ spec:
file: 01-install-tempo.yaml
- assert:
file: 01-assert.yaml
- name: Wait for Tempo to be ready
try:
- wait:
apiVersion: tempo.grafana.com/v1alpha1
kind: TempoStack
name: simplest
namespace: chainsaw-multitenancy
timeout: 2m
for:
condition:
name: Ready
value: 'True'
- name: step-02
try:
- apply:
Expand Down