Repository navigation
Releases: GrandArcher/Packeteer
Release list
v0.8.0
Packeteer v0.8.0 is about Internet exchanges and shared measurements, all observe-safe.
Highlights
- IXP mode (#160-#167): observe-only IXP mode with IX-F member import, fabric probes, Birdseye route-server history and signals, fabric incident correlation, member pages, and multi-site health.
- Measurement (#150, #157, #158, #343, #347): probe-path check, probe multiplexing with a PBR generator, RPKI origin labels, health labels from measured loss, and provider health events.
- Exchanges (#147, #151, #153): BMP exchange peer monitoring, a shared IX port, and PeeringDB / IX-F lookup.
- UI (#329, #330, #344-#346): settings forms for most config blocks with a Preview diff, clearer observe wording.
- Herd (#260, #261): opt-in herd phase 1 and the hub client.
Upgrade: sign-in is now on by default for every install, upgrades included (#328). A config without an auth block requires sign-in; tokenless scrapers and API clients (for example /metrics) get 401 until given a token. Without PACKETEER_ADMIN_PASSWORD, the first start generates a one-time admin password. To keep the old open behavior, set auth: {enabled: false}. See the README "From 0.7 to 0.8" notes.
Safety (unchanged)
- Default mode stays
observe. Inject still requiresmode: inject, an allowlist, the configured community + NO_EXPORT, themax_improvementscap, and hold time/thresholds. IXP mode never announces. - Packeteer never announces a prefix that is not in the learned RIB view.
- BGP behavior in this release is lab-proven only (simulated routers in CI, documentation prefixes and private ASNs), not on a public edge.
Image: ghcr.io/grandarcher/packeteer:0.8.0 (also :0.8 and :latest once the publish workflow finishes). See CHANGELOG.md for details.
What's Changed
- #147 BMP exchange peer session events, prefix counts, and max-prefix warnings by @GrandArcher in #322
- v0.7.0 release notes and pinned tag by @GrandArcher in #324
- #150 automatic probe-path check per provider and IX peer by @GrandArcher in #323
- #160 IXP mode is observe-only and never announces by @GrandArcher in #326
- #327 show the Packeteer logo in the web UI by @GrandArcher in #331
- #161 read-only IX-F member import by @GrandArcher in #332
- #162 fabric prober from IX vantages by @GrandArcher in #334
- nightly cleanup 2026-10-15 by @GrandArcher in #321
- #153 read-only cached PeeringDB / IX-F lookup by @GrandArcher in #340
- #164 route-server observability via Birdseye, with history and alerts by @GrandArcher in #339
- #337 redact IX-F view query strings and omit unset times by @GrandArcher in #354
- #336 expire the Can Ping list after three intervals by @GrandArcher in #363
- #338 BMP exchange peer state: stats do not flip up, per-router keying, unknown down reason by @GrandArcher in #364
- #163 fabric vs member incident correlation by @GrandArcher in #365
- #151 shared IX port: capacity, commit, and flat port cost by @GrandArcher in #366
- #165 hijack, leak, and blackhole signals from route-server data by @GrandArcher in #368
- #329 guided settings inputs by @GrandArcher in #333
- #157 Probe multiplexing: shared source_ip with fwmark or DSCP per provider, PBR generator by @GrandArcher in #369
- #158 RPKI origin validation for IX paths by @GrandArcher in #325
- #343 Provider health follows what was measured by @GrandArcher in #367
- #166 per-member IXP pages, Prometheus series, and IXP Manager links by @GrandArcher in #370
- #344 Settings Save applies pending form edits and names each change by @GrandArcher in #372
- #346 observe mode shows Traffic now (router) and Packeteer recommends, not steered by @GrandArcher in #371
- #167 Multi-site IXP fabric health via federation by @GrandArcher in #374
- #347 Events for failing providers and unestablished BGP sessions, with a headline and next step by @GrandArcher in #375
- #345 Setup wizard keeps a working config: collapse, diff, confirm, auth kept by @GrandArcher in #373
- #311 Commit settings form matches loader case handling and keeps Track commit across a rename by @GrandArcher in #376
- #335 Steer reason text uses ASCII -> by @GrandArcher in #377
- Bump github.com/oschwald/maxminddb-golang/v2 from 2.7.0 to 2.8.0 by @dependabot[bot] in #357
- Bump github.com/go-jose/go-jose/v4 from 4.1.5 to 4.1.6 by @dependabot[bot] in #358
- Bump golang from 1.26-alpine to 1.27-alpine by @dependabot[bot] in #355
- #378 handleEvent reads neighbors under the RIB lock by @GrandArcher in #389
- #379 mitigation rule waits for outbound to release its prefix by @GrandArcher in #390
- #380 run go test -race on every PR by @GrandArcher in #391
- #260 Herd phase 1: local store, signed pull API, and pull among static peers by @GrandArcher in #388
- #397 flow: race-aware time budget in TestPrefixCapBatchEviction by @GrandArcher in #398
- #261 Herd hub list: verified seed peers from a public list of signed member entries by @GrandArcher in #396
- #330 Settings forms for the YAML-only sections, Preview, raw YAML under Advanced by @GrandArcher in #394
- #87 herd design: add IXP vantage kind and the cost answer by @GrandArcher in #399
- #328 Secure by default: sign-in on for new installs and upgrades with a first-run admin password by @GrandArcher in #403
- #400 README and docs match v0.8: counts, upgrade notes, CHANGELOG 0.8.0, portable ASCII check by @GrandArcher in #404
- Release prep: v0.8.0 changelog date, compare link, and pinned tag by @GrandArcher in #405
Full Changelog: v0.7.0...v0.8.0
v0.7.0
Packeteer v0.7.0 adds exchange (IX) visibility and the UI pages that were still open from the v0.6 review, all read-only or observe-safe.
Highlights
- Exchanges (#148, #149, #152, #154, #155, #156): an exchange view on Providers & Exchanges, IX LAN health probes per peer next hop with
exchange.degraded/recoveredevents, route-server vs bilateral prefix views, a transit-to-IX offload report, a potential-peers report, and discovered LAN members you can accept as draft peers. - UI (#172, #174, #177, #178, #182, #184, #211): top bar search, Commit & Cost, Reports with CSV/XLSX export, maintenance windows on Policies, chart widgets and grid layout on dashboards, a System page, and link-outs to HE, RIPEstat, PeeringDB, bgp.tools, Radar, IRR Explorer and opt-in NLNOG RING.
- Safety docs and tests (#210, #235): steering precedence with pairwise interaction tests, and per-vendor export-deny guides for
packeteer_community. - Code health (#236):
config.go,main.goandpolicy.gosplit into per-concern files; behavior unchanged.
Safety (unchanged)
- Default mode stays
observe. Inject still requiresmode: inject, an allowlist, the configured community + NO_EXPORT, themax_improvementscap, and hold time/thresholds. - Packeteer never announces a prefix that is not in the learned RIB view.
- BGP behavior in this release is lab-proven only (simulated routers in CI, documentation prefixes and private ASNs), not on a public edge.
Image: ghcr.io/grandarcher/packeteer:0.7.0 (also :0.7 and :latest once the publish workflow finishes). See CHANGELOG.md for details.
What's Changed
- #159 Internet exchanges row split into done, partial, and planned rows by @GrandArcher in #280
- #181 Settings form edits exchanges and their peers by @GrandArcher in #281
- v0.6.0 release notes and pinned tag by @GrandArcher in #284
- #210 router guides show export deny on every eBGP session by @GrandArcher in #282
- #211 prefix, ASN, and exchange-peer pages link out to public BGP tools by @GrandArcher in #285
- docs: publish release signing public key (#196) by @GrandArcher in #290
- #155 accept a discovered exchange member as a draft peer by @GrandArcher in #292
- docs: refresh README for v0.6.0 by @GrandArcher in #293
- #235 steering precedence doc and pairwise interaction tests by @GrandArcher in #291
- #177 maintenance window page by @GrandArcher in #294
- docs: link Packeteer Discord server by @GrandArcher in #297
- docs: add Packeteer logo by @GrandArcher in #298
- ci: post releases and merged PRs to Discord by @GrandArcher in #299
- #184 System page: per-component health panel by @GrandArcher in #295
- #172 Global search by prefix, ASN, or AS name over live data and history by @GrandArcher in #301
- #178 Reports: any date range, filters, sortable columns, CSV and XLSX export by @GrandArcher in #304
- #174 Commit & Cost page: 95th vs commit graph per provider and a commit setup flow by @GrandArcher in #309
- #182 Dashboard chart widgets, drag/keyboard move and resize, favorite dashboard by @GrandArcher in #312
- #148 Exchange dashboard view and improvements-to-exchanges report by @GrandArcher in #313
- #236 split config.go into schema, defaults, and validation by @GrandArcher in #314
- nightly cleanup 2026-10-14 by @GrandArcher in #310
- #156 Per-member route server vs bilateral availability comparison by @GrandArcher in #315
- #152 Transit-to-IX offload report (observe only) by @GrandArcher in #317
- #149 IX LAN health: per-peer next-hop reachability and exchange.degraded alert by @GrandArcher in #316
- #236 Split controller main.go into per-area wiring files by @GrandArcher in #319
- #154 Potential-peers report from flow by destination ASN by @GrandArcher in #318
- #236 split internal/policy/policy.go into per-concern files by @GrandArcher in #320
Full Changelog: v0.6.0...v0.7.0
Verifying upgrades
Release binaries are covered by SHA256SUMS; SHA256SUMS.sig is a base64 Ed25519 signature over SHA256SUMS. To use the Settings upgrade (#196), pin the release public key (not a secret):
upgrade:
enabled: true
public_key: "xbP7Os7YIqfBhu36+E+WK0xvTizFyPROA1QCAseqEkA="A release whose signature or checksum does not verify is never switched to. See CONFIG.md.
v0.6.0
Packeteer v0.6.0 closes the gaps found in the 2026-10-07 review of prefix selection, measurement, and the UI, and adds hardening across every steering surface.
Highlights
- Prefix selection and measurement (#113, #116–#121, #123–#125): probe targets as candidates, host qualification by reply count and RTT spread, a remembered prober per host, indirect probing for silent targets, RTT thresholds with confirm rounds, and flow volume floors.
- Scale (#125, #217): the probe scheduler and load budgets grow with table size, up to a 5M-path
largeprofile, and caps are metered. - UI (#126, #129–#131, #170–#183, #196, #226): a left-nav shell with a page per area, sign-in, users and tokens, events and audit, time-series graphs, a paginated prefix list, settings forms for every source and policy, a manual probe, and upgrade and rollback from Settings.
- Live apply (#128, #233): thresholds, policies, sources, and inbound and mitigation settings apply on reload without a restart. A shrunk allowlist withdraws on the wire.
- Safety additions: flap quarantine (#228), leak watch (#199, partial), exchange peering LANs are excluded from probing and the allowlist (#145), and a failure-mode e2e matrix across outbound, more-specific, inbound, mitigation, and HA (#234).
- Repo hygiene (#223, #240): lint, staticcheck/deadcode, and security scanning in CI.
Safety (unchanged)
- Default mode stays
observe. Inject still requiresmode: inject, an allowlist, the configured community + NO_EXPORT, themax_improvementscap, and hold time/thresholds. - Packeteer never announces a prefix that is not in the learned RIB view. The opt-in synthesized more-specific block (#122) is not in this release.
- Packeteer-originated routes are withdrawn on shutdown, SIGTERM, probe-source loss, stale data, or RIB session loss. No graceful restart.
- BGP behavior in this release is lab-proven only (simulated routers in CI, documentation prefixes and private ASNs), not on a public edge.
Image: ghcr.io/grandarcher/packeteer:0.6.0 (also :0.6 and :latest once the publish workflow finishes). See CHANGELOG.md for details.
What's Changed
- #54 drop it from the v0.5 tag gate by @GrandArcher in #101
- #102 form settings by @GrandArcher in #107
- #103 opt-in 3M route lab profile by @GrandArcher in #108
- #106 setup wizard by @GrandArcher in #109
- #104 automatic probe targets by @GrandArcher in #110
- #105 MED display and ASN map by @GrandArcher in #111
- #115 IRP_PARITY recount: partial rows, six new rows, field-proven column by @GrandArcher in #139
- #114 charter: opt-in synthesized sub-ranges under rails by @GrandArcher in #138
- #113 flow hosts are probe candidates, not pins by @GrandArcher in #140
- #116 keep improved prefixes probed by @GrandArcher in #141
- #117 RTT percent and confirm rounds by @GrandArcher in #142
- #120 remember which prober a host answers by @GrandArcher in #144
- #146 label route servers separately from bilateral peers by @GrandArcher in #168
- #145 exclude exchange LANs from probes and allowlist by @GrandArcher in #169
- #119 qualify probe hosts by reply count and RTT spread by @GrandArcher in #185
- #118 flow volume floor and a slower tier past top_n by @GrandArcher in #186
- #127 persist 95th-percentile samples across restarts by @GrandArcher in #187
- #121 measure sub-ranges inside a large learned prefix (observe only) by @GrandArcher in #188
- #123 trace silent prefixes per provider and score each at its own hop by @GrandArcher in #189
- #132 part 1: local_pref per cause and provider by @GrandArcher in #191
- #132 part 2: extra and large communities by @GrandArcher in #192
- #132 follow-up: lab-check per-cause local_pref by @GrandArcher in #193
- #190 HA lab waits on the lease file by @GrandArcher in #194
- #171 fix unreadable mode chip, widget titles, times, and provider labels by @GrandArcher in #195
- #124 outage detection from traceroute hop ASNs and alternate paths by @GrandArcher in #197
- #170 left navigation with a page per area by @GrandArcher in #198
- Docs: make Packeteer stand alone (remove competitor references) by @GrandArcher in #220
- #128 apply thresholds, policies, and sources without a restart by @GrandArcher in #219
- #112 keep load-test RSS growth under 256 MiB by @GrandArcher in #218
- #129 Before/after loss and latency graphs (all, problem, 20%, 50% better) by @GrandArcher in #222
- #125 probe scheduler commits per prefix and counts passive prefixes by @GrandArcher in #216
- #130 settings forms for flow, rules, VIP, outage and a wizard flow step by @GrandArcher in #225
- #131 UI forms for mitigation, inbound, and anomaly rules by @GrandArcher in #231
- #223 repo hygiene: lint, Makefile, security scanning, docs by @GrandArcher in #238
- #176 sign-in page and sign-out for local users by @GrandArcher in #241
- #175 User and API token pages by @GrandArcher in #255
- Bump modernc.org/sqlite from 1.60.0 to 1.60.1 by @dependabot[bot] in #252
- Bump docker/build-push-action from 6 to 7 by @dependabot[bot] in #251
- Bump github.com/gosnmp/gosnmp from 1.42.1 to 1.45.0 by @dependabot[bot] in #250
- Bump google.golang.org/protobuf from 1.36.11 to 1.36.12 by @dependabot[bot] in #249
- Bump gitleaks/gitleaks-action from 2 to 3 by @dependabot[bot] in #247
- Bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #245
- Bump golangci/golangci-lint-action from 8 to 9 by @dependabot[bot] in #243
- Bump alpine from 3.20 to 3.24 by @dependabot[bot] in #242
- #87 herd design doc by @GrandArcher in #143
- #173 Events and audit log page by @GrandArcher in #258
- #179 click-through from an improvement to prefix detail and history by @GrandArcher in #263
- #199 leak watch withdraws and holds out an injected route seen outside the AS by @GrandArcher in #253
- #240 nightly cleanup 2026-10-11 by @GrandArcher in #256
- #180 render traceroute and looking glass results as tables by @GrandArcher in #264
- Bump github.com/go-jose/go-jose/v4 from 4.1.4 to 4.1.5 by @dependabot[bot] in #246
- Bump github.com/oschwald/maxminddb-golang/v2 from 2.6.0 to 2.7.0 by @dependabot[bot] in #248
- Bump actions/checkout from 4 to 7 by @dependabot[bot] in #244
- #226 Settings forms edit every source and policy by @GrandArcher in #259
- #183 paginate the measured-prefix list by @GrandArcher in #266
- #233 inbound and mitigation honor live mode, hold_time, and TTL by @GrandArcher in #265
- #228 flap quarantine parks prefixes that keep flipping providers by @GrandArcher in #267
- #196 upgrade from the UI: version check, one-click upgrade, rollback by @GrandArcher in #239
- #217 scale limits and load budgets grow with table size by @GrandArcher in #268
- #234 failure-mode e2e matrix across every injection surface by @GrandArcher in #269
- #126 manual probe: hostname, current vs best, queue the covering prefix by @GrandArcher in #270
- #240 clean up staticcheck, dead code, CHANGELOG bloat; slop checks in lint by @GrandArcher in #271
- #272 pace indirect trace packets and check Optimize setup before spending a token (#274) by @GrandArcher in #276
- #275 fakeTracer race fixed with a mutex by @GrandArcher in https://github....
v0.5.0
Packeteer v0.5.0 is hardening and polish on the v0.4 matrix (#49–#53). Field feedback from real observe-mode deployments (#54) stays open and is not part of this tag.
Highlights
- UI/UX polish (#49): dashboard mode banner, overview tiles, setup checklist, empty and error states.
modedefaults toobservewhen the key is omitted. - Install and router guides (#50): single-container quickstart, observe → suggest → inject walkthrough, troubleshooting, and MikroTik, FRR, Junos, and Cisco guides. Quickstart, troubleshooting, and the simulated-edge walkthrough run in CI.
- Load and soak budgets (#51): full-table synthetic RIB, high flow rate, published memory and CPU budgets, and a flow-ingest fix when that window is full.
- MikroTik CHR in QEMU (#52): RouterOS iBGP lab on GitHub runners. Community + NO_EXPORT, no export to eBGP, and withdraw on SIGTERM, the hold timer, and SIGKILL.
- Router interop matrix (#53): FRR, BIRD 2/3, GoBGP, and CHR against iBGP, add-path, and BMP where the daemon supports it. Scheduled CI.
Safety (unchanged)
- Default mode stays
observe. Inject still requiresmode: inject, an allowlist, the configured community + NO_EXPORT, themax_improvementscap, and hold time/thresholds. - Packeteer never announces a prefix that is not in the learned RIB view.
- Packeteer-originated routes are withdrawn on shutdown, SIGTERM, probe-source loss, stale data, or RIB session loss. No graceful restart.
- BGP behavior in this release is lab-proven only (simulated routers in CI, documentation prefixes and private ASNs), not on a public edge.
Image: ghcr.io/grandarcher/packeteer:0.5.0 (also :0.5 and :latest once the publish workflow finishes). See CHANGELOG.md for details.
What's Changed
- #49 first-run dashboard: overview, setup checklist, empty/error states, UI e2e smoke by @GrandArcher in #91
- #50 CI-tested quickstart, observe→suggest→inject walkthrough, troubleshooting, and router guides by @GrandArcher in #92
- #51 full-table load test and soak with published budgets; fix flow ingest by @GrandArcher in #93
- #52 RouterOS CHR in QEMU CI accepts, filters, and drops Packeteer routes by @GrandArcher in #94
- #53 router interop matrix: FRR, BIRD 2/3, GoBGP x iBGP, add-path, BMP (scheduled CI) by @GrandArcher in #95
- #31 harden HA active/standby daemon test against flake by @GrandArcher in #96
- #97 harden load soak RSS growth check against CI noise by @GrandArcher in #98
- #49-#53 v0.5.0 release notes and pinned tag by @GrandArcher in #100
Full Changelog: v0.4.0...v0.5.0
v0.4.0
Packeteer v0.4.0 completes the v0.4 IRP-parity milestone (#30–#34).
Highlights
- Multi-POP federation (#30): federated instances over mTLS, inter-DC RTT, multiple routing domains, global commit control.
- Active/standby HA and backup (#31): lease-based elector, standby stays passive, config/history backup and restore.
- RBAC, SSO, audit (#32): users, roles, API tokens, audit log, and OIDC SSO for the ops API.
- Flow-baseline anomaly detection (#33): detects deviations from the learned flow baseline; mitigates only when an explicit rule matches, and never announces a prefix outside the learned RIB view.
- Remaining UI parity (#34): improvement weights, validated config editor and setup wizard, custom dashboards, email report subscriptions.
Safety (unchanged)
- Default mode stays
observe. Inject still requiresmode: inject, an allowlist, the configured community + NO_EXPORT, themax_improvementscap, and hold time/thresholds. - Packeteer-originated routes are withdrawn on shutdown, SIGTERM, probe-source loss, stale data, or RIB session loss. No graceful restart.
- All new BGP behavior is lab-proven only (FRR/GoBGP in CI with documentation prefixes and ASNs), not on a public edge.
Image: ghcr.io/grandarcher/packeteer:0.4.0 (also :latest). See CHANGELOG.md for details.
What's Changed
- #30 multi-POP federation with inter-DC RTT, global commit, and central view, lab-proven by @GrandArcher in #84
- #31 active/standby HA with lease elector and config/history backup, lab-proven by @GrandArcher in #85
- #32 users, RBAC, API tokens, audit log, and OIDC SSO for the ops API by @GrandArcher in #86
- #33 flow-baseline anomaly detection that mitigates only on explicit rules, lab-proven by @GrandArcher in #88
- #34 improvement weights, validated config editor and wizard, custom dashboards, email report subscriptions by @GrandArcher in #89
- #30-#34 v0.4.0 release notes and pinned tag by @GrandArcher in #90
Full Changelog: v0.3.0...v0.4.0
v0.3.0
Packeteer v0.3.0 adds inbound commit control and steering, BMP and add-path support, and support for multiple routers, route reflectors, and IX deployments.
It also adds RTBH and FlowSpec mitigation, transit classification, and more-specific injection (capped, off by default, and limited to prefixes learned exactly in the RIB).
The safety gate is unchanged: default mode is observe.
Stock image: ghcr.io/grandarcher/packeteer:0.3.0
v0.2.0
Packeteer v0.2.0 completes the v0.2 milestone (#15–#24): advanced probing, AS-pattern outage detection, SNMP/95th telemetry, commit control and cost mode, routing policies and maintenance windows, passive problem detection, notifier plugins, reports/history, and read-only troubleshooting tools (looking glass, on-demand probe, traceroute, RDAP whois).
Safety gate unchanged: default mode: observe, lab inject only for allowlisted documentation prefixes, crash-withdraw covered by e2e. Stock image: ghcr.io/grandarcher/packeteer:0.2.0 (also :latest after publish).
What's Changed
- #15 UDP, traceroute, retry, and VIP probing by @GrandArcher in #62
- #16 AS-pattern and circuit outage detection by @GrandArcher in #63
- #17 SNMP telemetry and 95th percentile by @GrandArcher in #64
- #18 commit control, provider groups, and load balancing by @GrandArcher in #65
- #19 cost optimization mode with performance-vs-cost precedence by @GrandArcher in #66
- #20 routing policies by prefix, ASN and country, plus maintenance windows by @GrandArcher in #67
- #21 passive problem detection from SPAN/mirror traffic and flows by @GrandArcher in #68
- #22 notifier plugins (smtp, snmptrap, Slack/Teams/PagerDuty webhook presets) with an event catalog, filters, and rate limits by @GrandArcher in #69
- #23 reports and history on a sqlite storage plugin, JSON/CSV API and dashboard by @GrandArcher in #70
- #24 troubleshooting tools: looking glass, on-demand probe, traceroute, RDAP whois by @GrandArcher in #71
- docs: v0.2.0 changelog and IRP_PARITY status by @GrandArcher in #72
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Packeteer v0.1.0
First installable release of Packeteer, an open-source BGP path performance controller (observe by default).
Install (pinned)
curl -fsSLo config.yaml https://raw.githubusercontent.com/GrandArcher/Packeteer/main/config.example.yaml
# Edit providers and source IPs. Leave mode: observe.
mkdir -p plugins
IMAGE=ghcr.io/grandarcher/packeteer:0.1.0
docker run --rm \
-v "$PWD/config.yaml:/etc/packeteer/config.yaml:ro" \
"$IMAGE" -check
docker run -d --name packeteer --network host \
--cap-add NET_RAW --cap-add NET_ADMIN \
--restart unless-stopped \
-v "$PWD/config.yaml:/etc/packeteer/config.yaml:ro" \
-v "$PWD/plugins:/etc/packeteer/plugins:ro" \
"$IMAGE"Dashboard (default): http://127.0.0.1:8080/
What's in
- GoBGP/ExaBGP-style iBGP announcer with allowlist, community + NO_EXPORT, caps, hold/hysteresis
- FRR Docker lab + e2e CI (announce, withdraw, SIGKILL crash-withdraw)
- Flow-based target discovery
- Read-only ops HTTP: healthz/readyz, Prometheus metrics, JSON API, embedded dashboard
- Safety fixes: RIB leave withdraw, exact learned prefix only, stale-round withdraw, hold-timer e2e
- Operator quick start, CONFIG.md, CHANGELOG
Safety gate (BOT.md)
Stock image and examples stay mode: observe. Lab inject uses documentation prefix 198.51.100.0/24 only. Unit, docker, and BGP e2e green on main.
What's Changed
- M1: load and validate config, print observe-mode status (#1) by @GrandArcher in #3
- Docker-first packaging: Dockerfile, compose, GHCR publish (#4) by @GrandArcher in #12
- Plugin architecture: interfaces, registry, exec + webhook plugins (#13) by @GrandArcher in #14
- docs: Noction IRP feature parity matrix by @GrandArcher in #35
- Probe engine: icmp/tcp probers, static source, worker pool, rate limits (#2) by @GrandArcher in #36
- chore: bump Go to 1.26, update x/net and x/time by @GrandArcher in #37
- RIB view: learn-only iBGP via embedded GoBGP (#6) by @GrandArcher in #38
- Decision engine: weighted scorer, thresholds, hysteresis, cap (#7) by @GrandArcher in #39
- docs: add BOT.md autonomous charter by @GrandArcher in #41
- announce: GoBGP injector and FRR e2e lab by @GrandArcher in #40
- Add Sponsor button (PayPal) and support section by @GrandArcher in #42
- #5 flow-based target discovery by @GrandArcher in #47
- #49-#54 charter adds v0.5 hardening milestone by @GrandArcher in #55
- #43 withdraw a real RIB leave without flapping by @GrandArcher in #48
- #44 announce only the exact learned prefix by @GrandArcher in #57
- #46 withdraw stale routes when a probe round hangs by @GrandArcher in #58
- #45 e2e SIGKILL drops the route within the hold timer by @GrandArcher in #59
- #9 add read-only ops HTTP surface by @GrandArcher in #60
- #11 document the operator quick start and v0.1.0 notes by @GrandArcher in #61
New Contributors
- @GrandArcher made their first contribution in #3
Full Changelog: https://github.com/GrandArcher/Packeteer/commits/v0.1.0