Verify export via TLS (#12).

Co-authored-by: Pavel Pautov <p.pautov@f5.com>
This commit is contained in:
Eugene Grebenschikov 2024-12-20 17:24:27 -08:00 committed by Eugene
parent 9dc4dc2803
commit f578402f19
3 changed files with 44 additions and 15 deletions

View file

@ -32,7 +32,7 @@ class TraceService(trace_service_pb2_grpc.TraceServiceServicer):
@pytest.fixture(scope="module")
def trace_service(request, pytestconfig, logger):
def trace_service(request, pytestconfig, logger, cert):
server = grpc.server(concurrent.futures.ThreadPoolExecutor())
trace_service = TraceService()
trace_service_pb2_grpc.add_TraceServiceServicer_to_server(
@ -44,6 +44,10 @@ def trace_service(request, pytestconfig, logger):
)
listen_addr = f"127.0.0.1:{24317 if trace_service.use_otelcol else 14317}"
server.add_insecure_port(listen_addr)
if not trace_service.use_otelcol:
creds = grpc.ssl_server_credentials([cert])
server.add_secure_port("127.0.0.1:14318", creds)
listen_addr += " and 127.0.0.1:14318"
logger.info(f"Starting trace service at {listen_addr}...")
server.start()
yield trace_service
@ -52,18 +56,26 @@ def trace_service(request, pytestconfig, logger):
@pytest.fixture(scope="module")
def otelcol(pytestconfig, testdir, logger, trace_service):
def otelcol(pytestconfig, testdir, logger, trace_service, cert):
if not trace_service.use_otelcol:
yield
return
(testdir / "otel-config.yaml").write_text(
"""receivers:
f"""receivers:
otlp:
protocols:
grpc:
endpoint: 127.0.0.1:14317
otlp/tls:
protocols:
grpc:
endpoint: 127.0.0.1:14318
tls:
cert_file: {testdir}/localhost.crt
key_file: {testdir}/localhost.key
exporters:
otlp:
endpoint: 127.0.0.1:24317
@ -73,7 +85,7 @@ exporters:
service:
pipelines:
traces:
receivers: [otlp]
receivers: [otlp, otlp/tls]
exporters: [otlp]
telemetry:
metrics: