Commit graph

227 commits

Author SHA1 Message Date
admin
10fa528e77 feat: unshare -m bind mount for per-instance /opt/wallarm isolation 2026-08-03 13:08:23 +00:00
admin
b8b46daf00 revert: back to symlink approach, PrivateMounts incompatible 2026-08-03 13:03:16 +00:00
admin
d277d976d0 fix: mkdir -p /opt/wallarm before bind mount, fix status parsing 2026-08-03 13:02:07 +00:00
admin
06c1ecfe85 feat: systemd PrivateMounts bind-mount isolation, port offsets kept 2026-08-03 12:58:35 +00:00
admin
c8fd8bc37e fix: status parsing from systemd list-units 2026-08-03 12:47:32 +00:00
admin
1974fd0293 fix: save state in deploy_all, discover nodes from systemd 2026-08-03 12:28:01 +00:00
admin
d28d77661d fix: remove -f flag from cloud check (Wallarm API returns 404 on root) 2026-08-03 12:14:16 +00:00
admin
112bffb742 refactor: /opt/fw/deploy.sh wrapper, app/ subdir for main.py + config
- /opt/fw/deploy.sh — simple wrapper, user entry point
- /opt/fw/app/main.py — deploy script
- /opt/fw/app/fw.conf — node config
- /opt/fw/app/state.json — deployment state
- Instances stay at /opt/fw/{name}/wallarm/
2026-08-03 12:06:33 +00:00
admin
8ea81cdb17 fix: remove /opt/wallarm symlink after deploy 2026-08-03 11:57:57 +00:00
admin
944df2d394 chore: fix comment 2026-08-03 11:55:32 +00:00
admin
2049bcf617 fix: wcli uses -cfg not --config-file 2026-08-03 11:53:47 +00:00
admin
a2a658caaa fix: nginx ExecStartPre non-fatal (-) so deploy nginx doesn't block 2026-08-03 11:49:17 +00:00
admin
278d82441d fix: distro package fallback before pyenv for Python install 2026-08-03 11:47:03 +00:00
admin
31013b3e82 fix: message when fw.conf is empty 2026-08-03 11:34:53 +00:00
admin
076b801eda fix: proper error handling for access denied, kill deploy nginx before systemd 2026-08-03 11:26:49 +00:00
admin
03f56964b9 fix: cloud check is warning not failure, --help works 2026-08-03 11:24:47 +00:00
admin
43dfc6ec06 pivot: Python rewrite replacing Go — single deploy.py
- Single deploy.py (~400 lines) replaces all Go code
- setup.sh installs Python 3.12 via pyenv (cross-distro)
- Same functionality: menu, deploy, edit, remove, status, tunnel
- No build step — script runs directly
- Path patching and port offset in native Python
2026-08-03 11:09:08 +00:00
admin
31cbb56629 fix: curl or wget fallback for AIO download, preflight tweak 2026-08-03 10:40:14 +00:00
admin
e62efa5534 fix: setup.sh installs curl + git + go for all package managers 2026-08-03 10:38:36 +00:00
admin
0e781b157e chore: remove old bash/docker files, update README 2026-08-03 10:35:38 +00:00
admin
1924d5b1df fix: cross-filesystem friendly move with cp+rm fallback, kill deploy nginx 2026-08-02 09:45:51 +00:00
admin
8f9c0ac10c feat: --deploy-all flag, fix menu numbering, update clean.sh 2026-08-02 09:39:53 +00:00
admin
216b24b9ac fix: deploy menu numbers only undeployed nodes 2026-08-02 09:39:12 +00:00
admin
c49ee64b0b revert: symlink is the reliable approach for /opt/wallarm
Bind mounts and unshare namespace approaches are fragile across
systemd versions.  Symlink + --config-file for wcli provides
adequate isolation for multi-instance.
2026-08-02 09:29:07 +00:00
admin
11dade0c5e refactor: fw.conf JSON config replacing flat .env 2026-08-02 09:17:49 +00:00
admin
1c2dbb9540 fix: add missing mode declaration 2026-08-02 09:14:28 +00:00
admin
3d076221e2 feat: block/monitoring mode — ask during deploy, configurable in .env 2026-08-02 09:12:27 +00:00
admin
e5e1697402 reorder: deploy, edit, status, remove, remote, dash, quit 2026-08-02 09:09:16 +00:00
admin
c96fb88fbd feat: edit node — reconfigure port, upstream IP/port 2026-08-02 09:07:53 +00:00
admin
221b1968b0 feat: interactive menu, multi-node .env, numbered remove
- No flags needed — interactive menu on startup
- [1] Deploy: shows .env nodes, ✓ marks deployed, pick by number
- [2] Remove: numbered list of deployed nodes from state.json
- [3] Status: shows all nodes with systemd state
- [4] Tunnel, [5] Dashboard (TUI)
- .env supports WALLARM_NODES=srv1,srv2 with per-node keys
- Backward compatible with legacy single-node .env
2026-08-02 09:04:39 +00:00
admin
86a172a4ed fix: add --config-file to wcli in patchPaths for multi-instance 2026-08-02 08:41:20 +00:00
admin
f4e931bbd4 fix: use bash -c for find+sed, kill temp nginx, simplify systemd
- patchPaths uses bash -c 'find ... -exec sed {} +' instead of Go exec
- Port offset applied to ALL yaml/yml/conf files across instance
- Kill deploy-time nginx before systemd starts
- Simplified systemd template (removed broken fuser line)
2026-08-02 08:18:06 +00:00
admin
6a9337553a fix: per-instance port offset, improved systemd nginx start
- Port offset from instance name hash avoids supervisord conflicts
- ExecStartPre kills old nginx before starting new one
- Removed broken patchelf approach
2026-08-02 07:57:05 +00:00
admin
3884f094fd fix: dynamic symlink in ExecStartPre for multi-instance support
Each instance creates /opt/wallarm -> its own directory before starting.
Removed patchelf approach (broke library paths).
Systemd template updated with ExecStartPre ln -sf.
2026-08-02 07:45:48 +00:00
admin
aeb8be3ebc feat: patchelf ELF binaries per instance for true multi-node 2026-08-02 07:31:12 +00:00
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
admin
56468d3366 feat: nginx with Wallarm module in systemd, wallarm-status endpoint 2026-08-02 06:33:07 +00:00
admin
50ba28c2f9 fix: always register node, remove broken skip logic and stray brace 2026-08-02 06:00:01 +00:00
admin
6f5c281089 fix: add Symlink constant, create /opt/wallarm → instance after move 2026-08-02 05:56:53 +00:00
admin
08653eca9d fix: patch all config files (*.sh, *.list, *.conf, *.yaml, *.yml, *.json) 2026-08-01 22:06:07 +00:00
admin
310ee0a8a4 fix: patchPaths adds wstore.yaml, avoid corrupting binaries 2026-08-01 22:00:05 +00:00
admin
8b49978ea1 fix: use bundled python3.10 in systemd, patch paths after move 2026-08-01 21:52:36 +00:00
admin
a6359beb61 fix: remove supervisord start (blocks forever with -n), use state for skip check 2026-08-01 21:15:21 +00:00
admin
938aa168b3 fix: skip registration if node.yaml exists, fix else block brace 2026-08-01 21:12:18 +00:00
admin
7f7bff15ca fix: remove duplicate Registering print, wait for registration 2026-08-01 20:48:02 +00:00
admin
e4b1021c52 fix: remove goroutine timeout, registration takes 30-60s normally 2026-08-01 20:29:47 +00:00
admin
da56eaf164 fix: explicit goroutine timeout for registration 2026-08-01 20:12:37 +00:00
admin
842024a6ea fix: source env.list before register, 60s timeout 2026-08-01 19:52:29 +00:00
admin
452976ab43 fix: help text, node status running after deploy 2026-08-01 19:39:26 +00:00
admin
d5252b3be0 feat: --remove and --status flags 2026-08-01 19:32:39 +00:00