Skip to content

Commit

Permalink
Add backend auth. Drop frontend
Browse files Browse the repository at this point in the history
  • Loading branch information
lwindolf committed Jan 4, 2024
1 parent a1392e3 commit bc5227c
Show file tree
Hide file tree
Showing 40 changed files with 462 additions and 7,978 deletions.
57 changes: 10 additions & 47 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,64 +1,27 @@
# WurmTerm 🐛
# WurmTerm Backend 🐛

Linux Terminal companion app discovering services and issues on your servers and kubernetes namespaces.

![Screenshot WurmTerm](https://user-images.githubusercontent.com/3315368/118046621-dde32e00-b379-11eb-8400-7942eb401e86.png)

WurmTerm
- watches over the state of servers you are connected to via SSH sessions
- alerts you of issues detected
- provides you with an overview of detected services (web servers, databases, RAID ...)
- allows you to create CPU flame graphs

By using the same password-less SSH connect commands you use WurmTerm can be open
as a browser tab alongside you multiple terminal (tabs) and it will visually notify
you about issues on hosts you "travel" to faster and more comprehensive than you
could debug issues yourself. It will often uncover problem you do not notice at all.

Probing does not happen via brute-force, but depending on services detected via
a `netstat`/`ss` listing.
WurmTerm is an addon for the progressive web app lzone.de. It allows observing
connected systems as well as exectuting runbooks against those. This repo contains
only the backend part.

## Installation

Backend

npm i wurmterm-backend

From source

cd backend && npm install
cd frontend && npm install

## Usage

Start the backend in your work environment:

npx wurm

To always start the backend consider adding above line to your `~/.profile`.

To start the frontend locally

cd frontend
npx serve -S

Alternatively host the frontend code on a website of your choice by
providing proper CORS, COEP, COOP headers in your webserver config to allow
the PWA to access the local backend and to allow iframe same origin embedding
for the notebook code.
## Backend Usage

## Remote Host Monitoring via SSH
npx wurm start
npx wurm stop

The WurmTerm backend uses Node.js and StatefulCommandProxy to issue
SSH commands. It will check which SSH connections you have open at any time
and will start run probes to the same nodes.
npx wurm configure # to change settings / password

## Assumptions

WurmTerm assumes
WurmTerm backend assumes

- that you use bash
- that it can connect to all those hosts via SSH without credentials
- that is allowed to discover connected kubernetes contexts
- that you use `ssh <node|ip>` only and handle all private key switching in your SSH config
- that it is always allowed to sudo (but won't complain if it does not succeed)

6 changes: 0 additions & 6 deletions backend/config/default.json

This file was deleted.

297 changes: 0 additions & 297 deletions backend/server.js

This file was deleted.

Loading

0 comments on commit bc5227c

Please sign in to comment.