update README.md

This commit is contained in:
linus 2021-12-02 17:41:46 +01:00
parent 8614384bd7
commit c234093f4d

View File

@ -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)
<!-- markdown-toc end -->
@ -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 <name_of_peer>.toml
```
## Development