You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.8 KiB

automonty

The automonty tool performs network automation. It is your network moose in mecha form.

Requirements

At FAELIX we run AS41495 which comprises VyOS-based BGP-edge routers and MikroTik RouterOS-based internal routers. We automate our VyOS edge with 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

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:

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

routing_filter_chain: automonty

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:

export AUTOMONTY_USERNAME=monty
export AUTOMONTY_PASSWORD="m00se<3p0t4t0"
pipenv run ./python automonty check

Invoking Commands

Provisioning

Tearing Down

Migration