When running gocast in a container, the default iptables implementation may not match that used on the underlying host kernel. The current container uses the legacy iptables implementation and calls the `iptables` binary. This fails with exit code 3 when running on a host using the newer nftables implementation. The container already has `iptables-nft` binary included, so just needs a way to call this instead of the default `iptables` binary. This change implements a new `iptables_binary` config option, defaulting to `iptables`, and calls this when adding or removing NAT rules. Fixes #32 This change was written using AI LLM. Authored-By: Claude Code (Sonnet 4.5)
54 lines
1.4 KiB
YAML
54 lines
1.4 KiB
YAML
agent:
|
|
# http server listen addr
|
|
listen_addr: :8080
|
|
# Interval for health check
|
|
monitor_interval: 10s
|
|
# Time to flush out inactive apps
|
|
cleanup_timer: 15m
|
|
# Consul api addr for dynamic discovery
|
|
consul_addr: https://consul
|
|
# interval to query consul for app discovery
|
|
consul_query_interval: 5m
|
|
# token to authenticate client if consul requires it
|
|
consul_token: 00000000-0000-0000-0000-000000000000
|
|
# iptables binary to use for NAT rules (default: iptables)
|
|
# Use "iptables-nft" on modern systems with nftables
|
|
# iptables_binary: iptables-nft
|
|
|
|
bgp:
|
|
local_as: 12345
|
|
remote_as: 6789
|
|
# override the peer IP to use instead of auto discovering
|
|
peer_ip: 10.10.10.1
|
|
|
|
# Alternatively, define multiple BGP peers for redundancy
|
|
#peers:
|
|
# - peer_ip: 10.10.10.1
|
|
# peer_as: 6789
|
|
# communities:
|
|
# - 100:100
|
|
# - 200:200
|
|
# md5_env_var: GOCAST_BGP_PEER1_PASSWORD # optional. Set via: export GOCAST_BGP_PEER1_PASSWORD="secret"
|
|
# - peer_ip: 10.10.10.2
|
|
# peer_as: 6789
|
|
# communities:
|
|
# - 100:101
|
|
# - 200:201
|
|
# multi_hop: true # optional
|
|
# md5_password: "secret123" # optional
|
|
|
|
communities:
|
|
- asn:nnnn
|
|
- asn:nnnn
|
|
origin: igp
|
|
|
|
# optional list of apps to register on startup
|
|
apps:
|
|
- name: app1
|
|
vip: 1.1.1.1/32
|
|
vip_config:
|
|
# additional per VIP BGP communities
|
|
bgp_communities: [ aaaa:bbbb ]
|
|
monitors:
|
|
- port:tcp:5000
|