UPX with --best --lzma compresses the Go binary for distribution. Integrated into Makefile targets (fallback if upx not installed).
90 lines
2.8 KiB
Markdown
90 lines
2.8 KiB
Markdown
# Wallarm Native Node Manager
|
|
|
|
Single-binary deployment and management for Wallarm Native Nodes (connector mode, no Docker).
|
|
One command to get started, one TUI to manage everything.
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
curl -fsSL "https://git.sechpoint.app/customer-engineering/wallarm/raw/branch/main/deploy.sh" | bash
|
|
sudo ./deploy/wallarm
|
|
```
|
|
|
|
That's it. The binary runs preflight checks, then opens an interactive TUI:
|
|
- **First run**: configuration wizard (cloud region, API token, node name, listen address)
|
|
- **Subsequent runs**: dashboard with node list, add/remove/configure actions
|
|
|
|
## Features
|
|
|
|
- **Single binary** — 2MB, zero runtime dependencies, works on any Linux
|
|
- **Interactive TUI** — bubbletea-powered forms and dashboard
|
|
- **Preflight checks** — runs on every start: system, network, cloud reachability, resources
|
|
- **Multi-node** — manage multiple Wallarm nodes on the same host via systemd
|
|
- **Remote tunnel** — `wallarm --tunnel` opens a reverse SSH tunnel over TLS:443 via Zoraxy
|
|
- **State persistence** — `~/.wallarm/state.json` tracks all deployments
|
|
|
|
## Commands
|
|
|
|
```
|
|
wallarm Interactive TUI (wizard or dashboard)
|
|
wallarm --tunnel Start reverse SSH tunnel to sechpoint.app
|
|
wallarm --version Show version
|
|
wallarm --help Show help
|
|
```
|
|
|
|
## Dashboard
|
|
|
|
```
|
|
📊 Wallarm Dashboard
|
|
Type: native | Cloud: EU (api.wallarm.com)
|
|
──────────────────────────────────────────────────
|
|
|
|
Nodes:
|
|
● srv1 — running (0.0.0.0:8081)
|
|
● srv2 — running (0.0.0.0:8082)
|
|
|
|
Actions:
|
|
[a] Add node
|
|
[c] Configure
|
|
[r] Remove node
|
|
[t] Start tunnel
|
|
[q] Quit
|
|
```
|
|
|
|
## Architecture
|
|
|
|
```
|
|
wallarm/
|
|
├── cmd/wallarm/main.go Entrypoint: preflight → TUI
|
|
├── internal/
|
|
│ ├── shared/ System detection, validation, connectivity
|
|
│ ├── preflight/ Mandatory checks on every start
|
|
│ ├── state/ ~/.wallarm/state.json persistence
|
|
│ ├── native/ Systemd units, installer, node management
|
|
│ ├── tunnel/ Reverse SSH over TLS:443 via Zoraxy
|
|
│ └── ui/ Bubbletea TUI (wizard + dashboard)
|
|
├── bin/
|
|
│ └── wallarm-linux-amd64 Pre-built binary
|
|
├── deploy.sh One-command bootstrap
|
|
├── go.mod / go.sum
|
|
└── Makefile Cross-compile targets
|
|
```
|
|
|
|
## Building from Source
|
|
|
|
```bash
|
|
go build -ldflags "-s -w -X main.version=$(git describe --tags)" -o wallarm ./cmd/wallarm/
|
|
make linux-amd64 # Cross-compile
|
|
make all # All targets
|
|
```
|
|
|
|
## Prerequisites
|
|
|
|
- Linux (systemd required)
|
|
- x86_64 or aarch64
|
|
- 2GB+ RAM, 10GB+ disk
|
|
- Outbound connectivity to Wallarm cloud (US/EU)
|
|
|
|
## License
|
|
|
|
Proprietary — see repository for terms.
|