At work, I spend my day writing Terraform and Yaml and CICD pipelines to apply said resources.
In my home lab I run a 2 (soon to be more) node K3S cluster, which I manage with Flux and a lot of other things.
My main question
I am looking for a router that has one (or more) of the below:
- Good terraform support
- Good Scripting language (Please not the mikrotik language)
Ideally I want to store my routers config in git, and build a CI solution around the config. Not sure how I will deal with the chicken and egg issue of if there is no internet how do you git pull the repo
What I’ve found so far
- Juniper seem to have a community provider that looks really good
- Mikrotik have a somewhat lacking community provider
- pfsense seems to be the worst in terms of commuity supported providers
Currently, I am leaning towards the Juniper solution, but that means removing the CCNA knowledge from my brain to fit their syntax in
Any help would be greatly appreciated!
Oh! I was just researching this!
Check out VyOS. You can virtualize it while you determine if it’s the right fit and then once you’re ready, load it onto a physical chassis. I haven’t actually loaded it yet into my lab, but was impressed with the integrations:
Ansible: https://docs.vyos.io/en/latest/automation/vyos-ansible.html
NAPALM: https://docs.vyos.io/en/latest/automation/vyos-napalm.html
Netmiko: https://docs.vyos.io/en/latest/automation/vyos-netmiko.html
Scrapli: https://scrapli.github.io/scrapli_community/reference/vyos/vyos/sync_driver/
Oxidized(works under “vyatta”): https://github.com/ytti/oxidized/blob/master/docs/Supported-OS-Types.md