Monday, February 26, 2018

The Husk Shell, an agnostic CLI for Cisco, Juniper & more.

The Husk Shell provides single unified READONLY console that presents the operator with a consistent set of commands, regardless of the hardware vendor or operating system.

Additionally, Husk introduces the concept of a context, whereas the operator may choose to issue commands against sets of devices. There is no requirement that the device sets be homogeneous; different device types, vendors and OSs may be mixed in a context.

Cmd2 provides the basic CLI shell, history, help & tab completion, Napalm provides the device methods and docstrings.

This is a fun little side tangent from a larger automation project. Basically, I've just taken the cmd2 and Napalm libraries mashed them together and added a context object. Both are awesome on their own, together it's like a peanut butter cup. The available methods could be extended to give the ability to also write to the device.

Github: https://github.com/jbarnes7952/husk_shell

Demo video: https://www.youtube.com/watch?v=9u4f2YOfuBk

Supported devices: http://napalm.readthedocs.io/en/latest/support/

Excuse my poor video production skills. Have I mentioned Napalm is Awesome?



No comments:

Post a Comment