launch_ros_sandbox package from launch_ros_sandbox repo

launch_ros_sandbox

Package Summary

Tags No category tags.
Version 0.0.2
License Apache 2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-security/launch_ros_sandbox.git
VCS Type git
VCS Version dashing-devel
Last Updated 2019-09-27
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Extension to launch_ros to provide the ability to run nodes in sandboxed environments.

Additional Links

No additional links.

Maintainers

  • AWS RoboMaker

Authors

No additional authors.

launch-ros-sandbox

A sandboxing plugin for launch_ros

Link to documentation

Installing

Install the project as a python package:

$ python3 setup.py install --user

Check that your user is in the Docker user group:

$ groups

If you dont see docker, then add your user to the Docker group:

$ sudo usermod -aG docker $USER

Usage

A working example is provided in examples/minimal_sandboxed_node_container.launch.py.

$ ./examples/minimal_sandboxed_node_container.py

Creating a sandboxed node is very similar to creating a regular launch file.

Add a SandboxedNodeContainer() action like you would with a regular launch file, but make sure to provide the sandbox_name and policy. Adding nodes is also similar to regular launch files, however, you should use launch_ros_sandbox.descriptions.SandboxedNode() instead.

A launch file with nodes running as a certain user would look like:

   def generate_launch_description() -> launch.LaunchDescription:
      ld = launch.LaunchDescription()

      ld.add_action(
            launch_ros_sandbox.actions.SandboxedNodeContainer(
                sandbox_name='my_sandbox',
                policy=UserPolicy(run_as=User.from_username('dashing')),
                node_descriptions=[
                    launch_ros_sandbox.descriptions.SandboxedNode(
                        package='demo_nodes_cpp', node_executable='talker'),
                    launch_ros_sandbox.descriptions.SandboxedNode(
                        package='demo_nodes_cpp', node_executable='listener')
                ]
            )
        )

License

This library is licensed under the Apache 2.0 License.

Build Status

This stack supports the following ROS 2 releases:

  • Dashing
ROS 2 Release Development Source Debian Package X86-64 Debian Package ARM64 Debian Package ARMHF Debian package
Dashing Build Status Build Status Build Status N/A N/A
CHANGELOG

Changelog for package launch_ros_sandbox

0.0.1 (2019-09-13)

  • Initial release. Provide Sandboxing functionality launch actions
  • Contributors: Anas Abou Allaban, Devin Bonnie, Emerson Knapp, Zachary Michaels

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged launch_ros_sandbox at answers.ros.org