You state intent. Evo executes it as an approved change.
The device is asked whether it took. If it did not, you know quickly — and you can reverse it. This is the operating model, in the language an engineer already has: subnets, DHCP scopes, DNS, IPAM, inventory, ports, VLANs, drift, blast radius, approved change.
One place to work
An approved change, every time
Nothing of consequence is a fire-and-forget CLI paste. A change moves through a fixed sequence, and partial failure is not left half-done — compensating actions run in reverse order.
- 01
Validate
- 02
Snapshot
- 03
Apply
- 04
Verify
- 05
Record
Refusals are expensive — a colleague who often says “I can’t” gets worked around. A refusal has to be a real limit, stated once, with the nearest thing Evo can do offered alongside it. A trunk that reports as an access port is not guessed into an access-VLAN change. The product declines, and tells you why.
The device is the source of truth
DHCP, DNS, and IPAM move together
A prefix is not three tickets in three tools. When a site takes a subnet, the intent is one approved change: the prefix is owned, DHCP can serve it, DNS can name it. Runtime services commit first; the inventory of record follows. Correct runtime with stale docs is recoverable — the other way around is an incident.
Switches: Cisco and Juniper, for real
Evo, unprompted
The appliance stays sealed
If the WAN dies
Not Ansible with a nicer theme
Playbooks do not read the port back and freeze a rollback as a first-class act.
Not a single-OEM controller
Not a vendor controller you use for one OEM and abandon for the next.
Not an LLM that invents a VLAN
Inference without a device read is how midnight changes become outages.
Walk the pipeline with us
We demonstrate the change pipeline on live Cisco and Juniper hardware. Availability follows the lease and the edition.