ILO
A library and command line tool written in golang for interacting with Integrated Lights Out(iLO) devices.
Introduction
This is a port of my existing python library ilo-utils to golang so that:
- Get familiar with golang.
- Reduce the need for runtime libraries and having python versions installed. This is important because those running the command might not be used to installing and configuring Python. Distributing as a binary is probably a better strategy.
- Possibly provide better performance. Performance is pretty good right now, this is just one of those things that would be extra nice.
Porting
In order to port over the existing cli, I will be doing the following:
- Writing an iLO test server in go. This will allow me to write more go code, and to have something that will behave like an iLO server.
- Verify that the existing CLI works against this test server by spinning up several containers and having them run these test servers.
- Write the new
ilo
package andilo-sweep
command in go.
Test Server
Since I no longer have access to a Server with ILO. This project contains a test
server. This test server allows us to test the ilo-sweep
command by running
the test server on multiple docker containers. This server will also listen on
port 17988 so we can test if that port is open from a port sweeping capability.
A docker-compose.yml has also been included so that we can easily spin up 3 test
boxes with:
docker-compose up -d
docker-compose scale server=3
Development
Deploying Test Instances
docker-compose up -d
docker-compose scale server=3
Rebuilding Code
docker-compose build
Testing commands
docker-compose run --rm sweep ilo-sweep 172.18.0.0/24