feat(docs): update speaker installation instructions and logging details
quality / commitlint (push) Skipped
quality / changes (push) Successful in 8s
quality / docker-check (push) Skipped
quality / openapi (push) Successful in 26s
quality / web (push) Successful in 1m27s
quality / go (push) Successful in 1m18s
quality / bird2 (push) Successful in 16s
CD / quality (push) Successful in 3m43s
CD / publish (push) Successful in 3m11s

- Enhanced the speaker installation documentation to clarify the use of TCP port 179 and the logging commands for monitoring BIRD and evobgp-agent.
- Updated the speaker form dialog to include additional information about MikroTik connections and logging commands.
- Modified the BIRD configuration to include logging to stderr for better visibility during operations.
- Adjusted the Docker Compose configuration to ensure proper network settings and sysctl configurations for BGP functionality.
This commit is contained in:
Denozordec
2026-08-21 16:11:28 +07:00
parent 5255cd2d30
commit 927e27640a
14 changed files with 132 additions and 20 deletions
+10 -1
View File
@@ -57,6 +57,7 @@ type renderData struct {
const composeTemplate = `# EvoBGP replica: bird2 + evobgp-agent + Traefik (Let's Encrypt DNS-01 / Cloudflare).
# Generated by control plane. Do not commit secrets. ACME state: volume evobgp_speaker_traefik_letsencrypt.
# BGP: ports 179:179 like control plane (overlay sets router id). Logs: docker compose logs -f bird2 evobgp-agent
name: evobgp-remote-speaker
@@ -70,12 +71,18 @@ services:
bird2:
image: {{.BirdImage}}
restart: unless-stopped
network_mode: host
cap_add:
- NET_ADMIN
sysctls:
net.ipv4.ip_forward: "1"
net.ipv6.conf.all.forwarding: "1"
ports:
- "179:179/tcp"
volumes:
- bird_etc:/etc/bird
- bird_run:/run/bird
networks:
- speaker-net
logging: *default-logging
evobgp-agent:
@@ -200,6 +207,8 @@ func dockerCommands(composeYAML string) string {
var b strings.Builder
b.WriteString(`# EvoBGP replica: bird2 + agent + Traefik (Let's Encrypt DNS-01 / Cloudflare)
# docker login git.shx.one # if images are private
# BGP TCP/179 published like the control plane. Cloud security group must allow 179.
# Logs: cd /opt/evobgp-speaker && docker compose logs -f bird2 evobgp-agent
set -euo pipefail
sysctl -w net.ipv4.ip_forward=1
sysctl -w net.ipv6.conf.all.forwarding=1
+5
View File
@@ -34,11 +34,16 @@ func TestBuild_includesTraefikDNS01(t *testing.T) {
"docker compose up -d",
"sysctl -w net.ipv4.ip_forward=1",
"evobgp_speaker_traefik_letsencrypt",
`"179:179/tcp"`,
"net.ipv4.ip_forward: \"1\"",
} {
if !strings.Contains(cmd, want) {
t.Errorf("docker_commands missing %q", want)
}
}
if strings.Contains(cmd, "network_mode: host") {
t.Error("replica bird2 must not use network_mode: host")
}
if strings.Contains(cmd, "?set ") {
t.Error("compose must bake values, not ${VAR:?set VAR}")
}