beginnings of README
parent
edad5184a1
commit
afa7c4880a
@ -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
|
Loading…
Reference in New Issue