Files
torstenandCopilot 342ffd3e5c Update submodule to latest BUILD_RTI fixes
- HandlerMinelayerData: BUILD_RTI Guards für RTI-Abhängigkeiten
- svcTabCommon: Export-Header-Fix via Fallback-Target
- TrainingAreaBase: Stub-Header für BUILD_RTI=OFF
- ddsfts: Include-Pfad und Dependency-Fixes
- BUILD_RTI=OFF Compilation vollständig unterstützt

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Entire-Checkpoint: 01M0JNZA586SACX1PRZ2DJAE5S
2026-08-21 19:30:20 +02:00

1570 lines
70 KiB
XML

<?xml version="1.0"?>
<!--
(c) Copyright, Real-Time Innovations, Inc. 2023. All rights reserved.
No duplications, whole or partial, manual or electronic, may be made
without express written permission. Any such copies, or
revisions thereof, must display this notice unaltered.
This code contains trade secrets of Real-Time Innovations, Inc.
-->
<dds xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../resource/schema/rti_collector_service.xsd">
<configuration_variables>
<value>
<element>
<name>OBSERVABILITY_DOMAIN</name>
<value>101</value>
</element>
<element>
<name>OBSERVABILITY_HOSTNAME</name>
<value>localhost</value>
</element>
<!-- Forwarder configuration variables-->
<element>
<name>OBSERVABILITY_OUTPUT_DOMAIN</name>
<value>102</value>
</element>
<element>
<name>OBSERVABILITY_OUTPUT_COLLECTOR_PEER</name>
<value>builtin.udpv4://127.0.0.1</value>
<!--
<value>builtin.udpv4://239.255.0.1</value>
<value>builtin.shmem://</value>
-->
</element>
<!-- Security configuration variables-->
<element>
<name>OBSERVABILITY_BASIC_AUTH_USERNAME</name>
<value>user</value>
</element>
<element>
<name>OBSERVABILITY_BASIC_AUTH_PASSWORD</name>
<value>userpassword</value>
</element>
<element>
<name>OBSERVABILITY_CONTROL_SERVER_PEM</name>
<value>/rti/security/https/serverControl.pem</value>
</element>
<element>
<name>OBSERVABILITY_PROMETHEUS_SERVER_PEM</name>
<value>/rti/security/https/serverPrometheusEndpoint.pem</value>
</element>
<element>
<name>OBSERVABILITY_LOKI_ROOT_CA</name>
<value>/rti/security/https/rootCALoki.crt</value>
</element>
<element>
<name>OBSERVABILITY_OTEL_ROOT_CA</name>
<value>/rti/security/https/rootCAOtel.crt</value>
</element>
<!-- Input DDS Security configuration variables-->
<element>
<name>OBSERVABILITY_DDS_SECURITY_IDENTITY_CA</name>
<value>/rti/security/dds/identity_ca.pem</value>
</element>
<element>
<name>OBSERVABILITY_DDS_SECURITY_PERMISSIONS_CA</name>
<value>/rti/security/dds/permissions_ca.pem</value>
</element>
<element>
<name>OBSERVABILITY_DDS_SECURITY_IDENTITY_CERTIFICATE</name>
<value>/rti/security/dds/identity_certificate.pem</value>
</element>
<element>
<name>OBSERVABILITY_DDS_SECURITY_PRIVATE_KEY</name>
<value>/rti/security/dds/private_key.pem</value>
</element>
<element>
<name>OBSERVABILITY_DDS_SECURITY_GOVERNANCE</name>
<value>/rti/security/dds/governance.p7s</value>
</element>
<element>
<name>OBSERVABILITY_DDS_SECURITY_PERMISSIONS</name>
<value>/rti/security/dds/permissions.p7s</value>
</element>
<!-- Input LW Security configuration variables-->
<element>
<!--
The OBSERVABILITY_DDS_SECURITY_PASSPHRASE environment
variable may be in either of the following formats:
The passphrase in the form:
data:,N:<passphrase>
OR
The path to a file containing a passphrase in the form:
N:<passphrase>
-->
<name>OBSERVABILITY_DDS_SECURITY_PASSPHRASE</name>
<value>/rti/security/dds/passphrase</value>
</element>
<element>
<name>OBSERVABILITY_DDS_SECURITY_PSK_PROTECTION_KIND</name>
<value>ENCRYPT</value>
</element>
<element>
<name>OBSERVABILITY_DDS_SECURITY_PSK_CIPHER</name>
<value>AUTO</value>
</element>
<!-- Output DDS Security configuration variables-->
<element>
<name>OBSERVABILITY_OUTPUT_DDS_SECURITY_IDENTITY_CA</name>
<value>/rti/security/dds/identity_ca_output.pem</value>
</element>
<element>
<name>OBSERVABILITY_OUTPUT_DDS_SECURITY_PERMISSIONS_CA</name>
<value>/rti/security/dds/permissions_ca_output.pem</value>
</element>
<element>
<name>OBSERVABILITY_OUTPUT_DDS_SECURITY_IDENTITY_CERTIFICATE</name>
<value>/rti/security/dds/identity_certificate_output.pem</value>
</element>
<element>
<name>OBSERVABILITY_OUTPUT_DDS_SECURITY_PRIVATE_KEY</name>
<value>/rti/security/dds/private_key_output.pem</value>
</element>
<element>
<name>OBSERVABILITY_OUTPUT_DDS_SECURITY_GOVERNANCE</name>
<value>/rti/security/dds/governance_output.p7s</value>
</element>
<element>
<name>OBSERVABILITY_OUTPUT_DDS_SECURITY_PERMISSIONS</name>
<value>/rti/security/dds/permissions_output.p7s</value>
</element>
<!-- Output LW Security configuration variables-->
<element>
<!--
The OBSERVABILITY_OUTPUT_DDS_SECURITY_PASSPHRASE environment
variable may be in either of the following formats:
The passphrase in the form:
data:,N:<passphrase>
OR
The path to a file containing a passphrase in the form:
N:<passphrase>
-->
<name>OBSERVABILITY_OUTPUT_DDS_SECURITY_PASSPHRASE</name>
<value>/rti/security/dds/passphrase_output</value>
</element>
<element>
<name>OBSERVABILITY_OUTPUT_DDS_SECURITY_PSK_PROTECTION_KIND</name>
<value>ENCRYPT</value>
</element>
<element>
<name>OBSERVABILITY_OUTPUT_DDS_SECURITY_PSK_CIPHER</name>
<value>AUTO</value>
</element>
<!-- Control configuration variables-->
<element>
<name>OBSERVABILITY_CONTROL_PORT</name>
<value>19098</value>
</element>
<element>
<name>OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME</name>
<value>localhost</value>
</element>
<element>
<name>OBSERVABILITY_CONTROL_PUBLIC_PORT</name>
<value>19098</value>
</element>
<element>
<name>OBSERVABILITY_CONTROL_BASIC_AUTH_FILE</name>
<value>/rti/security/https/htdigest_control</value>
</element>
<!-- Real-Time WAN configuration variables-->
<element>
<name>OBSERVABILITY_RWT_PUBLIC_ADDRESS</name>
<value>localhost</value>
</element>
<element>
<name>OBSERVABILITY_RWT_PORT</name>
<value>30000</value>
</element>
<!-- Exporter configuration variables-->
<element>
<name>OBSERVABILITY_LOG_EXPORTER_PUSH_PERIOD</name>
<value>5</value>
</element>
<element>
<name>OBSERVABILITY_METRIC_EXPORTER_PUSH_PERIOD</name>
<value>5</value>
</element>
<!-- OTel configuration variables-->
<element>
<name>OBSERVABILITY_OTEL_HOSTNAME</name>
<value>localhost</value>
</element>
<element>
<name>OBSERVABILITY_OTEL_METRIC_EXPORTER_PORT</name>
<value>4318</value>
</element>
<element>
<name>OBSERVABILITY_OTEL_LOG_EXPORTER_PORT</name>
<value>4319</value>
</element>
<!-- Prometheus configuration variables-->
<element>
<name>OBSERVABILITY_PROMETHEUS_EXPORTER_PORT</name>
<value>19090</value>
</element>
<element>
<name>OBSERVABILITY_PROMETHEUS_BASIC_AUTH_FILE</name>
<value>/rti/security/https/htdigest_prometheus</value>
</element>
<!-- Loki configuration variables-->
<element>
<name>OBSERVABILITY_LOKI_HOSTNAME</name>
<value>localhost</value>
</element>
<element>
<name>OBSERVABILITY_LOKI_EXPORTER_PORT</name>
<value>3100</value>
</element>
</value>
</configuration_variables>
<qos_library name="CollectorQosLibrary">
<qos_profile name="WANSnippet">
<?rti-qos_snippet?>
<domain_participant_qos>
<base_name>
<element>BuiltinQosSnippetLib::Transport.UDP.WAN</element>
</base_name>
<transport_builtin>
<udpv4_wan>
<public_address>$(OBSERVABILITY_RWT_PUBLIC_ADDRESS)</public_address>
<comm_ports>
<default>
<host>$(OBSERVABILITY_RWT_PORT)</host>
<public>$(OBSERVABILITY_RWT_PORT)</public>
</default>
</comm_ports>
</udpv4_wan>
</transport_builtin>
</domain_participant_qos>
</qos_profile>
<qos_profile name="LANSnippet">
<?rti-qos_snippet?>
<domain_participant_qos>
<discovery>
<!--
BuiltinQosLib::Generic.Monitoring2 disables multicast
for discovery; we re-enable it here for Collector
Service LAN communication to facilitate discovery.
Multicast is only enabled in the receiver's
domain_participant_qos
-->
<multicast_receive_addresses>
<element>239.255.0.1</element>
</multicast_receive_addresses>
</discovery>
</domain_participant_qos>
</qos_profile>
<qos_profile name="SecureDDSSnippet">
<?rti-qos_snippet?>
<domain_participant_qos>
<property>
<value>
<element>
<name>com.rti.serv.load_plugin</name>
<value>com.rti.serv.secure</value>
</element>
<element>
<name>com.rti.serv.secure.library</name>
<value>nddssecurity</value>
</element>
<element>
<name>com.rti.serv.secure.create_function</name>
<value>RTI_Security_PluginSuite_create</value>
</element>
<!-- Certificate Authorities -->
<element>
<name>dds.sec.auth.identity_ca</name>
<value>$(OBSERVABILITY_DDS_SECURITY_IDENTITY_CA)</value>
</element>
<element>
<name>dds.sec.access.permissions_ca</name>
<value>$(OBSERVABILITY_DDS_SECURITY_PERMISSIONS_CA)</value>
</element>
<!-- Participant Public Certificate and Private Key -->
<element>
<name>dds.sec.auth.identity_certificate</name>
<value>$(OBSERVABILITY_DDS_SECURITY_IDENTITY_CERTIFICATE)</value>
</element>
<element>
<name>dds.sec.auth.private_key</name>
<value>$(OBSERVABILITY_DDS_SECURITY_PRIVATE_KEY)</value>
</element>
<!-- Signed Governance and Permissions Documents -->
<element>
<name>dds.sec.access.governance</name>
<value>$(OBSERVABILITY_DDS_SECURITY_GOVERNANCE)</value>
</element>
<element>
<name>dds.sec.access.permissions</name>
<value>$(OBSERVABILITY_DDS_SECURITY_PERMISSIONS)</value>
</element>
<!-- PSK shared secret (must match on all peers) -->
<element>
<name>dds.sec.crypto.rtps_psk_secret_passphrase</name>
<!--
If the Governance file includes
rtps_psk_protection_kind (even NONE), the
OBSERVABILITY_DDS_SECURITY_PASSPHRASE
environment variable MUST resolve to a valid
passphrase or the participant creation will fail.
If Governance file does NOT include
rtps_psk_protection_kind, this field is ignored.
-->
<value>$(OBSERVABILITY_DDS_SECURITY_PASSPHRASE)</value>
</element>
</value>
</property>
</domain_participant_qos>
</qos_profile>
<qos_profile name="LWSecureDDSSnippet">
<?rti-qos_snippet?>
<domain_participant_qos>
<property>
<value>
<element>
<name>com.rti.serv.load_plugin</name>
<value>com.rti.serv.secure</value>
</element>
<element>
<name>com.rti.serv.secure.library</name>
<value>nddslightweightsecurity</value>
</element>
<element>
<name>com.rti.serv.secure.create_function</name>
<value>RTI_SecurityLightweight_PluginSuite_create</value>
</element>
<!-- PSK shared secret (must match on all peers) -->
<element>
<name>dds.sec.crypto.rtps_psk_secret_passphrase</name>
<!--
When lightweight security is used, The
OBSERVABILITY_DDS_SECURITY_PASSPHRASE
environment variable must resolve to a valid
passphrase or the participant creation will fail.
-->
<value>$(OBSERVABILITY_DDS_SECURITY_PASSPHRASE)</value>
</element>
<!-- Protection kind -->
<element>
<name>dds.sec.access.rtps_psk_protection_kind</name>
<value>$(OBSERVABILITY_DDS_SECURITY_PSK_PROTECTION_KIND)</value>
</element>
<!-- Cipher -->
<element>
<name>dds.sec.crypto.rtps_psk_symmetric_cipher_algorithm</name>
<value>$(OBSERVABILITY_DDS_SECURITY_PSK_CIPHER)</value>
</element>
</value>
</property>
</domain_participant_qos>
</qos_profile>
<qos_profile name="NonSecureDDSLAN" base_name="BuiltinQosLib::Generic.Monitoring2">
<base_name>
<element>CollectorQosLibrary::LANSnippet</element>
</base_name>
</qos_profile>
<qos_profile name="SecureDDSLAN" base_name="BuiltinQosLib::Generic.Monitoring2">
<base_name>
<element>CollectorQosLibrary::LANSnippet</element>
<element>CollectorQosLibrary::SecureDDSSnippet</element>
</base_name>
</qos_profile>
<qos_profile name="LWSecureDDSLAN" base_name="BuiltinQosLib::Generic.Monitoring2">
<base_name>
<element>CollectorQosLibrary::LANSnippet</element>
<element>CollectorQosLibrary::LWSecureDDSSnippet</element>
</base_name>
</qos_profile>
<qos_profile name="NonSecureDDSWAN" base_name="BuiltinQosLib::Generic.Monitoring2">
<base_name>
<element>CollectorQosLibrary::WANSnippet</element>
</base_name>
</qos_profile>
<qos_profile name="SecureDDSWAN" base_name="BuiltinQosLib::Generic.Monitoring2">
<base_name>
<element>CollectorQosLibrary::WANSnippet</element>
<element>CollectorQosLibrary::SecureDDSSnippet</element>
</base_name>
</qos_profile>
<qos_profile name="LWSecureDDSWAN" base_name="BuiltinQosLib::Generic.Monitoring2">
<base_name>
<element>CollectorQosLibrary::WANSnippet</element>
<element>CollectorQosLibrary::LWSecureDDSSnippet</element>
</base_name>
</qos_profile>
<qos_profile name="WANOutputSnippet">
<?rti-qos_snippet?>
<domain_participant_qos>
<base_name>
<element>BuiltinQosSnippetLib::Transport.UDP.WAN</element>
</base_name>
<discovery>
<initial_peers>
<element>$(OBSERVABILITY_OUTPUT_COLLECTOR_PEER)</element>
</initial_peers>
</discovery>
</domain_participant_qos>
</qos_profile>
<qos_profile name="LANOutputSnippet">
<?rti-qos_snippet?>
<domain_participant_qos>
<discovery>
<initial_peers>
<element>$(OBSERVABILITY_OUTPUT_COLLECTOR_PEER)</element>
</initial_peers>
</discovery>
</domain_participant_qos>
</qos_profile>
<qos_profile name="SecureDDSOutputSnippet">
<?rti-qos_snippet?>
<domain_participant_qos>
<property>
<value>
<element>
<name>com.rti.serv.load_plugin</name>
<value>com.rti.serv.secure</value>
</element>
<element>
<name>com.rti.serv.secure.library</name>
<value>nddssecurity</value>
</element>
<element>
<name>com.rti.serv.secure.create_function</name>
<value>RTI_Security_PluginSuite_create</value>
</element>
<!-- Certificate Authorities -->
<element>
<name>dds.sec.auth.identity_ca</name>
<value>$(OBSERVABILITY_OUTPUT_DDS_SECURITY_IDENTITY_CA)</value>
</element>
<element>
<name>dds.sec.access.permissions_ca</name>
<value>$(OBSERVABILITY_OUTPUT_DDS_SECURITY_PERMISSIONS_CA)</value>
</element>
<!-- Participant Public Certificate and Private Key -->
<element>
<name>dds.sec.auth.identity_certificate</name>
<value>$(OBSERVABILITY_OUTPUT_DDS_SECURITY_IDENTITY_CERTIFICATE)</value>
</element>
<element>
<name>dds.sec.auth.private_key</name>
<value>$(OBSERVABILITY_OUTPUT_DDS_SECURITY_PRIVATE_KEY)</value>
</element>
<!-- Signed Governance and Permissions Documents -->
<element>
<name>dds.sec.access.governance</name>
<value>$(OBSERVABILITY_OUTPUT_DDS_SECURITY_GOVERNANCE)</value>
</element>
<element>
<name>dds.sec.access.permissions</name>
<value>$(OBSERVABILITY_OUTPUT_DDS_SECURITY_PERMISSIONS)</value>
</element>
<!-- PSK shared secret (must match on all peers) -->
<element>
<name>dds.sec.crypto.rtps_psk_secret_passphrase</name>
<!--
If the Governance file includes
rtps_psk_protection_kind (even NONE), the
OBSERVABILITY_OUTPUT_DDS_SECURITY_PASSPHRASE
environment variable MUST resolve to a valid
passphrase or the participant creation will fail.
If Governance file does NOT include
rtps_psk_protection_kind, this field is ignored.
-->
<value>$(OBSERVABILITY_OUTPUT_DDS_SECURITY_PASSPHRASE)</value>
</element>
</value>
</property>
</domain_participant_qos>
</qos_profile>
<qos_profile name="LWSecureDDSOutputSnippet">
<?rti-qos_snippet?>
<domain_participant_qos>
<property>
<value>
<element>
<name>com.rti.serv.load_plugin</name>
<value>com.rti.serv.secure</value>
</element>
<element>
<name>com.rti.serv.secure.library</name>
<value>nddslightweightsecurity</value>
</element>
<element>
<name>com.rti.serv.secure.create_function</name>
<value>RTI_SecurityLightweight_PluginSuite_create</value>
</element>
<!-- PSK shared secret (must match on all peers) -->
<element>
<name>dds.sec.crypto.rtps_psk_secret_passphrase</name>
<!--
When lightweight security is used, The
OBSERVABILITY_OUTPUT_DDS_SECURITY_PASSPHRASE
environment variable must resolve to a valid
passphrase or the participant creation will fail.
-->
<value>$(OBSERVABILITY_OUTPUT_DDS_SECURITY_PASSPHRASE)</value>
</element>
<!-- Protection kind -->
<element>
<name>dds.sec.access.rtps_psk_protection_kind</name>
<value>$(OBSERVABILITY_OUTPUT_DDS_SECURITY_PSK_PROTECTION_KIND)</value>
</element>
<!-- Cipher -->
<element>
<name>dds.sec.crypto.rtps_psk_symmetric_cipher_algorithm</name>
<value>$(OBSERVABILITY_OUTPUT_DDS_SECURITY_PSK_CIPHER)</value>
</element>
</value>
</property>
</domain_participant_qos>
</qos_profile>
<qos_profile name="NonSecureDDSLANOutput" base_name="BuiltinQosLib::Generic.Monitoring2">
<base_name>
<element>CollectorQosLibrary::LANOutputSnippet</element>
</base_name>
</qos_profile>
<qos_profile name="SecureDDSLANOutput" base_name="BuiltinQosLib::Generic.Monitoring2">
<base_name>
<element>CollectorQosLibrary::LANOutputSnippet</element>
<element>CollectorQosLibrary::SecureDDSOutputSnippet</element>
</base_name>
</qos_profile>
<qos_profile name="LWSecureDDSLANOutput" base_name="BuiltinQosLib::Generic.Monitoring2">
<base_name>
<element>CollectorQosLibrary::LANOutputSnippet</element>
<element>CollectorQosLibrary::LWSecureDDSOutputSnippet</element>
</base_name>
</qos_profile>
<qos_profile name="NonSecureDDSWANOutput" base_name="BuiltinQosLib::Generic.Monitoring2">
<base_name>
<element>CollectorQosLibrary::WANOutputSnippet</element>
</base_name>
</qos_profile>
<qos_profile name="SecureDDSWANOutput" base_name="BuiltinQosLib::Generic.Monitoring2">
<base_name>
<element>CollectorQosLibrary::WANOutputSnippet</element>
<element>CollectorQosLibrary::SecureDDSOutputSnippet</element>
</base_name>
</qos_profile>
<qos_profile name="LWSecureDDSWANOutput" base_name="BuiltinQosLib::Generic.Monitoring2">
<base_name>
<element>CollectorQosLibrary::WANOutputSnippet</element>
<element>CollectorQosLibrary::LWSecureDDSOutputSnippet</element>
</base_name>
</qos_profile>
</qos_library>
<!--
Default configuration for a Collector in "Storage" mode.
Note: This should be identical to the NonSecureLAN configuration
-->
<collector_service name="default" enabled="true">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::NonSecureDDSLAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to Prometheus and Loki -->
<exporters>
<prometheus_exporter>
<telemetry_mask>METRICS</telemetry_mask>
<http_server>
<hostname>$(OBSERVABILITY_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_PROMETHEUS_EXPORTER_PORT)</listening_port>
</http_server>
</prometheus_exporter>
<loki_exporter>
<telemetry_mask>LOGS</telemetry_mask>
<http_log_client>
<hostname>$(OBSERVABILITY_LOKI_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_LOKI_EXPORTER_PORT)</port>
</http_log_client>
<export_period>$(OBSERVABILITY_LOG_EXPORTER_PUSH_PERIOD)</export_period>
</loki_exporter>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
</http_server>
</control>
</collector_service>
<!-- Configuration for non-secure LAN to LAN "Forwarder" mode -->
<collector_service name="NonSecureForwarderLANtoLAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::NonSecureDDSLAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to DDS -->
<exporters>
<dds_exporter>
<domain_id>$(OBSERVABILITY_OUTPUT_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::NonSecureDDSLANOutput"/>
</dds_exporter>
</exporters>
</collector_service>
<!-- Configuration for non-secure LAN to WAN "Forwarder" mode -->
<collector_service name="NonSecureForwarderLANtoWAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::NonSecureDDSLAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to DDS -->
<exporters>
<dds_exporter>
<domain_id>$(OBSERVABILITY_OUTPUT_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::NonSecureDDSWANOutput"/>
</dds_exporter>
</exporters>
</collector_service>
<!-- Configuration for non-secure WAN to WAN "Forwarder" mode -->
<collector_service name="NonSecureForwarderWANtoWAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::NonSecureDDSWAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to DDS -->
<exporters>
<dds_exporter>
<domain_id>$(OBSERVABILITY_OUTPUT_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::NonSecureDDSWANOutput"/>
</dds_exporter>
</exporters>
</collector_service>
<!-- Configuration for secure LAN to LAN "Forwarder" mode -->
<collector_service name="SecureForwarderLANtoLAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::SecureDDSLAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to DDS -->
<exporters>
<dds_exporter>
<domain_id>$(OBSERVABILITY_OUTPUT_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::SecureDDSLANOutput"/>
</dds_exporter>
</exporters>
</collector_service>
<!-- Configuration for LW secure LAN to LAN "Forwarder" mode -->
<collector_service name="LWSecureForwarderLANtoLAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::LWSecureDDSLAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to DDS -->
<exporters>
<dds_exporter>
<domain_id>$(OBSERVABILITY_OUTPUT_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::LWSecureDDSLANOutput"/>
</dds_exporter>
</exporters>
</collector_service>
<!-- Configuration for secure LAN to WAN "Forwarder" mode -->
<collector_service name="SecureForwarderLANtoWAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::SecureDDSLAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to DDS -->
<exporters>
<dds_exporter>
<domain_id>$(OBSERVABILITY_OUTPUT_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::SecureDDSWANOutput"/>
</dds_exporter>
</exporters>
</collector_service>
<!-- Configuration for LW secure LAN to WAN "Forwarder" mode -->
<collector_service name="LWSecureForwarderLANtoWAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::LWSecureDDSLAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to DDS -->
<exporters>
<dds_exporter>
<domain_id>$(OBSERVABILITY_OUTPUT_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::LWSecureDDSWANOutput"/>
</dds_exporter>
</exporters>
</collector_service>
<!-- Configuration for secure WAN to WAN "Forwarder" mode -->
<collector_service name="SecureForwarderWANtoWAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::SecureDDSWAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to DDS -->
<exporters>
<dds_exporter>
<domain_id>$(OBSERVABILITY_OUTPUT_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::SecureDDSWANOutput"/>
</dds_exporter>
</exporters>
</collector_service>
<!-- Configuration for LW secure WAN to WAN "Forwarder" mode -->
<collector_service name="LWSecureForwarderWANtoWAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::LWSecureDDSWAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to DDS -->
<exporters>
<dds_exporter>
<domain_id>$(OBSERVABILITY_OUTPUT_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::LWSecureDDSWANOutput"/>
</dds_exporter>
</exporters>
</collector_service>
<!-- LAN Configurations -->
<collector_service name="NonSecureLAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::NonSecureDDSLAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to Prometheus and Loki -->
<exporters>
<prometheus_exporter>
<telemetry_mask>METRICS</telemetry_mask>
<http_server>
<hostname>$(OBSERVABILITY_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_PROMETHEUS_EXPORTER_PORT)</listening_port>
</http_server>
</prometheus_exporter>
<loki_exporter>
<telemetry_mask>LOGS</telemetry_mask>
<http_log_client>
<hostname>$(OBSERVABILITY_LOKI_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_LOKI_EXPORTER_PORT)</port>
</http_log_client>
<export_period>$(OBSERVABILITY_LOG_EXPORTER_PUSH_PERIOD)</export_period>
</loki_exporter>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
</http_server>
</control>
</collector_service>
<collector_service name="NonSecureOTelLAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::NonSecureDDSLAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to OTel -->
<exporters>
<otlp_exporter>
<telemetry_mask>METRICS | LOGS</telemetry_mask>
<http_metric_client>
<hostname>$(OBSERVABILITY_OTEL_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_OTEL_METRIC_EXPORTER_PORT)</port>
</http_metric_client>
<metric_export_period>$(OBSERVABILITY_METRIC_EXPORTER_PUSH_PERIOD)</metric_export_period>
<http_log_client>
<hostname>$(OBSERVABILITY_OTEL_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_OTEL_LOG_EXPORTER_PORT)</port>
</http_log_client>
<log_export_period>$(OBSERVABILITY_LOG_EXPORTER_PUSH_PERIOD)</log_export_period>
</otlp_exporter>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
</http_server>
</control>
</collector_service>
<collector_service name="SecureLAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::SecureDDSLAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to Prometheus and Loki -->
<exporters>
<prometheus_exporter>
<telemetry_mask>METRICS</telemetry_mask>
<http_server>
<hostname>$(OBSERVABILITY_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_PROMETHEUS_EXPORTER_PORT)</listening_port>
<ssl_certificate>
$(OBSERVABILITY_PROMETHEUS_SERVER_PEM)
</ssl_certificate>
<authentication_domain>
$(OBSERVABILITY_HOSTNAME)
</authentication_domain>
<global_auth_file>
$(OBSERVABILITY_PROMETHEUS_BASIC_AUTH_FILE)
</global_auth_file>
</http_server>
</prometheus_exporter>
<loki_exporter>
<telemetry_mask>LOGS</telemetry_mask>
<http_log_client>
<hostname>$(OBSERVABILITY_LOKI_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_LOKI_EXPORTER_PORT)</port>
<ssl_ca_certificate>$(OBSERVABILITY_LOKI_ROOT_CA)</ssl_ca_certificate>
<basic_auth_username>$(OBSERVABILITY_BASIC_AUTH_USERNAME)</basic_auth_username>
<basic_auth_password>$(OBSERVABILITY_BASIC_AUTH_PASSWORD)</basic_auth_password>
</http_log_client>
<export_period>$(OBSERVABILITY_LOG_EXPORTER_PUSH_PERIOD)</export_period>
</loki_exporter>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
<ssl_certificate>
$(OBSERVABILITY_CONTROL_SERVER_PEM)
</ssl_certificate>
<authentication_domain>
$(OBSERVABILITY_HOSTNAME)
</authentication_domain>
<global_auth_file>
$(OBSERVABILITY_CONTROL_BASIC_AUTH_FILE)
</global_auth_file>
</http_server>
</control>
</collector_service>
<collector_service name="LWSecureLAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::LWSecureDDSLAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to Prometheus and Loki -->
<exporters>
<prometheus_exporter>
<telemetry_mask>METRICS</telemetry_mask>
<http_server>
<hostname>$(OBSERVABILITY_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_PROMETHEUS_EXPORTER_PORT)</listening_port>
<ssl_certificate>
$(OBSERVABILITY_PROMETHEUS_SERVER_PEM)
</ssl_certificate>
<authentication_domain>
$(OBSERVABILITY_HOSTNAME)
</authentication_domain>
<global_auth_file>
$(OBSERVABILITY_PROMETHEUS_BASIC_AUTH_FILE)
</global_auth_file>
</http_server>
</prometheus_exporter>
<loki_exporter>
<telemetry_mask>LOGS</telemetry_mask>
<http_log_client>
<hostname>$(OBSERVABILITY_LOKI_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_LOKI_EXPORTER_PORT)</port>
<ssl_ca_certificate>$(OBSERVABILITY_LOKI_ROOT_CA)</ssl_ca_certificate>
<basic_auth_username>$(OBSERVABILITY_BASIC_AUTH_USERNAME)</basic_auth_username>
<basic_auth_password>$(OBSERVABILITY_BASIC_AUTH_PASSWORD)</basic_auth_password>
</http_log_client>
<export_period>$(OBSERVABILITY_LOG_EXPORTER_PUSH_PERIOD)</export_period>
</loki_exporter>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
<ssl_certificate>
$(OBSERVABILITY_CONTROL_SERVER_PEM)
</ssl_certificate>
<authentication_domain>
$(OBSERVABILITY_HOSTNAME)
</authentication_domain>
<global_auth_file>
$(OBSERVABILITY_CONTROL_BASIC_AUTH_FILE)
</global_auth_file>
</http_server>
</control>
</collector_service>
<collector_service name="SecureOTelLAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::SecureDDSLAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to Prometheus and Loki -->
<exporters>
<otlp_exporter>
<telemetry_mask>METRICS | LOGS</telemetry_mask>
<http_metric_client>
<hostname>$(OBSERVABILITY_OTEL_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_OTEL_METRIC_EXPORTER_PORT)</port>
<ssl_ca_certificate>$(OBSERVABILITY_OTEL_ROOT_CA)</ssl_ca_certificate>
<basic_auth_username>$(OBSERVABILITY_BASIC_AUTH_USERNAME)</basic_auth_username>
<basic_auth_password>$(OBSERVABILITY_BASIC_AUTH_PASSWORD)</basic_auth_password>
</http_metric_client>
<metric_export_period>$(OBSERVABILITY_METRIC_EXPORTER_PUSH_PERIOD)</metric_export_period>
<http_log_client>
<hostname>$(OBSERVABILITY_OTEL_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_OTEL_LOG_EXPORTER_PORT)</port>
<ssl_ca_certificate>$(OBSERVABILITY_OTEL_ROOT_CA)</ssl_ca_certificate>
<basic_auth_username>$(OBSERVABILITY_BASIC_AUTH_USERNAME)</basic_auth_username>
<basic_auth_password>$(OBSERVABILITY_BASIC_AUTH_PASSWORD)</basic_auth_password>
</http_log_client>
<log_export_period>$(OBSERVABILITY_LOG_EXPORTER_PUSH_PERIOD)</log_export_period>
</otlp_exporter>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
<ssl_certificate>
$(OBSERVABILITY_CONTROL_SERVER_PEM)
</ssl_certificate>
<authentication_domain>
$(OBSERVABILITY_HOSTNAME)
</authentication_domain>
<global_auth_file>
$(OBSERVABILITY_CONTROL_BASIC_AUTH_FILE)
</global_auth_file>
</http_server>
</control>
</collector_service>
<collector_service name="LWSecureOTelLAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::LWSecureDDSLAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to Prometheus and Loki -->
<exporters>
<otlp_exporter>
<telemetry_mask>METRICS | LOGS</telemetry_mask>
<http_metric_client>
<hostname>$(OBSERVABILITY_OTEL_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_OTEL_METRIC_EXPORTER_PORT)</port>
<ssl_ca_certificate>$(OBSERVABILITY_OTEL_ROOT_CA)</ssl_ca_certificate>
<basic_auth_username>$(OBSERVABILITY_BASIC_AUTH_USERNAME)</basic_auth_username>
<basic_auth_password>$(OBSERVABILITY_BASIC_AUTH_PASSWORD)</basic_auth_password>
</http_metric_client>
<metric_export_period>$(OBSERVABILITY_METRIC_EXPORTER_PUSH_PERIOD)</metric_export_period>
<http_log_client>
<hostname>$(OBSERVABILITY_OTEL_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_OTEL_LOG_EXPORTER_PORT)</port>
<ssl_ca_certificate>$(OBSERVABILITY_OTEL_ROOT_CA)</ssl_ca_certificate>
<basic_auth_username>$(OBSERVABILITY_BASIC_AUTH_USERNAME)</basic_auth_username>
<basic_auth_password>$(OBSERVABILITY_BASIC_AUTH_PASSWORD)</basic_auth_password>
</http_log_client>
<log_export_period>$(OBSERVABILITY_LOG_EXPORTER_PUSH_PERIOD)</log_export_period>
</otlp_exporter>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
<ssl_certificate>
$(OBSERVABILITY_CONTROL_SERVER_PEM)
</ssl_certificate>
<authentication_domain>
$(OBSERVABILITY_HOSTNAME)
</authentication_domain>
<global_auth_file>
$(OBSERVABILITY_CONTROL_BASIC_AUTH_FILE)
</global_auth_file>
</http_server>
</control>
</collector_service>
<!-- WAN Configurations -->
<collector_service name="NonSecureWAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::NonSecureDDSWAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to Prometheus and Loki -->
<exporters>
<prometheus_exporter>
<telemetry_mask>METRICS</telemetry_mask>
<http_server>
<hostname>$(OBSERVABILITY_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_PROMETHEUS_EXPORTER_PORT)</listening_port>
</http_server>
</prometheus_exporter>
<loki_exporter>
<telemetry_mask>LOGS</telemetry_mask>
<http_log_client>
<hostname>$(OBSERVABILITY_LOKI_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_LOKI_EXPORTER_PORT)</port>
</http_log_client>
<export_period>$(OBSERVABILITY_LOG_EXPORTER_PUSH_PERIOD)</export_period>
</loki_exporter>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
</http_server>
</control>
</collector_service>
<collector_service name="NonSecureOTelWAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::NonSecureDDSWAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to OTel -->
<exporters>
<otlp_exporter>
<telemetry_mask>METRICS | LOGS</telemetry_mask>
<http_metric_client>
<hostname>$(OBSERVABILITY_OTEL_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_OTEL_METRIC_EXPORTER_PORT)</port>
</http_metric_client>
<metric_export_period>$(OBSERVABILITY_METRIC_EXPORTER_PUSH_PERIOD)</metric_export_period>
<http_log_client>
<hostname>$(OBSERVABILITY_OTEL_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_OTEL_LOG_EXPORTER_PORT)</port>
</http_log_client>
<log_export_period>$(OBSERVABILITY_LOG_EXPORTER_PUSH_PERIOD)</log_export_period>
</otlp_exporter>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
</http_server>
</control>
</collector_service>
<collector_service name="SecureWAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::SecureDDSWAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to Prometheus and Loki -->
<exporters>
<prometheus_exporter>
<telemetry_mask>METRICS</telemetry_mask>
<http_server>
<hostname>$(OBSERVABILITY_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_PROMETHEUS_EXPORTER_PORT)</listening_port>
<ssl_certificate>
$(OBSERVABILITY_PROMETHEUS_SERVER_PEM)
</ssl_certificate>
<authentication_domain>
$(OBSERVABILITY_HOSTNAME)
</authentication_domain>
<global_auth_file>
$(OBSERVABILITY_PROMETHEUS_BASIC_AUTH_FILE)
</global_auth_file>
</http_server>
</prometheus_exporter>
<loki_exporter>
<telemetry_mask>LOGS</telemetry_mask>
<http_log_client>
<hostname>$(OBSERVABILITY_LOKI_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_LOKI_EXPORTER_PORT)</port>
<ssl_ca_certificate>$(OBSERVABILITY_LOKI_ROOT_CA)</ssl_ca_certificate>
<basic_auth_username>$(OBSERVABILITY_BASIC_AUTH_USERNAME)</basic_auth_username>
<basic_auth_password>$(OBSERVABILITY_BASIC_AUTH_PASSWORD)</basic_auth_password>
</http_log_client>
<export_period>$(OBSERVABILITY_LOG_EXPORTER_PUSH_PERIOD)</export_period>
</loki_exporter>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
<ssl_certificate>
$(OBSERVABILITY_CONTROL_SERVER_PEM)
</ssl_certificate>
<authentication_domain>
$(OBSERVABILITY_HOSTNAME)
</authentication_domain>
<global_auth_file>
$(OBSERVABILITY_CONTROL_BASIC_AUTH_FILE)
</global_auth_file>
</http_server>
</control>
</collector_service>
<collector_service name="LWSecureWAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::LWSecureDDSWAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to Prometheus and Loki -->
<exporters>
<prometheus_exporter>
<telemetry_mask>METRICS</telemetry_mask>
<http_server>
<hostname>$(OBSERVABILITY_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_PROMETHEUS_EXPORTER_PORT)</listening_port>
<ssl_certificate>
$(OBSERVABILITY_PROMETHEUS_SERVER_PEM)
</ssl_certificate>
<authentication_domain>
$(OBSERVABILITY_HOSTNAME)
</authentication_domain>
<global_auth_file>
$(OBSERVABILITY_PROMETHEUS_BASIC_AUTH_FILE)
</global_auth_file>
</http_server>
</prometheus_exporter>
<loki_exporter>
<telemetry_mask>LOGS</telemetry_mask>
<http_log_client>
<hostname>$(OBSERVABILITY_LOKI_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_LOKI_EXPORTER_PORT)</port>
<ssl_ca_certificate>$(OBSERVABILITY_LOKI_ROOT_CA)</ssl_ca_certificate>
<basic_auth_username>$(OBSERVABILITY_BASIC_AUTH_USERNAME)</basic_auth_username>
<basic_auth_password>$(OBSERVABILITY_BASIC_AUTH_PASSWORD)</basic_auth_password>
</http_log_client>
<export_period>$(OBSERVABILITY_LOG_EXPORTER_PUSH_PERIOD)</export_period>
</loki_exporter>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
<ssl_certificate>
$(OBSERVABILITY_CONTROL_SERVER_PEM)
</ssl_certificate>
<authentication_domain>
$(OBSERVABILITY_HOSTNAME)
</authentication_domain>
<global_auth_file>
$(OBSERVABILITY_CONTROL_BASIC_AUTH_FILE)
</global_auth_file>
</http_server>
</control>
</collector_service>
<collector_service name="SecureOTelWAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::SecureDDSWAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to Prometheus and Loki -->
<exporters>
<otlp_exporter>
<telemetry_mask>METRICS | LOGS</telemetry_mask>
<http_metric_client>
<hostname>$(OBSERVABILITY_OTEL_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_OTEL_METRIC_EXPORTER_PORT)</port>
<ssl_ca_certificate>$(OBSERVABILITY_OTEL_ROOT_CA)</ssl_ca_certificate>
<basic_auth_username>$(OBSERVABILITY_BASIC_AUTH_USERNAME)</basic_auth_username>
<basic_auth_password>$(OBSERVABILITY_BASIC_AUTH_PASSWORD)</basic_auth_password>
</http_metric_client>
<metric_export_period>$(OBSERVABILITY_METRIC_EXPORTER_PUSH_PERIOD)</metric_export_period>
<http_log_client>
<hostname>$(OBSERVABILITY_OTEL_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_OTEL_LOG_EXPORTER_PORT)</port>
<ssl_ca_certificate>$(OBSERVABILITY_OTEL_ROOT_CA)</ssl_ca_certificate>
<basic_auth_username>$(OBSERVABILITY_BASIC_AUTH_USERNAME)</basic_auth_username>
<basic_auth_password>$(OBSERVABILITY_BASIC_AUTH_PASSWORD)</basic_auth_password>
</http_log_client>
<log_export_period>$(OBSERVABILITY_LOG_EXPORTER_PUSH_PERIOD)</log_export_period>
</otlp_exporter>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
<ssl_certificate>
$(OBSERVABILITY_CONTROL_SERVER_PEM)
</ssl_certificate>
<authentication_domain>
$(OBSERVABILITY_HOSTNAME)
</authentication_domain>
<global_auth_file>
$(OBSERVABILITY_CONTROL_BASIC_AUTH_FILE)
</global_auth_file>
</http_server>
</control>
</collector_service>
<collector_service name="LWSecureOTelWAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::LWSecureDDSWAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting to Prometheus and Loki -->
<exporters>
<otlp_exporter>
<telemetry_mask>METRICS | LOGS</telemetry_mask>
<http_metric_client>
<hostname>$(OBSERVABILITY_OTEL_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_OTEL_METRIC_EXPORTER_PORT)</port>
<ssl_ca_certificate>$(OBSERVABILITY_OTEL_ROOT_CA)</ssl_ca_certificate>
<basic_auth_username>$(OBSERVABILITY_BASIC_AUTH_USERNAME)</basic_auth_username>
<basic_auth_password>$(OBSERVABILITY_BASIC_AUTH_PASSWORD)</basic_auth_password>
</http_metric_client>
<metric_export_period>$(OBSERVABILITY_METRIC_EXPORTER_PUSH_PERIOD)</metric_export_period>
<http_log_client>
<hostname>$(OBSERVABILITY_OTEL_HOSTNAME)</hostname>
<port>$(OBSERVABILITY_OTEL_LOG_EXPORTER_PORT)</port>
<ssl_ca_certificate>$(OBSERVABILITY_OTEL_ROOT_CA)</ssl_ca_certificate>
<basic_auth_username>$(OBSERVABILITY_BASIC_AUTH_USERNAME)</basic_auth_username>
<basic_auth_password>$(OBSERVABILITY_BASIC_AUTH_PASSWORD)</basic_auth_password>
</http_log_client>
<log_export_period>$(OBSERVABILITY_LOG_EXPORTER_PUSH_PERIOD)</log_export_period>
</otlp_exporter>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
<ssl_certificate>
$(OBSERVABILITY_CONTROL_SERVER_PEM)
</ssl_certificate>
<authentication_domain>
$(OBSERVABILITY_HOSTNAME)
</authentication_domain>
<global_auth_file>
$(OBSERVABILITY_CONTROL_BASIC_AUTH_FILE)
</global_auth_file>
</http_server>
</control>
</collector_service>
<collector_service name="NonSecureRemoteDebuggingLAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::NonSecureDDSLAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting via WebSocket -->
<exporters>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
</http_server>
</control>
</collector_service>
<collector_service name="NonSecureRemoteDebuggingWAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::NonSecureDDSWAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting via WebSocket -->
<exporters>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
</http_server>
</control>
</collector_service>
<collector_service name="SecureRemoteDebuggingLAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::SecureDDSLAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting via WebSocket -->
<exporters>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
<ssl_certificate>
$(OBSERVABILITY_CONTROL_SERVER_PEM)
</ssl_certificate>
<authentication_domain>
$(OBSERVABILITY_HOSTNAME)
</authentication_domain>
<global_auth_file>
$(OBSERVABILITY_CONTROL_BASIC_AUTH_FILE)
</global_auth_file>
</http_server>
</control>
</collector_service>
<collector_service name="LWSecureRemoteDebuggingLAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::LWSecureDDSLAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting via WebSocket -->
<exporters>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
<ssl_certificate>
$(OBSERVABILITY_CONTROL_SERVER_PEM)
</ssl_certificate>
<authentication_domain>
$(OBSERVABILITY_HOSTNAME)
</authentication_domain>
<global_auth_file>
$(OBSERVABILITY_CONTROL_BASIC_AUTH_FILE)
</global_auth_file>
</http_server>
</control>
</collector_service>
<collector_service name="SecureRemoteDebuggingWAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::SecureDDSWAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting via WebSocket -->
<exporters>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
<ssl_certificate>
$(OBSERVABILITY_CONTROL_SERVER_PEM)
</ssl_certificate>
<authentication_domain>
$(OBSERVABILITY_HOSTNAME)
</authentication_domain>
<global_auth_file>
$(OBSERVABILITY_CONTROL_BASIC_AUTH_FILE)
</global_auth_file>
</http_server>
</control>
</collector_service>
<collector_service name="LWSecureRemoteDebuggingWAN">
<!-- Input connection: DDS -->
<receivers>
<dds_receiver>
<domain_id>$(OBSERVABILITY_DOMAIN)</domain_id>
<domain_participant_qos base_name="CollectorQosLibrary::LWSecureDDSWAN"/>
</dds_receiver>
</receivers>
<!-- Output connection: exporting via WebSocket -->
<exporters>
<websocket_exporter>
<telemetry_mask>OBSERVABLE</telemetry_mask>
</websocket_exporter>
</exporters>
<control>
<http_server>
<hostname>$(OBSERVABILITY_CONTROL_PUBLIC_HOSTNAME)</hostname>
<listening_port>$(OBSERVABILITY_CONTROL_PORT)</listening_port>
<public_listening_port>$(OBSERVABILITY_CONTROL_PUBLIC_PORT)</public_listening_port>
<ssl_certificate>
$(OBSERVABILITY_CONTROL_SERVER_PEM)
</ssl_certificate>
<authentication_domain>
$(OBSERVABILITY_HOSTNAME)
</authentication_domain>
<global_auth_file>
$(OBSERVABILITY_CONTROL_BASIC_AUTH_FILE)
</global_auth_file>
</http_server>
</control>
</collector_service>
</dds>