No description
Find a file
admin 6c8b9dc166 fix: systemd ExecStartPre with - prefix, remove symlink dependency
- ExecStartPre=- allows nginx start failure without blocking service
- Removed shell constructs (|| true) incompatible with systemd
- Removed env.list background goroutine (setup.sh no longer used)
- Multi-instance needs per-instance ELF patching (WIP)
2026-08-02 07:20:43 +00:00
cmd/deploy fix: remove goroutine timeout, registration takes 30-60s normally 2026-08-01 20:29:47 +00:00
common feat: add native deployment and separate docker|native structure 2026-08-01 08:36:37 +01:00
docker feat: Go binary — preflight, state, tunnel over TLS:443 2026-08-01 09:25:22 +00:00
internal fix: systemd ExecStartPre with - prefix, remove symlink dependency 2026-08-02 07:20:43 +00:00
native feat: cloud region selection in native script, rename deploy script 2026-08-01 08:58:50 +00:00
.env chore: auto-commit 2026-05-04 12:12 2026-05-04 12:12:38 +01:00
.gitignore feat: show version on startup and in setup.sh output 2026-08-01 16:11:57 +00:00
changelog.md refactor: make wallarm-native.sh the sole native deployment script 2026-08-01 08:53:07 +01:00
go.mod Revert "refactor: move Go source into source/ directory" 2026-08-01 15:33:35 +00:00
go.sum Revert "refactor: move Go source into source/ directory" 2026-08-01 15:33:35 +00:00
JUMP_SERVER.md docs: jump server setup guide for remote assistance 2026-08-01 15:01:37 +00:00
Makefile refactor: rename wallarm → deploy, deploy.sh → setup.sh 2026-08-01 15:39:56 +00:00
README.md refactor: rename wallarm → deploy, deploy.sh → setup.sh 2026-08-01 15:39:56 +00:00
setup.sh simplify: setup.sh just builds and drops binary in /opt/fw/ 2026-08-01 17:00:43 +00:00

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

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

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 tunnelwallarm --tunnel opens a reverse SSH tunnel over TLS:443 via Zoraxy
  • State persistence~/.wallarm/state.json tracks all deployments

Commands

deploy               Interactive TUI (wizard or dashboard)
deploy --tunnel       Start reverse SSH tunnel to sechpoint.app
deploy --version      Show version
deploy --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

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.