diff --git a/README.md b/README.md index 7ce5247..c5a4eda 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ - [Motivation](#motivation) - [Install](#install) - [Clone the repo](#clone-the-repo) - - [Build binaries from submodule at `./innernet-src`](#build-binaries-from-submodule-at-innernet-src) + - [Build packages from submodule at `./innernet-src`](#build-binaries-from-submodule-at-innernet-src) - [Run the playbook](#run-the-playbook) @@ -16,7 +16,7 @@ There is a need for some of our servers to connect to other IPv6-only hosts. Sin ![An overview](fsfe-innernet.png) -# Install +# Preparation ## Clone the repo @@ -27,19 +27,35 @@ cd innernet-playbook ## Build binaries from submodule at `./innernet-src` -Since [innernet](https://github.com/tonarino/innernet) is new software, it is not yet included in the Debian repositories. Thus, before running the playbook we need to build the `innernet` and `innernet-server` binaries. At the moment, we are using `v1.5.1`, but you can choose any other available version by setting the environment variable accordingly. +Since [innernet](https://github.com/tonarino/innernet) is new software, it is not yet included in the Debian repositories. Thus, before running the playbook we need to build the `innernet` and `innernet-server` binaries. At the moment, we are using `1.5.1`, but you can choose any other available version by setting the environment variable accordingly. Please also note that you need [`cargo-deb`](https://github.com/kornelski/cargo-deb) installed to successfully compile the Debian packages. ```bash -INNERNET_VERSION=v1.5.1 ./build-binaries.sh +./build-debs.sh ``` -## Run the playbook +You can learn more about innernet by looking at its [source code](./innernet-src) or reading this informative [blog post](https://blog.tonari.no/introducing-innernet) of its creator. + +## Preparing `ansible` + +To ensure this playbook works on different machines, [pipenv](https://pipenv.pypa.io/en/latest/) is used to pin the version of `ansible`. So, to use the same version of Ansible that this playbook was tested with, simply run: ```bash -ansible-playbook playbook.yml +pipenv install --dev # for developing or +pipenv install # for simply running this playbook +pipenv shell ``` -## Distribute the invitation files +Now, you should be in a shell that is running the correct version of the `ansible` and `ansible-playbook` executable. + +## Execution + +### Run the playbook + +```bash +ansible-playbook deploy.yml +``` + +### Distribute the invitation files Some invitation files are for humans, so you need to send these files to them securely. I suggest using someting like `wormohle`. @@ -48,3 +64,5 @@ sudo apt install magic-wormhole cd roles/client/files wormhole send .toml ``` + +## Development