Skip to content
This repository was archived by the owner on Jun 16, 2026. It is now read-only.

feat(ip_tagging): file-based IP tag loading with async reload#6

Merged
cybercyst merged 1 commit into
mainfrom
update/v1.38.2-with-ip-tagging
Jun 15, 2026
Merged

feat(ip_tagging): file-based IP tag loading with async reload#6
cybercyst merged 1 commit into
mainfrom
update/v1.38.2-with-ip-tagging

Conversation

@cybercyst

Copy link
Copy Markdown
Member

Summary

Adds the local file-based ip_tagging feature on top of the current v1.38.2 base.

  • New IpTagsFileProvider API (ip_tags_file_provider, field 6) with ip_tags_refresh_rate for periodic re-parse
  • File-based tag loading (yaml/json) with atomic LC-trie swap — no traffic drop on reload
  • ip_tags inline and ip_tags_file_provider are mutually exclusive (validated in C++)
  • Supporting yaml/json parsing helpers, docs, and full unit + integration tests with test_data/ fixtures

32 files, +1,911/−209.

Provenance

Ported from the ip-tagging-async-file-reload branch: extracted as that branch's net diff against its upstream merge-base and applied 3-way onto v1.38.2 — clean, zero conflicts.

Upstream status

Not in v1.38.2. An equivalent (ip_tags_datasource directly on IPTagging, watched_directory-based reload, lock-free) merged upstream in May 2026 (envoyproxy#38574, envoyproxy#45166), expected in v1.39.0 (~2026-07-14). Note the upstream API differs from this PR's IpTagsFileProvider + periodic ip_tags_refresh_rate design — worth reconciling when adopting v1.39.

⚠️ Not yet build-verified

The 3-way apply was clean textually but this has not been compiled against v1.38.2. The feature was authored against a Sep-2025 upstream; APIs it touches (DataSource/file-watcher, protobuf utilities, logger ids) may have shifted. Run bazel build //source/extensions/filters/http/ip_tagging/... + the filter tests before merge.

🤖 Generated with Claude Code

Port the local ip_tagging file-provider feature onto the v1.38.2 base.
Adds the IpTagsFileProvider API (ip_tags_file_provider, field 6) with an
ip_tags_refresh_rate for periodic re-parse, file-based tag loading with
atomic LC-trie swap, plus supporting yaml/json parsing helpers, docs and
tests.

Extracted as the net diff of origin/ip-tagging-async-file-reload
(75cb494) against its upstream merge-base, applied 3-way onto v1.38.2.
Not yet upstream as of v1.38.2; an equivalent (ip_tags_datasource) lands
in v1.39.0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cybercyst cybercyst force-pushed the update/v1.38.2-with-ip-tagging branch from 266ec83 to 9191e9b Compare June 15, 2026 15:17
@cybercyst cybercyst merged commit a0021f3 into main Jun 15, 2026
4 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant