No description
Find a file
2026-08-03 13:03:16 +00:00
python revert: back to symlink approach, PrivateMounts incompatible 2026-08-03 13:03:16 +00:00
.gitignore feat: show version on startup and in setup.sh output 2026-08-01 16:11:57 +00:00
deploy.sh refactor: /opt/fw/deploy.sh wrapper, app/ subdir for main.py + config 2026-08-03 12:06:33 +00:00
JUMP_SERVER.md docs: jump server setup guide for remote assistance 2026-08-01 15:01:37 +00:00
README.md chore: remove old bash/docker files, update README 2026-08-03 10:35:38 +00:00
setup.sh refactor: /opt/fw/deploy.sh wrapper, app/ subdir for main.py + config 2026-08-03 12:06:33 +00:00

Wallarm Node Manager

Single-binary deployment and management for Wallarm filtering nodes. Interactive menu, multi-instance, zero runtime dependencies.

Quick Start

curl -fsSL "https://git.sechpoint.app/customer-engineering/wallarm/raw/branch/main/setup.sh" | bash
sudo /opt/fw/deploy

Commands

/opt/fw/deploy              Interactive menu
/opt/fw/deploy --deploy-all Deploy all nodes from fw.conf
/opt/fw/deploy --version    Show version

Menu

─── Main Menu ───
  [1] Deploy a node
  [2] Edit a node
  [3] Show status
  [4] Remove a node
  [5] Remote tunnel
  [6] Dashboard (TUI)
  [q] Quit

Configuration

Node configuration is stored in /opt/fw/fw.conf:

{
  "nodes": {
    "srv1": {
      "token": "...",
      "cloud": "EU",
      "port": "8081",
      "upstream_ip": "10.1.0.10",
      "upstream_port": "8081",
      "labels": "group=srv1",
      "mode": "monitoring"
    }
  }
}

Modes: monitoring, safe_blocking, block, off.

Architecture

cmd/deploy/main.go         Entry point — menu, deploy, edit, remove
internal/
  native/                  Node deployment, systemd, nginx
  preflight/               System checks (14)
  state/                   /opt/fw/state.json persistence
  tunnel/                  Reverse SSH over TLS:443
  ui/                      Bubbletea TUI (dashboard)
  shared/                  Validation, connectivity
setup.sh                   Bootstrap — clones repo, builds binary
Makefile                   Cross-compile targets

Directory Layout

/opt/fw/
├── deploy                 Go binary
├── fw.conf                Node configuration (JSON)
├── state.json             Deployment state
├── {name}/wallarm/        Per-instance files
│   ├── nginx/             Instance NGINX
│   ├── modules/           Wallarm modules
│   ├── etc/               Wallarm config
│   └── ...
└── wallarm-aio.sh         Cached Wallarm installer

Requirements

  • Linux with systemd
  • x86_64 or aarch64
  • 2GB+ RAM, 10GB+ disk
  • Outbound to api.wallarm.com (EU) or us1.api.wallarm.com (US)

Remote Assistance

See JUMP_SERVER.md for jump server setup.