Sitelet https://github.com/istio/api/pull/3795
Skip to content

[WIP] Add InboundTrafficPolicy and compression APIs - #3795

Draft
liamawhite wants to merge 1 commit into
istio:masterfrom
liamawhite:inbound-traffic-policy-compression
Draft

liamawhite wants to merge 1 commit into
istio:masterfrom
liamawhite:inbound-traffic-policy-compression

Conversation

@liamawhite

Copy link
Copy Markdown
Member

Inbound HTTP response compression currently requires EnvoyFilter configuration. This adds the experimental networking.istio.io/v1alpha1.InboundTrafficPolicy API with workload/resource targeting, ordered gzip/brotli/zstd compressors, port overrides, and structured per-target status. It also adds the explicit DestinationRule opt-in at trafficPolicy.compression.response.decompress.enabled, including subset and port-level policies.

Port overrides replace the top-level settings without inheritance. Their list limit matches DestinationRule at 4,096 entries, without a duplicate-port CEL rule. Empty inbound compression settings disable compression. Compressor lists are currently bounded at 64 entries.

Includes generated Go bindings, CRD schemas, reference documentation, release notes, and validation/serialization tests. This is an API-only draft: runtime policy resolution, Envoy configuration, status reconciliation, and downstream integration are follow-up work.

Design: Inbound Traffic Policy & Compression.

Validation:

  • Go tests in the root and tests modules; the revised schema passes with 4,096 ports and 64 compressors per port.
  • Protobuf lint, Go/YAML/copyright lint, and git diff --check.
  • Protobuf compatibility against the updated master branch.
  • Full generation and reproducibility checked; regenerated again after matching DestinationRule's port limit.
  • Direct import checks passed for existing API packages. The repository import script emits an existing warning for the absent authentication directory.

@istio-testing

Copy link
Copy Markdown
Collaborator

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

1 similar comment
@istio-testing

Copy link
Copy Markdown
Collaborator

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@istio-testing istio-testing added do-not-merge/work-in-progress Block merging of a PR because it isn't ready yet. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Sep 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/work-in-progress Block merging of a PR because it isn't ready yet. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants