Skip to content

feat: add optional FRR collector wrapper#18

Merged
rokernel merged 4 commits intomasterfrom
feat/frr-collector-optional
Apr 30, 2026
Merged

feat: add optional FRR collector wrapper#18
rokernel merged 4 commits intomasterfrom
feat/frr-collector-optional

Conversation

@rokernel
Copy link
Copy Markdown
Owner

Summary

  • add an optional FRR collector wrapper backed by upstream github.com/tynany/frr_exporter
  • expose env-driven toggles for current upstream collectors, including newer options like rpki, vrrp, and pim
  • harden the Docker build for Go 1.25 and add Dependabot for Go module updates

Why

This restores FRRouting metrics without reimplementing FRR scraping logic locally, while keeping the integration aligned with the repo’s current optional-collector pattern and making upstream updates easier to track.

Changes

  • add internal/collector/frr_collector.go
  • register FRR collector in cmd/sonic-exporter/main.go behind FRR_ENABLED
  • add FRR wrapper tests in internal/collector/collector_test.go
  • update README.md and docs/architecture.md
  • update Dockerfile for Go 1.25 and non-root runtime
  • add .github/dependabot.yml for weekly Go module updates

Validation

  • go test ./...
  • go build ./...
  • docker build .

Notes

  • FRR support is disabled by default with FRR_ENABLED=false
  • upstream frr_exporter v1.11.0 requires Go 1.25
  • upstream metric names remain under the frr_ namespace
  • RPKI support requires FRR built with --enable-rpki

rokernel and others added 4 commits April 30, 2026 10:24
Expose FRRouting metrics through the upstream frr_exporter library so FRR support can track upstream collectors without reimplementing protocol scraping locally.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Align the container build with the new Go toolchain requirement and drop runtime privileges so the documented Docker path stays reproducible and safer by default.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Describe the FRR wrapper, its upstream-backed toggles, and the Go 1.25 requirement so operators can enable it without reverse-engineering the new configuration.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Surface upstream frr_exporter releases as reviewable pull requests so dependency updates stay visible and easy to validate with existing CI.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
@rokernel rokernel merged commit 29a6d08 into master Apr 30, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant