From afa7c4880a27010991f537259a5d5ec3214999df Mon Sep 17 00:00:00 2001 From: Marek Isalski Date: Sat, 15 Aug 2020 20:19:59 +0100 Subject: [PATCH] beginnings of README --- README.md | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..c29bcfc --- /dev/null +++ b/README.md @@ -0,0 +1,83 @@ +# automonty + +The `automonty` tool performs network automation. It is your [network moose](https://twitter.com/NetworkMoose) in mecha form. + +## Requirements + +At [FAELIX](https://faelix.net/) we run AS41495 which comprises VyOS-based BGP-edge routers and MikroTik RouterOS-based internal routers. We automate our VyOS edge with [hphr](https://gitea.faelix.net/FAELIX/hphr) and our MikroTik interior with `automonty`. You too will need RouterOS-based devices to make use of `automonty`. + +Ensure that you have access to the RouterOS API. + +## Installation + +```shell +git clone https://gitea.faelix.net/FAELIX/automonty +cd automonty +mkdir .venv +pipenv install +pipenv run ./python automonty --help +``` + +## Usage + +### Configuration File + +Create `~/.automonty.yaml` as follows: + +```yaml +router: + gama.m.faelix.net: + group: + - x4 + - x5 + soto.m.faelix.net: + group: + - x4 + - x5 + janszoon.d.faelix.net: + group: + - x5 + - x7 + kotzebue.n.faelix.net: + group: + - x5 + - x7 + teixeira.x.faelix.net: + group: + - x5 + - x7 + +loopbacks: + - 46.227.200.1/32 + - 46.227.200.2/32 + - 46.227.204.1/32 + - 46.227.205.1/32 + - 46.227.207.1/32 + - 46.227.207.255/32 + +default_ipv4_loopback: 46.227.207.255/32 +``` + +We have specified: + +* a set of routers and to which groups they belong +* a set of loopback addresses which should be treated specially +* a default loopback address which is used as the anycast IPv4 default gateway for guests (VPSs, layer-2 circuits, etc) + +### Credentials + +You can set credentials via environment variables: + +```shell +export AUTOMONTY_USERNAME=monty +export AUTOMONTY_PASSWORD="m00se<3p0t4t0" +pipenv run ./python automonty check +``` + +### Invoking Commands + +#### Provisioning + +#### Tearing Down + +#### Migration