Metadata-Version: 2.5
Name: rostainer-deploy
Version: 0.0.6
Summary: rostainer plugin: push package updates to robots over ssh, through a local registry
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,fleet,ros,ros2,rostainer
Requires-Python: >=3.7
Requires-Dist: rich>=12
Requires-Dist: rostainer
Requires-Dist: rostainer-package
Description-Content-Type: text/markdown

# rostainer-deploy

A [rostainer](https://bmillerklugman.pages.whoi.edu/rostainer/) plugin that pushes
package updates (from [`rostainer-package`](../rostainer-package)) to robots over
ssh. Images go through a registry on your machine, so each robot downloads only the
layers it doesn't have yet - after a code change, typically just the workspace's
build. No image tar is copied, and robots need only ssh, Docker and Python 3.

```bash
pipx inject rostainer rostainer-deploy     # or: pip install 'rostainer[deploy]'
rostainer init --with deploy               # adds [plugins.deploy] to .rostainer.toml
```

```toml
[plugins.deploy]
[plugins.deploy.groups]
robots = ["robot1", "robot2"]

[plugins.deploy.targets.robot1]
host = "10.0.0.5"          # or a ~/.ssh/config alias
user = "ros"

[plugins.deploy.targets.robot2]
host = "robot2"
```

```bash
rostainer deploy setup                     # first time: copy your ssh key, check the robots, push
rostainer package create                   # build a new version
rostainer deploy push                      # send it to every robot (or: push robots, push robot1)
rostainer deploy status                    # what each robot runs
rostainer deploy rollback robot1           # back to the version it ran before
```

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