Metadata-Version: 2.5
Name: rostainer-package
Version: 0.0.6
Summary: rostainer plugin: build deployable images of a ROS workspace, for robots
Project-URL: Homepage, https://git.whoi.edu/bmillerklugman/rostainer
Project-URL: Documentation, https://bmillerklugman.pages.whoi.edu/rostainer/
Author: rostainer contributors
License-Expression: MIT
Keywords: deployment,docker,ros,ros2,rostainer
Requires-Python: >=3.7
Requires-Dist: rostainer
Description-Content-Type: text/markdown

# rostainer-package

A [rostainer](https://bmillerklugman.pages.whoi.edu/rostainer/) plugin that builds
deployable images of a ROS workspace, for robots: the workspace baked in and built,
in a bundle that needs only Docker on the target.

```bash
pipx inject rostainer rostainer-package   # or: pip install 'rostainer[package]'
rostainer init --with package            # adds [plugins.package] to .rostainer.toml
rostainer package create                 # build a bundle in builds/package/<version>/
rostainer package install builds/package/<version> --start   # try it here
```

On the target, the bundle brings its own `rostainer`, which needs only
Docker and Python: `./rostainer install --start` (or `--enable systemd`), then
`./rostainer status | logs | shell | stop | start | restart | rollback`, and
the plugins' commands (`./rostainer archive rotate`).

```toml
[plugins.package]
build_type = "Release"     # CMAKE_BUILD_TYPE
sudo = false               # keep sudo rights for the container user
healthcheck = ""           # e.g. "ros2 node list | grep -q /my_driver"
host_pre_script = ""       # runs on the host before the source is copied in
keep = 3                   # package images/bundles 'rostainer prune' keeps
```

See the [Packaging guide](https://bmillerklugman.pages.whoi.edu/rostainer/plugins/package.html).
