NAME

zerodds-grpc-bridged - DDS to gRPC bridge daemon

SYNOPSIS

zerodds-grpc-bridged [--config FILE] [--bind ADDR] [--domain ID] [--reflection] [--topic DDS:SVC]... [-V | -h]

DESCRIPTION

zerodds-grpc-bridged exposes each mapped DDS topic as a gRPC service: Publish writes the Sample payload to the topic, Subscribe returns the next sample (one per call). The payload is opaque bytes, the DDS user data as it is. TLS with ALPN h2, mTLS, bearer and JWT authentication, a topic ACL and the reflection service are served; the grpc-timeout header is not applied. Implements docs/specs/zerodds-grpc-bridge-1.0.md.

OPTIONS

--config=FILE

YAML config (Spec §3). See zerodds-grpc-bridged.yaml(5).

--bind=ADDR

HTTP/2 bind addr. Default: 0.0.0.0:50051.

--domain=ID

DDS Domain ID. Default: 0.

--tls-cert=FILE

TLS cert PEM.

--tls-key=FILE

TLS key PEM.

--tls-client-ca=FILE

CA PEM for client certificates (mTLS).

--reflection

Enable the gRPC reflection service.

--topic=DDS:SVC

Inline topic mapping override.

--log-level=LEVEL

One of trace, debug, info, warn, error.

--metrics=ADDR

Prometheus listen addr.

Test hooks. Real options, documented because the program accepts them and an option nobody can find is one nobody maintains.

--once

Serve one request, then exit.

--idle-timeout-ms=N

Exit after N milliseconds without a request.

-V, --version

Print version.

-h, --help

Show the option synopsis.

--set PATH=VALUE

One setting above every file, repeatable; +PATH=VALUE appends to a list.

--check-config

Validate and print the effective configuration with the origin of every value, then exit: 0 valid, 1 invalid value or unknown key, 2 unreadable file, syntax error or include cycle.

SIGNALS

SIGTERM and SIGINT stop the daemon. SIGHUP reads the configuration again: the TLS certificate and key, the auth settings and the topic ACL apply from then on (the certificate to new connections). Changed binds, domain, topic mappings, reflection or TLS on or off need a restart and are logged. A configuration that does not load changes nothing.

ENVIRONMENT

OTEL_EXPORTER_OTLP_ENDPOINT

Optional OTLP endpoint, such as http://localhost:4318.

EXIT STATUS

0 normal stop, 1 configuration (also an auth mode that cannot be served, such as jwt without auth.jwt.public_key), 2 bind, 3 DDS, 4 TLS.

FILES

/etc/zerodds/grpc-bridged.yaml .

SEE ALSO

zerodds-grpc-bridged.yaml(5), grpcurl(1).

AUTHORS

ZeroDDS Contributors.

BEZEICHNUNG

zerodds-grpc-bridged - Bridge-Daemon von DDS nach gRPC

ÜBERSICHT

zerodds-grpc-bridged [--config DATEI] [--bind ADR] [--domain ID] [--reflection] [--topic DDS:SVC]... [-V | -h]

BESCHREIBUNG

zerodds-grpc-bridged stellt jedes zugeordnete DDS-Topic als gRPC-Dienst bereit: Publish schreibt die Nutzlast von Sample in das Topic, Subscribe gibt das nächste Sample zurück (eines je Aufruf). Die Nutzlast sind opake Bytes, die DDS-Nutzdaten unverändert. TLS mit ALPN h2, mTLS, Bearer- und JWT-Authentifizierung, eine Topic-ACL und der Reflection-Dienst werden bedient; der Header grpc-timeout wird nicht angewendet. Implementiert docs/specs/zerodds-grpc-bridge-1.0.md.

OPTIONEN

--config=DATEI

YAML-Konfiguration (Spec §3). Siehe zerodds-grpc-bridged.yaml(5).

--bind=ADR

HTTP/2-Bind-Adresse. Standard: 0.0.0.0:50051.

--domain=ID

DDS-Domain-ID. Standard: 0.

--tls-cert=DATEI

TLS-Zertifikat, PEM.

--tls-key=DATEI

TLS-Schlüssel, PEM.

--tls-client-ca=DATEI

CA-PEM für Client-Zertifikate (mTLS).

--reflection

Schaltet den gRPC-Reflection-Dienst ein.

--topic=DDS:SVC

Topic-Zuordnung auf der Kommandozeile, überschreibt die Konfiguration.

--log-level=STUFE

Eine von trace, debug, info, warn, error.

--metrics=ADR

Listen-Adresse für Prometheus.

Test-Hooks. Echte Optionen, dokumentiert, weil das Programm sie annimmt und eine Option, die niemand findet, auch niemand pflegt.

--once

Einen Request bedienen, dann beenden.

--idle-timeout-ms=N

Nach N Millisekunden ohne Request beenden.

-V, --version

Gibt die Version aus.

-h, --help

Zeigt die Übersicht der Optionen.

--set PFAD=WERT

Eine Einstellung über allen Dateien, wiederholbar; +PFAD=WERT hängt an eine Liste an.

--check-config

Prüft die wirksame Konfiguration und gibt sie mit der Herkunft jedes Werts aus, dann Ende: 0 gültig, 1 ungültiger Wert oder unbekannter Schlüssel, 2 nicht lesbare Datei, Syntaxfehler oder Include-Zyklus.

SIGNALE

SIGTERM und SIGINT beenden den Daemon. SIGHUP liest die Konfiguration neu: TLS-Zertifikat und -Schlüssel, die Authentifizierungs-Einstellungen und die Topic-ACL gelten ab dann (das Zertifikat für neue Verbindungen). Geänderte Binds, Domäne, Topic-Zuordnungen, Reflection oder TLS an oder aus brauchen einen Neustart und werden protokolliert. Eine Konfiguration, die nicht lädt, ändert nichts.

UMGEBUNGSVARIABLEN

OTEL_EXPORTER_OTLP_ENDPOINT

Optionaler OTLP-Endpunkt, etwa http://localhost:4318.

EXIT-STATUS

0 normales Ende, 1 Konfiguration (auch ein Authentifizierungsmodus, der sich nicht bedienen lässt, etwa jwt ohne auth.jwt.public_key), 2 Bind, 3 DDS, 4 TLS.

DATEIEN

/etc/zerodds/grpc-bridged.yaml .

SIEHE AUCH

zerodds-grpc-bridged.yaml(5), grpcurl(1).

AUTOREN

ZeroDDS Contributors.