Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Chore] Use OTEL operator with pinned version in upstream CI and fix tests #1086

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
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
16 changes: 14 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,13 @@ endif
ECHO ?= @echo $(echo_prefix)


# Default namespace of the operator
# Default namespace of the Tempo operator
OPERATOR_NAMESPACE ?= tempo-operator-system

# OpenTelemetry operator installation vars
OTEL_OPERATOR_NAMESPACE ?= otel-operator-system
OTEL_BUNDLE_IMG ?= "ghcr.io/open-telemetry/opentelemetry-operator/operator-bundle:v0.115.0"

# CHANNELS define the bundle channels used in the bundle.
# Add a new line here if you would like to change its default config. (E.g CHANNELS = "candidate,fast,stable")
# To re-generate a bundle for other specific channels without changing the standard setup, you can:
Expand Down Expand Up @@ -214,6 +218,14 @@ olm-deploy: operator-sdk ## Deploy operator via OLM
olm-upgrade: operator-sdk ## Upgrade operator via OLM
$(OPERATOR_SDK) run bundle-upgrade -n $(OPERATOR_NAMESPACE) $(BUNDLE_IMG)

##@ OpenTelemetry Operator deployment
.PHONY: otel-deploy
otel-deploy: operator-sdk ## Deploy OpenTelemetry operator via OLM
kubectl create namespace otel-operator-system
# Wait for OLM components to be ready
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does the otel-deploy target need to wait for the OLM installation, shouldn't the place where OLM is installed wait for completion?

sleep 20s
$(OPERATOR_SDK) run bundle --timeout=5m --security-context-config=restricted -n $(OTEL_OPERATOR_NAMESPACE) $(OTEL_BUNDLE_IMG)

##@ Build Dependencies

## Location to install dependencies to
Expand Down Expand Up @@ -381,7 +393,7 @@ deploy-minio:

# generic end-to-tests
.PHONY: prepare-e2e
prepare-e2e: chainsaw start-kind cert-manager set-test-image-vars build docker-build load-image-operator deploy
prepare-e2e: chainsaw start-kind cert-manager set-test-image-vars build docker-build load-image-operator deploy olm-install otel-deploy

.PHONY: e2e
e2e:
Expand Down
14 changes: 14 additions & 0 deletions tests/e2e/monolithic-ingestion-mtls/02-assert.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,23 @@ kind: Deployment
metadata:
name: opentelemetry-collector
status:
availableReplicas: 1
readyReplicas: 1
replicas: 1

---
apiVersion: v1
kind: Service
metadata:
name: opentelemetry-collector
spec:
ports:
- appProtocol: grpc
name: otlp-grpc
port: 4317
protocol: TCP
targetPort: 4317
selector:
app.kubernetes.io/component: opentelemetry-collector
app.kubernetes.io/managed-by: opentelemetry-operator
app.kubernetes.io/part-of: opentelemetry
94 changes: 24 additions & 70 deletions tests/e2e/monolithic-ingestion-mtls/02-install-otel.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,32 @@ metadata:
data:
tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZQRENDQXlTZ0F3SUJBZ0lVV1ZZcE9WdmJhdVU5Sk01SG94cklncHNjYVpRd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0V6RVJNQThHQTFVRUF3d0lUWGxFWlcxdlEwRXdJQmNOTWpRd01URTVNVFl5TlRFNVdoZ1BNakV5TXpFeQpNall4TmpJMU1UbGFNQ0l4SURBZUJnTlZCQU1NRjI5d1pXNTBaV3hsYldWMGNua3RZMjlzYkdWamRHOXlNSUlDCklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUEwa05CTCtjYXhZeWF2YVZ1cnBuVlBjQkMKWnJQdlE0elQwUEpWeUg0VVlIbFZZa2J2WFFZVHFiSklHVURLOEdsM3R4d1QrQ1lINytBK2MzS0RVQU1qS1VreApKUDNCeXlOcUl6bzBiYzg3b1ptTnZZYWdyTkJpNDdVZWNJc0pSRzB2WFhuKy9ZRjU0STNKS1JXRllvNE5EN2sxCnJOa1BXYjJaVXRGaEZFZXRaOENsaDM1dWlRMEFsUW40OGprWU1UQlVITXQ4NVlJaHYwT0h2UkdIdWxXOXBvWWwKb0d1bklsYVR4MzA3Q0V1SVRsTk5KUzVWQUp3cUxBeG1kZFZoOFBXK2g2VU5nakVFOTdRdUYxYmJEOW9kRmwwSQpkNTBQL1V5cStYV2J6cmoyVzRPWUdDcUZWb1RQTkpBbUJ0aTg1Qm9jR1JVTlpBN2lyWEhOc0ZSRGJDbHdNV2dYCnlscCtJUHZLUDJnMWFpK25JUlNjWnkxSFlpQjlPZHNzbWJncFd6K3RYODFCalJ1ZHVaNW8yQU5NM3hlOVBUT1UKS2NXc1IwZGppUVVzZE5SZGdsc2ZTOTNsYW1jcURiY01YNTFlaG5HKzlGL2U3bGJJa1Nlc1NPcENjV2hzZllYVgpuK3dDempaN3ljNnd4Y1BxdU9vNm5ialMvMElYa0ExRjNhRkYxSTQ4NEh0WXZxUVV4UXIvQTFFcXdLZlFkUVFlClI1VFF1UCsvUzB4bDRhSXdudUtlUGN0WVQwUjA3S2JYQkpOeGxWMUJEUWdveGpLelhuOUxOVEQ5bXZlU3VKZEoKK1M4T3lLakVXeXRneXJUZm9Mc0dCcE8zRTFDdVFwU1dOYmQ2TnNtSFd4WmhGTUZ3ZklSKzhxWVdjdmdkMVhCVgp4R0Q2TDJ0aW5iczFaKzRZZkRrQ0F3RUFBYU4zTUhVd0hRWURWUjBPQkJZRUZIRzB3aTgwQjRpaThiaEFxYm9nCkVLUnhkZlI3TUI4R0ExVWRJd1FZTUJhQUZMNHZUaFhVUnVpWWpsWDQ4Z2RiRjRlaWtpbVRNQThHQTFVZEV3RUIKL3dRRk1BTUJBZjh3SWdZRFZSMFJCQnN3R1lJWGIzQmxiblJsYkdWdFpYUnllUzFqYjJ4c1pXTjBiM0l3RFFZSgpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFDUHFSaXhmS0dVN1FBZkEzZk9nMGo2QjNGbk84U1dwTTlud2lDUjQvRGNUCnVndWZZQUxZenkydkEvZDdKMUlFdHlzb0YxOERqUDg2REtPZktCV3JEYVdGMUpPc0tpVW4zcC9vMHVFRFdEL1AKVTF1M0dRMWZ6dWx3V3JLdGZSWUU0QXRBSmRJOEZFR2JWb0M4SUc1Qk9yRmxhWVNRazF5Z0Q1Q1pFRTcrb2kvbApFdG1qUm93cXI4UHB3YkpOVmNCazBOS3h2a2x1OEVCUk93ZyswQzVhRjMyL0NrM0Z5V3RwZFZJcVNYd2FGcVVYCjZ6UGJMRlNLdFdJQWdrZE1jaGw1YVZmLzF6dTFXZXZ2YngvM1BkRWpkTVRhbGhRNzRvQnhsbFpKd2l6MUd5MTgKbGM4N3JoSitaRUFDZjF3dXNVUEo3SUxJcllRNXhMNk12U3hlbk4ySU04WWJZTk5hZ1NFT0diell4d0xmaDlWYwpTZDVIb0M3RmV3bzZ4bnZ5WVQ3TDQ5WGVjaE9IbDRJanZpYVR2UkZmbTlJYVpHR01Gb1BOb01JMEZEUnZ1S2xBCm11SEJEWXp6Z2d3eTJYMjllVG5VdGtIQVJheXZrUkRWYUFBaFlWUHVYbXBPRi9tK29ySTVKcWpvUTU2ejI0bHcKSWZnQWZOUnlKQjVqS3BqUzh0L1Q4UTJFa1hxKzIxTitoZEwrMUNxelRGSzBETTVoVjNGdi9GZ0thQjN3azVobgpyVXJrYlA1Tllpc3ZJY1VrbWF6dEtyYTQ5R2RyS0xOZDVCQmQ2dGd2VjQrZ3Vqb2JkNHdhUzBQZDE2K25XVm5BCm9YdkVLR1hCRlJZNnJYUEJpQUptLzhPejlrWTE4ODZjeC9TZTZwZ1NSaVVENHZNakRhSkwrZkEwUWhHSUpJNVMKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRZ0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQ1N3d2dna29BZ0VBQW9JQ0FRRFNRMEV2NXhyRmpKcTkKcFc2dW1kVTl3RUptcys5RGpOUFE4bFhJZmhSZ2VWVmlSdTlkQmhPcHNrZ1pRTXJ3YVhlM0hCUDRKZ2Z2NEQ1egpjb05RQXlNcFNURWsvY0hMSTJvak9qUnR6enVobVkyOWhxQ3MwR0xqdFI1d2l3bEViUzlkZWY3OWdYbmdqY2twCkZZVmlqZzBQdVRXczJROVp2WmxTMFdFVVI2MW53S1dIZm02SkRRQ1ZDZmp5T1JneE1GUWN5M3psZ2lHL1E0ZTkKRVllNlZiMm1oaVdnYTZjaVZwUEhmVHNJUzRoT1UwMGxMbFVBbkNvc0RHWjExV0h3OWI2SHBRMkNNUVQzdEM0WApWdHNQMmgwV1hRaDNuUS85VEtyNWRadk91UFpiZzVnWUtvVldoTTgwa0NZRzJMemtHaHdaRlExa0R1S3RjYzJ3ClZFTnNLWEF4YUJmS1duNGcrOG8vYURWcUw2Y2hGSnhuTFVkaUlIMDUyeXladUNsYlA2MWZ6VUdORzUyNW5talkKQTB6ZkY3MDlNNVFweGF4SFIyT0pCU3gwMUYyQ1d4OUwzZVZxWnlvTnR3eGZuVjZHY2I3MFg5N3VWc2lSSjZ4SQo2a0p4YUd4OWhkV2Y3QUxPTm52SnpyREZ3K3E0NmpxZHVOTC9RaGVRRFVYZG9VWFVqanpnZTFpK3BCVEZDdjhEClVTckFwOUIxQkI1SGxOQzQvNzlMVEdYaG9qQ2U0cDQ5eTFoUFJIVHNwdGNFazNHVlhVRU5DQ2pHTXJOZWYwczEKTVAyYTk1SzRsMG41THc3SXFNUmJLMkRLdE4rZ3V3WUdrN2NUVUs1Q2xKWTF0M28yeVlkYkZtRVV3WEI4aEg3eQpwaFp5K0IzVmNGWEVZUG92YTJLZHV6Vm43aGg4T1FJREFRQUJBb0lDQUFDSis1akwxdDI2eG9yRjZjcTR5anNtClN3VklZTXlqaDhkNVY0NzBBOGxiaGtTQ09ncmJBU0htT3hrVmVXKzBWWUk2cURKeXBvS082Sm9US1JNRGJ3dWsKREdRejRsTksrL0tySzRjOGlNS1pTaXU2Tko4OHlZUWI2c0FQR3k3NXVLMWNxcktycWt4UkVMcnlPeTFOZitzUwpabmpTOVo4ZFJVOVpDZzZyUUY2THQrRHBDZzkvNFFpQXhncVk2dDcxYU1IS0k3L1MzWk5IOFFrakNsNEg2anlMCkMzMmx5UC9saU90eC9yeSt0Tksrayt3TWVsdE9DeTJodW9HQzBvVnptOUZ0TXVPcWpJQzJEWWd4eU0zNW1TbDkKZzVBSzd3ZVBNc0VBOUMxTGZCWXYrQ3ZYc0EvUXQxZERKMVhOS0c3TlFsVXVJS0twQnh1NnR2UkV3d2Q3ODdXcgpoZmRHdDNoeHhoc01jbm9jekE2MStDdmYrYmMxZWFOSU92a216THJOZHV1Rk0rOWR3RHFsOHhVZXZwd3FrTkZLCldHWDhKclQ4eFpuWmxyM05ESEFMNWUzTTBMa0pjN1Exck1uWXZDOHFNaXZqZks2MW0wUUR1TDJSWk9tUjZMekMKalMybk5Dd1o1M2FISzJpOE5jaERmQi9qS2Exc0hMaGg4cHRrcXlNZ0F1TGZuc1hyK2wwd1d6M0MxY3IvaXdHTApNa2tNVzBDL0l2ektJcW5jUllVNndWTzMzU2l6Vjdyb2dNY09TVjZQVENvVWhRUzZaS0NVeU5MZmhWdHJDektjCnVZRXNvVU8zWEJ1VWYvRHliNDEyUERoQkp3NG9nbXZiNHkzWTRDbFZFR3MzbGw4Nm10VDFyazVsSzRRRXk5U04KcW1rcXlpeTVTWWlINEEvdmNlU0JBb0lCQVFEdnlxTDZmN2hZYmFDNEsxVlprN0tXaHFUdWQyeVFqNjhDSUtJaApNVzVvaWpONkdaamJMK3k1cTgwY2tJZ3cwNi84Z0JhS1dKT3g0d0tQV3NhR0tjWnNKaEFkTDEza241MlROeHNXCmFzVEVaVmV6RlAzb2FWVmtLWGZXWU5tOXFINWxXMzVZdEZaUDVOTnRiSjRCbE5ZZUxlSldNSGtpRE5JaHA3dHgKQmtWQVFaYklKMEdCeU9UN3d5bHlkRHVNZ2p2OTJyQTNFWWRWUDBIdCsxTDNxWnFYbkZiSjdUeDI0TUQyaVliVwpORGJKTUlaVHl0NG9sRGJsRDRDdUROZ0FYWWk3LzkyeUdVaFpacVJKMTlGcHFPVnpieXcyc1FqUmVzVWRLcElMClIrSnJvRHViSldpS20wamtGR3dNUmpPVzViU1JVV3JaYktOMmQ5Sy9hZXVuTGF1TkFvSUJBUURnZWFaVnRvdFEKUE9Qd3d5SWlBZVZQQnNJRmlBOHRIU1o2TG03SzlYdklVbTh2YWlKeHpyZEp1RjF6Vm1GTkNEOUFzZ3hNanVzOApPWHVCRzhEcFJGbmwza1BDOWtZbCs3Y3VnS25UR0hzQXBheHU5MXFvVUpLajRtQWNTc281aVJKL0RCcmwyN2ZJCnh4RFlPQndtSGs2VW1lRUs2c1p5SEVZTG9pOTdvV1h2ZlB5ODMrYW45TU9JZTZ3S0R5ZWtjU05oOC9yMXF6bzMKR0llb1pIZm9iRmswMDNkNS9IL0F1MmhKS1plTDFIWHhiL05nYURJVVB6R2tTR3JYN0Voek9NSkN1d1h6SmJ4UApvbUNmTjRmMUhvR3l2Ym5MeWlPS2dpcTExclhmL2pRRjVySEI5RlZrZEZkcXJYVWMveksyeUZ1TFF4U25DREZaCkdNaldVZDZOUmxKZEFvSUJBUUM0Wmw0YXdPa2twM2wyNTJ3RkxMMmpYL3VwbnBFUVFrNVZGbjlYZzBuaWZwVEQKaXJldnB4VW1XMldxVjhORHVTYVd5SEdOQmp6ZUNUTEl4d2Z2MkdSTWVxRGRzTFZGd1RGT0tveGNHdE1pTE1UYQpaSVExbS9zY3dYNzBqeG9pN1ZYMTMvd3pmc3I1T1lFVm52ZUxROGU5QVpBU3M4Z1RWVVNxdVBBK0pKSlFyWitrClgvdlNNSWxXeW1ndktnODVLRlcyQzl5REhLbXo5cWRldVd5K0krRk1RZC9EL1BvSWVTSXE5T3VLQWpFM1dtZVMKUEduSFR1TkFGMEhmbHVUc3N3RVpnZFFjeDdDSmY1TkxiZm9PaE9HZWVabkluUytvMS82SlJWbDE3MXZCWkVFeQpOL3hDeXRPdEFiOXRXUGNIVGJJa0pqWkM2WFp5L2daRlNORDlpUE5wQW9JQkFFQXNoeEVhRHRueGpualdVSHZJCmJ2WVl5SDhzVnFwZkd4RHpGVm1RdE1LZ1Rva1BucWxLbjd2RHFYTy96akZubWkyMHVTOXA3SFpiT0tQQWUzWTAKeEQ2alBGd1FiQjJQeU43U2licC8xU3BxTXRIR2hYUjVGSE1sMUxSQjdXNWxjWlJBc2EvbEVMV2xzM3NkRDI4VwpXd0RBdlVXUnVRb0dhMEFJTGVyNlNWb2VNV01OMzdORWxtSCtlVUNtOUg1ZW1lNzNBVmdhaTVvVXVUTzdCVXk5CkxRT2RNUnIreE1ja3pMdWQyR1Z4YUFhT0t0WDA4OXcxOU1zeXFOanlCQVJzeFp5dU94VTRSSTIvcmovV2NGZnoKVU1ENDNKVVdSUExrSTdHNG9HWlpGaVpadlpmbGNrUTF2b2dRN3RwTFd3UkdZMlY4MS9xb3JQTDcwdTd5bU4xcQpyVUVDZ2dFQVNvVnZucXpkZktXcGRuYk9ZOER0bWd3TW5FQ1VueXBqSDdJOTJubEwxdzN2QnV3blNMSVRtdmFCCkMyTjF2amJQNUhpSHJQMlBySVJhTFlNR05GZ2pUaXNGTmlkUWdydU5RWDhwMWJTYm9WZHpOc2l5RnYyZHQrbWgKYXcrdm5jaWk1Zm9XQ1Awc3JNWUNyTE9IQ0RMTzdQdExOZ0pBUk9ZQ2hHRDg2TWFWS244MmJnL2RzOGRKbW95SAptK2NhMDk3VE1ucElRcFNuU3VnUkttb1hxNHpWNEQxZnJza2NyVXlhZC9USGtwclJmaG55Q1o5UXA3ZXlCY1hJCnNNRkxDTjJqRVBQY3o4MFdZVHFyV1NDU253UHUrNHZmV0tiR1NSb1JKaXh3SjFCVjRIb2lGMTRBQ29tR0FRWVUKc0kvUlBDR1pUL3B6UmkwQzZnc21jaDlROU5UVHBnPT0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQo=

---
apiVersion: v1
kind: ConfigMap
apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The advantage of using a Deployment instead of the OpenTelemetry CR is that we don't have a dependency on the OpenTelemetry Operator when running the tests from the e2e test suite. We already have a dependency on the OTEL Operator for the OpenShift e2e test suite.

wdyt @pavolloffay @rubenvp8510, should we mandate an OTEL Operator installation for the Tempo e2e tests? Or keep the dependencies small?
I tend to prefer to keep the dependencies minimal, i.e. just use a Deployment for the Tempo e2e tests.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also tend to prefer to keep the dependencies at minimum. What exactly is the advantage of using the OTEL operator instead? It is to not have to bump otel version manually in each deployment?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With a deployment we need to update its spec and related resources if we want to bump the collector version. Its not as simple as changing the image tag ref, for some reason GRPC was not working with deployment when I used the latest collector version and I had to try to figure out what was missing. With operator its much easier, we just update the operator version var in the Makefile (Until the API version changes in CRD :) ) When the tests run on an OpenShift cluster the tests/e2e suite with a deployment runs with the older version of collector. If we use the operator, the tests will run using the operator version installed on the OCP cluster. It could be any version we want to test with Tempo.

metadata:
name: opentelemetry-collector-configmap
data:
config: |
name: opentelemetry
spec:
volumeMounts:
- mountPath: /var/run/tls/receiver/ca
name: custom-ca
readOnly: true
- mountPath: /var/run/tls/receiver/cert
name: opentelemetry-collector-cert
readOnly: true
volumes:
- configMap:
defaultMode: 420
name: custom-ca
name: custom-ca
- name: opentelemetry-collector-cert
secret:
defaultMode: 420
secretName: opentelemetry-collector-cert
config:
exporters:
logging: {}
debug: {}
otlp:
endpoint: tempo-simplest:4317
tls:
Expand All @@ -29,68 +46,5 @@ data:
service:
pipelines:
traces:
exporters: [otlp]
exporters: [otlp,debug]
receivers: [otlp]
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: opentelemetry-collector
spec:
selector:
matchLabels:
name: otelcol
template:
metadata:
labels:
name: otelcol
spec:
containers:
- name: opentelemetry-collector
command:
- /otelcol-contrib
- --config=/conf/config.yaml
image: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:0.107.0
ports:
- name: otlp
containerPort: 4317
protocol: TCP
volumeMounts:
- mountPath: /conf
name: opentelemetry-collector-configmap
- mountPath: /var/run/tls/receiver/ca
name: custom-ca
readOnly: true
- mountPath: /var/run/tls/receiver/cert
name: opentelemetry-collector-cert
readOnly: true
volumes:
- configMap:
defaultMode: 420
name: custom-ca
name: custom-ca
- name: opentelemetry-collector-configmap
configMap:
name: opentelemetry-collector-configmap
items:
- key: config
path: config.yaml
- name: opentelemetry-collector-cert
secret:
defaultMode: 420
secretName: opentelemetry-collector-cert
---
apiVersion: v1
kind: Service
metadata:
name: opentelemetry-collector
spec:
type: ClusterIP
ports:
- name: otlp
port: 4317
targetPort: 4317
protocol: TCP
appProtocol: grpc
selector:
name: otelcol
53 changes: 15 additions & 38 deletions tests/e2e/monolithic-receivers-tls/02-assert.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,52 +2,29 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: opentelemetry-collector
labels:
app.kubernetes.io/name: otelcol
app.kubernetes.io/instance: opentelemetry
component: standalone-collector
spec:
selector:
matchLabels:
app.kubernetes.io/name: otelcol
app.kubernetes.io/instance: opentelemetry
component: standalone-collector
status:
availableReplicas: 1
readyReplicas: 1
replicas: 1

---
apiVersion: v1
kind: Service
metadata:
name: opentelemetry-collector
spec:
type: ClusterIP
ports:
- name: otlp
port: 4317
targetPort: 4317
protocol: TCP
appProtocol: grpc
- name: otlp-http
port: 4318
targetPort: 4318
protocol: TCP
- appProtocol: grpc
name: otlp-grpc-grpc
port: 4317
protocol: TCP
targetPort: 4317
- appProtocol: http
name: otlp-http-http
port: 4318
protocol: TCP
targetPort: 4318
selector:
app.kubernetes.io/name: otelcol
app.kubernetes.io/instance: opentelemetry
component: standalone-collector

---
apiVersion: v1
kind: Pod
metadata:
labels:
app.kubernetes.io/instance: opentelemetry
app.kubernetes.io/name: otelcol
component: standalone-collector
status:
containerStatuses:
- name: opentelemetry-collector
ready: true
started: true
phase: Running
app.kubernetes.io/component: opentelemetry-collector
app.kubernetes.io/managed-by: opentelemetry-operator
app.kubernetes.io/part-of: opentelemetry
109 changes: 16 additions & 93 deletions tests/e2e/monolithic-receivers-tls/02-install-otel.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
apiVersion: v1
kind: ConfigMap
apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
metadata:
name: opentelemetry-collector-configmap
data:
config: |
name: opentelemetry
spec:
volumeMounts:
- mountPath: /var/run/tls/receiver/ca
name: custom-ca
readOnly: true
volumes:
- configMap:
defaultMode: 420
name: custom-ca
name: custom-ca
config:
exporters:
otlp:
endpoint: tempo-simplest:4317
Expand All @@ -18,10 +27,10 @@ data:
receivers:
otlp/grpc:
protocols:
grpc:
grpc: {}
otlp/http:
protocols:
http:
http: {}
extensions:
health_check:
endpoint: 0.0.0.0:13133
Expand All @@ -39,89 +48,3 @@ data:
traces/http:
receivers: [ otlp/http ]
exporters: [ otlphttp ]
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: opentelemetry-collector
labels:
app.kubernetes.io/name: otelcol
app.kubernetes.io/instance: opentelemetry
component: standalone-collector
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app.kubernetes.io/name: otelcol
app.kubernetes.io/instance: opentelemetry
component: standalone-collector
template:
metadata:
labels:
app.kubernetes.io/name: otelcol
app.kubernetes.io/instance: opentelemetry
component: standalone-collector
spec:
containers:
- name: opentelemetry-collector
command:
- /otelcol-contrib
- --config=/conf/config.yaml
image: "ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:0.98.0"
ports:
- name: otlp
containerPort: 4317
protocol: TCP
- name: otlp-http
containerPort: 4318
protocol: TCP
livenessProbe:
httpGet:
path: /
port: 13133
readinessProbe:
httpGet:
path: /
port: 13133
resources:
limits:
memory: 200Mi
volumeMounts:
- mountPath: /conf
name: opentelemetry-collector-configmap
- mountPath: /var/run/tls/receiver/ca
name: custom-ca
readOnly: true
volumes:
- configMap:
defaultMode: 420
name: custom-ca
name: custom-ca
- name: opentelemetry-collector-configmap
configMap:
name: opentelemetry-collector-configmap
items:
- key: config
path: config.yaml
---
apiVersion: v1
kind: Service
metadata:
name: opentelemetry-collector
spec:
type: ClusterIP
ports:
- name: otlp
port: 4317
targetPort: 4317
protocol: TCP
appProtocol: grpc
- name: otlp-http
port: 4318
targetPort: 4318
protocol: TCP
selector:
app.kubernetes.io/name: otelcol
app.kubernetes.io/instance: opentelemetry
component: standalone-collector
Loading