autonomy ros2 secure-env¶
Print the SROS 2 env a node needs to join the secured graph (after verifying keystore + enclave)
Synopsis¶
Emit the ROS_SECURITY_* env block (and, with --large-data, the FastDDS
large-data transport profile) that a node must carry to join a secured graph
under enclave E of keystore K — instead of hand-assembling four env vars per
node and risking a silently-unsecured launch.
Before printing anything, secure-env VERIFIES that the keystore is complete
(CA + governance present) and that enclave E carries its cert/key/permissions
and covers the governance domains. If not, it fails closed with an actionable
error rather than emitting env that would bring the node up unsecured.
Formats (--output):
env (default) KEY=VALUE per line, for env $(autonomy ros2 secure-env ...) my_node
shell export KEY=VALUE, for eval "$(autonomy ros2 secure-env -o shell ...)"
json {"KEY":"VALUE"} for programmatic consumers
Examples:
env $(autonomy ros2 secure-env --keystore /var/lib/autonomyops/ks --enclave /demo_robot/arm_controller) \
ros2 run demo_nodes_cpp talker
autonomy ros2 secure-env -k /var/lib/autonomyops/ks -e /governed_ros2_bridge_real --large-data -o json
Usage¶
autonomy ros2 secure-env [flags]
Options¶
-e, --enclave string enclave name to launch under, e.g. /demo_robot/arm_controller (the ROS_SECURITY_ENCLAVE_OVERRIDE value; mint with 'autonomy ros2 keystore mint')
-k, --keystore string path to the SROS 2 keystore root (created by 'autonomy ros2 keystore init')
--large-data also emit the large-data FastDDS transport profile so encrypted image topics aren't dropped under Enforce (#1239)
-o, --output string output format: env|shell|json (default "env")
--profile string path to the large-data FastDDS profile (default /opt/autonomyops/fastdds-large-data.xml); honored only with --large-data
Options inherited from parent commands¶
--require-signed-manifest Refuse to start if the SHA256SUMS release manifest or its cosign signature is missing/invalid (Tier 2 binary-integrity check; default: build-time compile-in via -ldflags -X, build-hardened artifacts=true, all others=false)
See also¶
autonomy ros2— Execute governed ROS2 commands under AutonomyOps policy