homelab management with labman

Recently I decided to try and throw together a one stop shop for managing frequently performed actions in my homelab. The goal was to enable me to faster create VMs, test software, rip them down, and rebuild. This is where I started with LabMan - HomeLab Manager.
It is very alpha. Very very alpha. It consists of 2 components: a Rails application that handles background jobs and the web UI, and an agent written in Go that runs on the servers and checks them in while providing some general info such as installed packages.
At a glance features:
- Create new VMs
- IPAM
- Execute workflows against hosts
- Host monitoring
- Host firewall management
- DNS management
- Network device configuration
- Network visualization
- Alerting
- Service monitoring
Picture Walkthrough
Hosts View
Shows hosts in the lab, a glimpse of their health, IP, and when the labman agent last checked in (WIP).

Single Host View - Dashboard
This view allows you to see a dashboard with some metrics about a given host (CPU, RAM, Network, etc)

Single Host View - Workflow
Shows information about workflows that have run against this host (more on that later).

Single Host View - Firewall
Allows you to visually manipulate firewall rules which apply to this host.


Single Host View - Alarms
Shows alarms running against this host, their current status, and exit codes from alarm runs (0=ok, 1=warning, 2=critical)
Alarm notifications are sent through slack.


Single Host View - Console
Access a VMware Console view to interact with VMs having network issues, etc. HTML5

Single Host View - Configuration
Enable/disable alarms, set SSH access information, and even reprovision or deprovision the VM.

Create a new VM
Wizard walks through VM creation and kicks off a provisioning workflow (more info later).




Network Devices
Show dashboard of network devices

Network Devices - Interfaces
Show interfaces, connections, and even update the configuration of an interface (Cisco devices supported right now)


Network Devices - Visualization
Show connections between physical devices

IPAM
Show subnets in parent-child view, VLANs, and utilization


IPAM - Subnet View
Show subnet details, utilization, hosts, DHCP scopes, etc. Subnets are automatically swept to detect new hosts. IP, Host, DNS, and Network Device objects are displayed to associated IPs.



DNS - Server View
Show all zones on a DNS server

DNS - Zone View
Show records for a DNS zone, create new records, delete stale records.


Services
List services and their availability

Services - Parent Service with Children
Show a service, and subservices, with their health status


Workflows
Shows workflows that have been created, as well as lists workflows that have been run. This includes host provisioning.


Workflows - Create Workflow
Create a workflow by defining steps to perform against a host.

Workflow - Run Example
Install Consul workflow run example

Workflow - Provision Host
Example host provisioning workflow run. Creates DHCP entry, DNS record, PXE boots, configures, validates connectivity.


Workflow - Deprovision Host
Destroys VM, removes DHCP static record, removes DNS record.

Alarms
Shows all alarms and their current state. Alarm notifications are sent through slack.

Alarms - Single alarm view
Shows a single alarm, current state, and history
