beginnings of README
This commit is contained in:
		
							
								
								
									
										83
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							@ -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
 | 
			
		||||
		Reference in New Issue
	
	Block a user