Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Replaces Jaeger Thrift integration with OpenTelemetry OTLP.
--tracing-service-endpoint
now requires 'rpc' or 'http' URL scheme and builds the client accordingly--tracing-service-insecure=bool
- disable TLS for the tracing service connection (default:false
)Verification steps
For each test scenario above, you need to run the Authorino server locally passing the command-line arguments that will activate the configuration, and then send at least one request to the server.
In some cases, one or more setup steps are required before running the Authorino server and sending requests. These include deploying and/or configuring the tracing collector service.
To send requests to Authorino, use the following grpcurl command:
Authorino will respond with the auto-generated request ID, which can be checked in the Jaeger UI (
authorino.request_id
tag).Setup
Setup the cluster and build the server:
Create an AuthConfig:
Execution of the scenarios
The order of execution of the scenarios was arranged to reduce the number of steps required for setting up/reconfiguring the tracing collector services.
❶ Integration with Jaeger
Deploy Jaeger:
For each scenario below, run Authorino, send a request and check the trace in the Jaeger UI:
bin/authorino server --tracing-service-endpoint="rpc://localhost:14251" --tracing-service-insecure=true
bin/authorino server --tracing-service-endpoint="http://localhost:9412" --tracing-service-insecure=true
❷ Integration via OpenTelemetry Collector → Jaeger (without TLS/auth)
Deploy OpenTelemetry Collector:
For each scenario below, run Authorino, send a request and check the trace in the Jaeger UI:
bin/authorino server --tracing-service-endpoint="rpc://localhost:4317" --tracing-service-insecure=true
bin/authorino server --tracing-service-endpoint="http://localhost:4318" --tracing-service-insecure=true
❸ Integration via OpenTelemetry Collector → Jaeger (with TLS/auth)
Generate the TLS certificate for the OpenTelemetry Collector server:
Add the OpenTelemetry CA certificate to the chain of trusted certs:
export SSL_CERT_FILE=/tmp/otel-ca-cert.crt
Redeploy OpenTelemetry Collector with TLS and basic auth enabled:
For each scenario below, run Authorino, send a request and check the trace in the Jaeger UI:
bin/authorino server --tracing-service-endpoint="rpc://otel:secret@localhost:4317"
❹ Integration via OpenTelemetry Collector → Jaeger (with TLS, without auth)
Edit
configmap/otel-collector-conf
commenting theauth: {…}
properties underreceiver.otlp.protocols
:Redeploy OpenTelemetry Collector:
For each scenario below, run Authorino, send a request and check the trace in the Jaeger UI:
bin/authorino server --tracing-service-endpoint="rpc://localhost:4317"
bin/authorino server --tracing-service-endpoint="http://localhost:4318"
❺ Integration via OpenTelemetry Collector → Jaeger (without TLS, with auth)
Edit
configmap/otel-collector-conf
uncommenting thetls: {…}
properties and commenting theauth: {…}
ones underreceiver.otlp.protocols
:Redeploy OpenTelemetry Collector:
For each scenario below, run Authorino, send a request and check the trace in the Jaeger UI:
bin/authorino server --tracing-service-endpoint="rpc://otel:secret@localhost:4317" --tracing-service-insecure=true
bin/authorino server --tracing-service-endpoint="http://otel:secret@localhost:4318" --tracing-service-insecure=true