Skip to content

Enable monitoring in the examples that use the security plugins#752

Open
colmenero wants to merge 14 commits intorticommunity:masterfrom
colmenero:feature/SEC-2914
Open

Enable monitoring in the examples that use the security plugins#752
colmenero wants to merge 14 commits intorticommunity:masterfrom
colmenero:feature/SEC-2914

Conversation

@colmenero
Copy link
Contributor

@colmenero colmenero commented Mar 18, 2026

Summary

The Security Plugins now require the monitoring library if the example is dynamically linked (the monitoring library is in the LD_LIBRARY_PATH). This PR adapts the examples to meet this requirement.

The security examples will now use monitoring when linked dynamically. They will not use monitoring when they are linked statically. This is ok because the monitoring library is only a requirement when linking dynamically.

Missing

  • CDS doesn't require to explicitly configure monitoring?

@colmenero colmenero requested review from Copilot and krd-rti March 19, 2026 14:22
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates secure examples to work with the Security Plugins’ new requirement to have monitoring enabled (notably when dynamically linked and the monitoring library is available), by generating/using a dedicated monitoring participant and consolidating security artifacts.

Changes:

  • Extend shared security artifacts (governance/permissions + cert generation) to include additional identities and monitoring permissions.
  • Update multiple examples’ QoS profiles to configure monitoring distribution settings with a dedicated participant.
  • Remove per-example, manually-generated security artifacts/scripts in favor of CMake-driven generation (where adopted).

Reviewed changes

Copilot reviewed 42 out of 46 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
resources/security/xml/PermissionsM.xml Adds permissions grant for the monitoring participant on the observability domain.
resources/security/xml/Permissions3.xml Adds a third peer permissions document (new).
resources/security/xml/Governance.xml Updates shared governance and adds an observability-specific domain rule.
resources/security/ecdsa01/peerM.cnf Adds OpenSSL config for monitoring participant identity.
resources/security/ecdsa01/peer3.cnf Adds OpenSSL config for a third peer identity.
resources/cmake/Modules/ConnextDdsGenerateSecurityArtifacts.cmake Extends artifact generation to produce peer3/peerM certs and sign new permissions XMLs.
examples/connext_secure/whitelist/security/xml/signed/.gitkeep Keeps signed XML output directory in source control.
examples/connext_secure/whitelist/security/xml/Permissions.xml Removes example-local permissions (now replaced by generated/shared artifacts).
examples/connext_secure/whitelist/security/xml/Governance.xml Removes example-local governance (now replaced by generated/shared artifacts).
examples/connext_secure/whitelist/security/setup_security.py Removes manual OpenSSL generation script (now replaced by CMake generation).
examples/connext_secure/whitelist/security/identities/ParticipantC/ParticipantC.cnf Removes example-local identity config (now replaced by shared artifacts).
examples/connext_secure/whitelist/security/identities/ParticipantA/ParticipantA.cnf Removes example-local identity config (now replaced by shared artifacts).
examples/connext_secure/whitelist/security/ca/private/.gitkeep Keeps CA private dir in source control.
examples/connext_secure/whitelist/security/ca/database/CaSerial Removes example-local CA serial (now replaced by generated/shared artifacts).
examples/connext_secure/whitelist/security/ca/Ca.cnf Removes example-local CA config (now replaced by shared artifacts).
examples/connext_secure/whitelist/c++11/Whitelist_subscriber.cxx Updates QoS profile names to the new whitelist::... library.
examples/connext_secure/whitelist/c++11/Whitelist_publisher.cxx Updates QoS profile name and whitelisted subject strings to match new cert subjects.
examples/connext_secure/whitelist/c++11/USER_QOS_PROFILES.xml Refactors profiles (common + peers) and adds dedicated monitoring participant profile.
examples/connext_secure/whitelist/c++11/README.md Removes manual security-artifact setup instructions.
examples/connext_secure/whitelist/c++11/CMakeLists.txt Ensures security plugins are available and switches to CMake security artifact generation.
examples/connext_secure/lightweight/security/xml/signed/.gitkeep Keeps signed XML output directory in source control.
examples/connext_secure/lightweight/security/xml/permissions.xml Removes example-local permissions (now replaced by shared artifacts).
examples/connext_secure/lightweight/security/setup_security.py Removes manual OpenSSL generation script (now replaced by CMake generation).
examples/connext_secure/lightweight/security/identities/ParticipantB/ParticipantB.cnf Removes example-local identity config (now replaced by shared artifacts).
examples/connext_secure/lightweight/security/identities/ParticipantA/ParticipantA.cnf Removes example-local identity config (now replaced by shared artifacts).
examples/connext_secure/lightweight/security/ca/private/.gitkeep Keeps CA private dir in source control.
examples/connext_secure/lightweight/security/ca/database/CaSerial Removes example-local CA serial (now replaced by shared artifacts).
examples/connext_secure/lightweight/security/ca/Ca.cnf Removes example-local CA config (now replaced by shared artifacts).
examples/connext_secure/lightweight/c++11/governance_lws.xml Updates governance schema reference and domain tags.
examples/connext_secure/lightweight/c++11/USER_QOS_PROFILES.xml Refactors profiles (common + peers) and adds dedicated monitoring participant profile.
examples/connext_secure/lightweight/c++11/README.md Removes manual security-artifact setup instructions.
examples/connext_secure/lightweight/c++11/CMakeLists.txt Ensures security plugins are available, generates artifacts, and adds S/MIME signing step.
examples/connext_secure/dynamic_permissions/c++11/USER_QOS_PROFILES.xml Refactors to a common profile and adds dedicated monitoring participant profile.
examples/connext_secure/certificate_revocation_list/security/xml/Permissions.xml Adds permissions grant for monitoring participant.
examples/connext_secure/certificate_revocation_list/security/xml/Governance.xml Updates governance schema reference and domain tags.
examples/connext_secure/certificate_revocation_list/security/setup_security.py Updates CA generation and adds ParticipantM cert generation.
examples/connext_secure/certificate_revocation_list/security/identities/ParticipantM/ParticipantM.cnf Fixes ParticipantM subject fields.
examples/connext_secure/certificate_revocation_list/c++11/USER_QOS_PROFILES.xml Refactors profiles and adds dedicated monitoring participant profile.
examples/connext_secure/certificate_revocation_list/c++11/Crl_subscriber.cxx Updates QoS library/profile name to crl::....
examples/connext_secure/certificate_revocation_list/c++11/Crl_publisher.cxx Updates QoS library/profile name to crl::....
examples/connext_secure/cds/c++11/USER_QOS_PROFILES.xml Enables monitoring distribution settings for the CDS lightweight-security profile.
examples/connext_secure/cds/c++11/CMakeLists.txt Adds component-gating for CDS build dependencies.
examples/connext_dds/real_time_wan_transport/c++98/USER_QOS_PROFILES.xml Adds monitoring distribution settings and introduces shared security-common + monitor profiles.
examples/connext_dds/real_time_wan_transport/c++98/CLOUD_DISCOVERY_SERVICE.xml Updates CDS security properties to use RTPS PSK passphrase configuration.
examples/connext_dds/network_capture/04_advanced_api/c/USER_QOS_PROFILES.xml Refactors to a common profile and adds dedicated monitoring participant profile.
examples/connext_dds/network_capture/03_security/c/USER_QOS_PROFILES.xml Refactors to a common profile and adds dedicated monitoring participant profile.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

@colmenero colmenero marked this pull request as ready for review March 19, 2026 19:01
@colmenero colmenero requested a review from alvfdz March 19, 2026 19:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants