Skip to content

Conversation

@captainpacket
Copy link

Adds a minimal netlab API server (stdlib HTTP) to expose CLI actions for automation. Includes new CLI command, help listing, and docs page.

@captainpacket
Copy link
Author

This is primarily an automation I built to hook netlab into Semaphore UI

@DanPartelly
Copy link
Collaborator

Thank you ! I certainly see some future in this.

Could you please write some words describing the problem you are trying to solve with this commit? So we can start from a common understanding?

@captainpacket
Copy link
Author

captainpacket commented Dec 24, 2025

Engineers here need to model and test lots of different vendors and networks. We've had some internal tooling in the past to do this manually (some hack expect style scripts), but have switched to netlab to make the environment a bit more composable.

We started using Semaphore UI (https://semaphoreui.com/) as a job execution engine, which works well with the built in terraform/ansible worklows in a multi-user environment. It can also do manual bash/python scripts. I'd started with bash scripts with sshpass, but found them kinda brittle. I wanted to switch to an API based workflow to make it a bit more robust.

I'd initially wrote a FastAPI based wrapper that imports these functions (which I'm still using), but I had the thought that this could be easily extended in the native CLI workflow. A typed version I think still has use and this could be extended for that.

@ipspace
Copy link
Owner

ipspace commented Dec 26, 2025

@captainpacket -- Thanks a million for the PR. Definitely an interesting idea ;) and I truly appreciate you crossing all the Ts and dotting all the Is.

Give me a few days -- I'm stuck in the "we have to deal with another Ansible brokenness" bog, and have to get out of that first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants