https://github.com/robgonnella/ops
A terminal UI app for managing on-premise bare-metal servers and VMs
https://github.com/robgonnella/ops
arp arpscan arpscanner bare-metal baremetal gplv3 network-scanner on-prem on-premise scanners ssh syn synscan synscanner teminal-application teminal-ui vms
Last synced: 5 months ago
JSON representation
A terminal UI app for managing on-premise bare-metal servers and VMs
- Host: GitHub
- URL: https://github.com/robgonnella/ops
- Owner: robgonnella
- License: gpl-3.0
- Created: 2023-06-20T14:23:48.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-03-21T01:48:49.000Z (over 2 years ago)
- Last Synced: 2025-09-24T13:58:23.463Z (9 months ago)
- Topics: arp, arpscan, arpscanner, bare-metal, baremetal, gplv3, network-scanner, on-prem, on-premise, scanners, ssh, syn, synscan, synscanner, teminal-application, teminal-ui, vms
- Language: Go
- Homepage:
- Size: 5.48 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README

## On-Prem Server Management
Ops is a terminal UI application for managing on-premise bare-metal servers
and VMs. It allows you see servers currently on your network and quickly ssh to
them. Within the UI, you can create and manage multiple network configurations,
you can choose a default set of ssh credentials to use for all servers, and you
can override those defaults for individual IPs where needed.
This project is heavily inspired by [derailed]'s amazing work on [k9s] for
managing kubernetes clusters via a terminal ui application.
## Runtime Dependencies
Ops has some external runtime dependencies: libpcap.
- mac
```bash
brew install libpcap
```
- debian
```bash
sudo apt update && sudo apt install -y libpcap-dev
```
## Build Dependencies
If building Ops from source you will need a few other build dependencies.
- mac
```bash
brew install make go git
```
- debian
```bash
sudo apt update && sudo apt install -y make golang git
```
## Installation
When installing using golang or building from source, you may want to add the
following lines to one of your rc files to add your user's go bin to the
PATH variable. This will make the `ops` command available in your shell.
```bash
export GOPATH="$HOME/go"
PATH="${GOPATH}/bin:$PATH"
```
- install using golang
- dependencies
- golang
- libpcap
- git
```bash
go install github.com/robgonnella/ops@latest
```
- build from source
- dependencies
- golang
- make
- libpcap
- git
```bash
git clone https://github.com/robgonnella/ops.git
cd ops
make install
```
- use pre-built binaries: https://github.com/robgonnella/ops/releases
- dependencies
- libpcap
## Usage
On first launch a default configuration will be generated based on your machines
default network settings. If your machine is not connected to a network the app
will fail to start.
- start application
```bash
# Due to the usage of libpcap, ops must be run with root privileges.
sudo ops
```
- clear config file and log file
```bash
sudo ops clear
```
- show help / usage
```bash
ops help
# or
ops --help
# or
ops --help
```
## Demo

## Files and Config
- `config.json`: Stores network configurations for scanning `~/.config/ops/config.json`
- `ops.log`: Additional logging `~/.config/ops/ops.log`
## Technologies
- [tview] is used to build the frontend. This is a wonderful open source
terminal ui library provided by [rivo]!
[rivo]: https://github.com/rivo
[tview]: https://github.com/rivo/tview
[k9s]: https://github.com/derailed/k9s
[derailed]: https://github.com/derailed