Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/torproject/onionprobe-role
Onionprobe Ansible Role -- mirror of https://gitlab.torproject.org/tpo/onion-services/ansible/onionprobe-role/ -- please create issues and pull requests there
https://github.com/torproject/onionprobe-role
ansible-role onion-services tor
Last synced: 12 days ago
JSON representation
Onionprobe Ansible Role -- mirror of https://gitlab.torproject.org/tpo/onion-services/ansible/onionprobe-role/ -- please create issues and pull requests there
- Host: GitHub
- URL: https://github.com/torproject/onionprobe-role
- Owner: torproject
- License: agpl-3.0
- Created: 2024-11-21T15:57:15.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-12-17T21:04:46.000Z (about 2 months ago)
- Last Synced: 2024-12-17T21:32:44.118Z (about 2 months ago)
- Topics: ansible-role, onion-services, tor
- Language: Jinja
- Homepage:
- Size: 229 KB
- Stars: 1
- Watchers: 7
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Ansible role for Onionprobe
This [Ansible][] role manages [Onionprobe][].
It can install [Onionprobe][] from it's [Git][] repository, [from PyPI][]
or using a distribution-provided package (if available).It can configure [Onionprobe][] to run as a single service or in the
[standalone][] mode.[Ansible]: https://ansible.com
[Onionprobe]: https://gitlab.torproject.org/tpo/onion-services/onionprobe
[Git]: https://git-scm.com
[from PyPI]: https://pypi.org/project/onionprobe/## Supported systems
Tested and supported:
* [Debian](https://debian.org).
Supported:
* [Ubuntu](https://ubuntu.com).
Other systems may have only _partial_ support:
* Installation from distro package may not be supported.
* Service management may be only partially supported.Merge requests are welcome to cover more Operating Systems.
## Requirements
* [Ansible][].
* [Systemd][], if the service is to be managed.
* The requirements to run [ansible.builtin.pip][] if installing Onionprobe [from PyPI][].
* For the [standalone][] operation mode:
* [Docker][] and [Docker Compose][], or [Podman][] and [Podman Compose][] should be
available in the remote system. As of 2024-10, [Podman][] support is still
[experimental][podman-experimental].[Systemd]: https://systemd.io
[ansible.builin.pip]: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/pip_module.html
[standalone]: https://onionservices.torproject.org/apps/web/onionprobe/standalone/
[Docker]: https://docker.com
[Podman]: https://podman.io
[Docker Compose]: https://docs.docker.com/compose/
[Podman Compose]: https://github.com/containers/podman-compose
[podman-experimental]: https://gitlab.torproject.org/tpo/onion-services/ansible/onionprobe-role/-/issues/1#note_3125493## Installation
This role can be installed directly through [Ansible Galaxy][]:
ansible-galaxy role install torproject.onionprobe
It's also possible to clone it directly from the [upstream repository][].
A [GitHub mirror][] is also provided.[Ansible Galaxy]: https://galaxy.ansible.com
[upstream repository]: https://gitlab.torproject.org/tpo/onion-services/ansible/onionprobe-role
[GitHub mirror]: https://github.com/torproject/onionprobe-role/## Usage
Sample usage in an Ansible playbook for a simple monitoring service:
```yaml
- name: Onionprobe prober
hosts: my-onion-proberroles:
- onionprobevars:
# Installs Onionprobe using the distribution package manager
onionprobe_installation: distro# Set operation to "single" mode (i.e, just the Onionprobe service)
onionprobe_operation: single# Monitors SecureDrop instances
onionprobe_config: securedrop.yml
```Another example, this time for the full [standalone][] node:
```yaml
- name: Onionprobe standalone monitor
hosts: my-onion-monitorroles:
- onionprobevars:
# Installs Onionprobe from it's Git repository
onionprobe_installation: repository# Sets operation to standalone (containerized services)
onionprobe_operation: standalone```
## Configuration
Check [defaults/main.yml](defaults/main.yml) for a commented list of variables.
## Development
This role has [molecule tests](molecule):
* The `podman` scenario is a generic one and is well suited for testing both
locally and through CI.
* The `local` scenario actually applies the configuration into the running
node, so be careful were to run it.A [Makefile](Makefile) exists to help local testing.