Skip to content

Commit

Permalink
Add interoperability jobs for Tempo and OpenShift Serverless
Browse files Browse the repository at this point in the history
  • Loading branch information
IshwarKanse committed May 9, 2024
1 parent a4bae71 commit 3b0ac2b
Show file tree
Hide file tree
Showing 17 changed files with 975 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: otel-tempo-serverless
spec:
# The test case needs to run serially as it requires large resoruces and uses the knative-serving and knative-eventing static namespaces
concurrent: false
namespace: chainsaw-otel-tempo-serverless
steps:
- name: Install Minio object store
try:
- apply:
file: install-minio.yaml
- assert:
file: install-minio-assert.yaml
- name: Install TempoStack
try:
- apply:
file: install-tempo.yaml
- assert:
file: install-tempo-assert.yaml
- name: Create the OTEL collector instance
try:
- apply:
file: create-otel-collector.yaml
- assert:
file: create-otel-collector-assert.yaml
- name: Create Knative serving instance
try:
- apply:
file: create-knative-serving.yaml
- assert:
file: create-knative-serving-assert.yaml
- name: Create Knative eventing instance
try:
- apply:
file: create-knative-eventing.yaml
- assert:
file: create-knative-eventing-assert.yaml
- name: Create Knative service app instance
try:
- apply:
file: create-knative-app.yaml
- assert:
file: create-knative-app-assert.yaml
- name: Generate Traces by probing the Knative service app instance
try:
- apply:
file: generate-traces.yaml
- assert:
file: generate-traces-assert.yaml
- name: Verify the Traces in Tempo instance
try:
- apply:
file: verify-traces.yaml
- assert:
file: verify-traces-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: helloworld-go
serving.knative.dev/configuration: serverless-app
serving.knative.dev/service: serverless-app
namespace: chainsaw-otel-tempo-serverless
status:
availableReplicas: 1
readyReplicas: 1
replicas: 1

---
apiVersion: v1
kind: Service
metadata:
name: serverless-app
namespace: chainsaw-otel-tempo-serverless
spec:
externalName: kourier-internal.knative-serving-ingress.svc.cluster.local
ports:
- name: http2
port: 80
protocol: TCP
targetPort: 80
type: ExternalName

---
apiVersion: v1
kind: Service
metadata:
name: serverless-app-00001
namespace: chainsaw-otel-tempo-serverless
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8012
- name: https
port: 443
protocol: TCP
targetPort: 8112

---
apiVersion: v1
kind: Service
metadata:
name: serverless-app-00001-private
namespace: chainsaw-otel-tempo-serverless
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8012
- name: https
port: 443
protocol: TCP
targetPort: 8112
- name: http-autometric
port: 9090
protocol: TCP
targetPort: http-autometric
- name: http-usermetric
port: 9091
protocol: TCP
targetPort: http-usermetric
- name: http-queueadm
port: 8022
protocol: TCP
targetPort: 8022
- name: http-istio
port: 8012
protocol: TCP
targetPort: 8012
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: serverless-app
namespace: chainsaw-otel-tempo-serverless
spec:
template:
metadata:
labels:
app: helloworld-go
annotations:
autoscaling.knative.dev/minScale: "1"
autoscaling.knative.dev/target: "1"
spec:
containers:
- image: quay.io/openshift-knative/helloworld:v1.2
imagePullPolicy: Always
resources:
requests:
cpu: "200m"
env:
- name: TARGET
value: "Go Sample v1"
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: eventing-controller
namespace: knative-eventing
status:
availableReplicas: 2
readyReplicas: 2
replicas: 2

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: eventing-webhook
namespace: knative-eventing
status:
availableReplicas: 2
readyReplicas: 2
replicas: 2

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: imc-controller
namespace: knative-eventing
status:
availableReplicas: 2
readyReplicas: 2
replicas: 2

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: imc-dispatcher
namespace: knative-eventing
status:
availableReplicas: 2
readyReplicas: 2
replicas: 2

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mt-broker-controller
namespace: knative-eventing
status:
availableReplicas: 2
readyReplicas: 2
replicas: 2

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mt-broker-filter
namespace: knative-eventing
status:
availableReplicas: 2
readyReplicas: 2
replicas: 2

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mt-broker-ingress
namespace: knative-eventing
status:
availableReplicas: 2
readyReplicas: 2
replicas: 2

---
apiVersion: v1
kind: Pod
metadata:
labels:
app: eventing-controller
app.kubernetes.io/component: eventing-controller
app.kubernetes.io/name: knative-eventing
namespace: knative-eventing
status:
containerStatuses:
- name: eventing-controller
ready: true
started: true
- name: kube-rbac-proxy
ready: true
started: true
phase: Running
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: operator.knative.dev/v1beta1
kind: KnativeEventing
metadata:
name: serverless
namespace: knative-eventing
spec:
config:
tracing:
backend: "zipkin"
zipkin-endpoint: "http://serverless-collector-headless.chainsaw-otel-tempo-serverless.svc:9411/api/v2/spans"
debug: "false"
sample-rate: "0.1"
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: activator
namespace: knative-serving
status:
availableReplicas: 2
readyReplicas: 2
replicas: 2

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: autoscaler
namespace: knative-serving
status:
availableReplicas: 2
readyReplicas: 2
replicas: 2

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: autoscaler-hpa
namespace: knative-serving
status:
availableReplicas: 2
readyReplicas: 2
replicas: 2

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: controller
namespace: knative-serving
status:
availableReplicas: 2
readyReplicas: 2
replicas: 2

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: webhook
namespace: knative-serving
status:
availableReplicas: 2
readyReplicas: 2
replicas: 2

---
apiVersion: operator.knative.dev/v1beta1
kind: KnativeServing
metadata:
name: serverless
namespace: knative-serving
status:
conditions:
- status: "True"
type: DependenciesInstalled
- status: "True"
type: DeploymentsAvailable
- status: "True"
type: InstallSucceeded
- status: "True"
type: Ready
- status: "True"
type: VersionMigrationEligible
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: operator.knative.dev/v1beta1
kind: KnativeServing
metadata:
name: serverless
namespace: knative-serving
spec:
config:
tracing:
backend: "zipkin"
zipkin-endpoint: "http://serverless-collector-headless.chainsaw-otel-tempo-serverless.svc:9411/api/v2/spans"
debug: "false"
sample-rate: "0.1"
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: serverless-collector
namespace: chainsaw-otel-tempo-serverless
status:
availableReplicas: 1
readyReplicas: 1
replicas: 1

---
apiVersion: v1
kind: Service
metadata:
name: serverless-collector-headless
namespace: chainsaw-otel-tempo-serverless
spec:
ports:
- appProtocol: http
name: zipkin
port: 9411
protocol: TCP
targetPort: 9411
selector:
app.kubernetes.io/component: opentelemetry-collector
app.kubernetes.io/instance: chainsaw-otel-tempo-serverless.serverless
app.kubernetes.io/managed-by: opentelemetry-operator
app.kubernetes.io/part-of: opentelemetry
Loading

0 comments on commit 3b0ac2b

Please sign in to comment.