Skip to content

Commit 5e268ae

Browse files
committed
Add e2e test case for multi-cluster by exposing OTEL collector.
1 parent 55d4ed9 commit 5e268ae

File tree

6 files changed

+129
-0
lines changed

6 files changed

+129
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
apiVersion: project.openshift.io/v1
2+
kind: Project
3+
metadata:
4+
name: kuttl-multi-cluster
5+
status:
6+
phase: Active
7+
8+
---
9+
apiVersion: cert-manager.io/v1
10+
kind: ClusterIssuer
11+
metadata:
12+
name: letsencrypt-staging
13+
spec:
14+
acme:
15+
preferredChain: ""
16+
privateKeySecretRef:
17+
name: private-key-lets-encrypt
18+
server: https://acme-staging-v02.api.letsencrypt.org/directory
19+
solvers:
20+
- http01:
21+
ingress:
22+
class: openshift-default
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
apiVersion: v1
2+
kind: Namespace
3+
metadata:
4+
name: kuttl-multi-cluster
5+
6+
---
7+
apiVersion: cert-manager.io/v1
8+
kind: ClusterIssuer
9+
metadata:
10+
name: letsencrypt-staging
11+
namespace: observability
12+
spec:
13+
acme:
14+
preferredChain: ""
15+
privateKeySecretRef:
16+
name: private-key-lets-encrypt
17+
server: https://acme-staging-v02.api.letsencrypt.org/directory
18+
solvers:
19+
- http01:
20+
ingress:
21+
class: openshift-default
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
namespace: kuttl-multi-cluster
5+
name: jaeger-allinone
6+
status:
7+
availableReplicas: 1
8+
readyReplicas: 1
9+
replicas: 1
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
apiVersion: jaegertracing.io/v1
2+
kind: Jaeger
3+
metadata:
4+
name: jaeger-allinone
5+
namespace: kuttl-multi-cluster
6+
spec:
7+
strategy: allinone
8+
ingress:
9+
security: none
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
apiVersion: kuttl.dev/v1beta1
3+
kind: TestStep
4+
commands:
5+
- script: ./create_basic_auth_creds.sh
6+
7+
---
8+
apiVersion: opentelemetry.io/v1alpha1
9+
kind: OpenTelemetryCollector
10+
metadata:
11+
name: otlp-receiver
12+
namespace: kuttl-multi-cluster
13+
spec:
14+
mode: "deployment"
15+
ingress:
16+
type: route
17+
annotations:
18+
acme.cert-manager.io/http01-ingress-class: openshift-default
19+
route:
20+
termination: "edge"
21+
env:
22+
- name: BASIC_AUTH_USERNAME
23+
valueFrom:
24+
secretKeyRef:
25+
name: my-credentials
26+
key: username
27+
- name: BASIC_AUTH_PASSWORD
28+
valueFrom:
29+
secretKeyRef:
30+
name: my-credentials
31+
key: password
32+
config: |
33+
extensions:
34+
basicauth/server:
35+
htpasswd:
36+
inline: |
37+
${env:BASIC_AUTH_USERNAME}:${env:BASIC_AUTH_PASSWORD}
38+
receivers:
39+
otlp:
40+
protocols:
41+
http:
42+
auth:
43+
authenticator: basicauth/server
44+
exporters:
45+
otlp:
46+
endpoint: "jaeger-allinone.kuttl-multi-cluster.svc:4317"
47+
tls:
48+
insecure: true
49+
service:
50+
pipelines:
51+
traces:
52+
receivers: [otlp]
53+
processors: []
54+
exporters: [otlp]
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
3+
# Generate a random username and password
4+
username=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1)
5+
password=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 1)
6+
7+
# Encode the username and password in Base64
8+
encoded_username=$(echo -n "$username" | base64)
9+
encoded_password=$(echo -n "$password" | base64)
10+
11+
# Create the OpenShift secret using oc create secret
12+
oc -n kuttl-multi-cluster create secret generic my-credentials \
13+
--from-literal=username="$encoded_username" \
14+
--from-literal=password="$encoded_password"

0 commit comments

Comments
 (0)