NAME
zerodds-opcua-bridged - the OMG DDS-OPCUA Gateway 1.0 daemon
SYNOPSIS
zerodds-opcua-bridged [--config FILE] [--bind ADDR] [--domain ID] [--idl FILE]... [--gateway-config FILE] [-V | -h]
DESCRIPTION
zerodds-opcua-bridged implements the OMG DDS-OPCUA Gateway 1.0 (formal/2020-01-01) as a running process: an opc.tcp server exposing DDS topics in its AddressSpace (Gateway 1.0 §9, including Historical Access, §9.3.4), an OPC-UA client browsing/subscribing configured foreign servers into DDS (§8), and OPC Foundation Part 14 (UADP) PubSub over UDP multicast, both directions, optionally secured (Part 14 §8, build feature pubsub-security). Per-session acl.rules enforcement backs a Write against this server's own AddressSpace; OTLP lifecycle spans are exported when metrics.otlp_endpoint is set.
DDS types are resolved from an operator-supplied .idl file, never a compiled Rust type, through the reflective SerializedTypeSupport layer.
Implements docs/specs/zerodds-opcua-bridge-1.0.md.
OPTIONS
- --config=FILE
-
Path to the config file (YAML). See zerodds-opcua-bridged.yaml(5).
- --bind=ADDR
-
opc.tcp bind address. Default: 0.0.0.0:4840.
- --domain=ID
-
DDS domain ID. Default: 0.
- --idl=FILE
-
IDL file to compile (repeatable); the types opcua.gateway_config and opcua.client.servers[].nodes[] name must be declared in one of these files.
- --gateway-config=FILE
-
Path to the Spec §10 XML gateway configuration (bridge/connection defs).
- --log-level=LEVEL
-
One of trace, debug, info, warn, error.
- --metrics=ADDR
-
Prometheus listener.
- -V, --version
-
Version info.
- -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/SIGINT stop the daemon: the opc.tcp accept loop and
the metrics listener both wake, every worker thread is joined, then the
process exits 0.
SIGHUP re-reads acl.default_deny /
acl.rules from the same sources the process started
with; a file that fails to load changes nothing. Changing
domain, opcua.server.bind, the
IDL/gateway-config-driven topic set (including any
node_id/browse_path override and
opcua.server.historical.topics),
acl.users, acl.allow_anonymous,
opcua.pubsub.connections[].security or
metrics.otlp_endpoint needs a restart — SIGHUP's scope
has not widened past
acl.default_deny/acl.rules.
ENVIRONMENT
- NOTIFY_SOCKET
-
systemd Type=notify readiness/stop notification, sent automatically when set.
EXIT STATUS
- 0
-
Normal shutdown.
- 1
-
Configuration error.
- 2
-
opc.tcp bind error — address in use.
- 3
-
DDS init error.
- 4
-
SecureChannel/certificate setup error.
FILES
/etc/zerodds/opcua-bridged.yaml .
SEE ALSO
zerodds-opcua-bridged.yaml(5). OMG DDS-OPCUA Gateway 1.0 (formal/2020-01-01); OPC Foundation Part 4, Part 6, Part 14.
AUTHORS
ZeroDDS Contributors.
BEZEICHNUNG
zerodds-opcua-bridged - der Daemon für OMG DDS-OPCUA Gateway 1.0
ÜBERSICHT
zerodds-opcua-bridged [--config DATEI] [--bind ADR] [--domain ID] [--idl DATEI]... [--gateway-config DATEI] [-V | -h]
BESCHREIBUNG
zerodds-opcua-bridged implementiert OMG DDS-OPCUA Gateway 1.0 (formal/2020-01-01) als laufenden Prozess: einen opc.tcp-Server, der DDS-Topics in seinem AddressSpace bereitstellt (Gateway 1.0 §9, einschließlich Historical Access, §9.3.4), einen OPC-UA-Client, der konfigurierte fremde Server durchsucht und abonniert und nach DDS bringt (§8), und PubSub nach OPC Foundation Part 14 (UADP) über UDP-Multicast in beide Richtungen, optional gesichert (Part 14 §8, Build-Feature pubsub-security). Die Durchsetzung von acl.rules je Sitzung sichert ein Write gegen den eigenen AddressSpace dieses Servers ab; OTLP-Spans zum Lebenszyklus werden exportiert, wenn metrics.otlp_endpoint gesetzt ist.
DDS-Typen werden aus einer vom Betreiber gelieferten .idl-Datei aufgelöst, nie aus einem kompilierten Rust-Typ, über die reflektive Schicht SerializedTypeSupport.
Implementiert docs/specs/zerodds-opcua-bridge-1.0.md.
OPTIONEN
- --config=DATEI
-
Pfad zur Konfigurationsdatei (YAML). Siehe zerodds-opcua-bridged.yaml(5).
- --bind=ADR
-
opc.tcp-Bind-Adresse. Standard: 0.0.0.0:4840.
- --domain=ID
-
DDS-Domain-ID. Standard: 0.
- --idl=DATEI
-
IDL-Datei, die kompiliert wird (wiederholbar); die Typen, die opcua.gateway_config und opcua.client.servers[].nodes[] nennen, müssen in einer dieser Dateien deklariert sein.
- --gateway-config=DATEI
-
Pfad zur XML-Gateway-Konfiguration nach Spec §10 (Bridge- und Verbindungsdefinitionen).
- --log-level=STUFE
-
Eine von trace, debug, info, warn, error.
- --metrics=ADR
-
Listener für Prometheus.
- -V, --version
-
Versionsangabe.
- -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/SIGINT beenden den Daemon: Die
opc.tcp-Accept-Schleife und der Metrik-Listener wachen beide
auf, jeder Worker-Thread wird zusammengeführt (join), dann endet der
Prozess mit 0.
SIGHUP liest acl.default_deny /
acl.rules neu aus denselben Quellen, mit denen der
Prozess gestartet ist; eine Datei, die nicht lädt, ändert nichts. Eine
Änderung von domain,
opcua.server.bind, der Topic-Menge aus IDL und
Gateway-Konfiguration (einschließlich jeder Überschreibung von
node_id/browse_path und
opcua.server.historical.topics),
acl.users, acl.allow_anonymous,
opcua.pubsub.connections[].security oder
metrics.otlp_endpoint braucht einen Neustart — der
Wirkungsbereich von SIGHUP reicht nicht über
acl.default_deny/acl.rules hinaus.
UMGEBUNGSVARIABLEN
- NOTIFY_SOCKET
-
systemd-Benachrichtigung Type=notify über Bereitschaft und Ende, automatisch gesendet, wenn gesetzt.
EXIT-STATUS
- 0
-
Normales Beenden.
- 1
-
Konfigurationsfehler.
- 2
-
opc.tcp-Bind-Fehler — Adresse belegt.
- 3
-
Fehler bei der DDS-Initialisierung.
- 4
-
Fehler beim Einrichten von SecureChannel oder Zertifikat.
DATEIEN
/etc/zerodds/opcua-bridged.yaml .
SIEHE AUCH
zerodds-opcua-bridged.yaml(5). OMG DDS-OPCUA Gateway 1.0 (formal/2020-01-01); OPC Foundation Part 4, Part 6, Part 14.
AUTOREN
ZeroDDS Contributors.