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