Implemented GitLab issue #3 (multi-connection YAML config), the largest change this session: #58
No reviewers
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
keyop-go/nfq_forwarder!58
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue3_single_config_and_process"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Claude's work:
New capability: nfq_forwarder --config runs many connections (queue number/jump host/network/ports) concurrently in a single process, replacing the current supervisord-based fan-out of ~30 separate OS processes.
Legacy single-connection CLI flags (-j/-l/-n/-p/-q) still work unchanged and take a different, mutually-exclusive path — --config fully governs when set, never merged with flags.
Key design points:
initNfqueue/initNfqIptables/deleteNfqIptablesRules from os.Exit/log.Fatalf to returning errors.
self-heal, with no new ordering config.
Verified: make test/make lint clean, 5x repeated -race runs stable, coverage improved across all touched packages (config still 100%, setup 45%→53.6%, nfq_forwarder 47.2%→49.6%, sshtunnel 55.1%→59.0%). Confirmed --help
shows the new flag correctly.
Not verified (no root/iptables in this sandbox — saved to memory): real concurrent multi-queue operation, the chained-tunnel self-heal end-to-end, SSH key overrides against a real handshake, and per-connection isolation
under real misconfiguration. The real ~30-entry supervisord config still needs manual translation into YAML — explicitly out of scope here.
Should resolve
https://gitlab.keyop.co.uk/keyop/go/nfq_forwarder/-/work_items/3 but
needs testing.
requested review from @danny
assigned to @danny
This all seems to work as expected.
approved this merge request
mentioned in commit
c25018fc07mentioned in commit
4dce470255