feat: xds envoy proxy#175
Open
arcanez wants to merge 10 commits intofeat/telemetryvalidation-crdfrom
Open
Conversation
4f54582 to
8f75414
Compare
Adds an Envoy xDS control-plane server that dynamically builds route snapshots from OpenTelemetryCollector and TelemetryValidation objects. Includes the xDS manager, gRPC server, controller, deployment config, and Helm chart wiring.
Tune xDS-generated Envoy configuration for DataDog agent -> OTEL datadogreceiver workloads: - HTTP/2: MaxConcurrentStreams=50, 1MiB stream / 4MiB conn window sizes, 30s/5s keepalive - Cluster: 32MiB buffer (primary) / 10MiB (mirror); circuit breakers 100 conns/500 req (primary), 50/200 (mirror); gRPC connect timeout 15s primary / 10s mirror / 5s HTTP; outlier detection with 5x consecutive errors, 30s ejection, 50% cap - Route: Timeout=0 so sender governs deadline; IdleTimeout=10m; retry only on connection-level failures (connect-failure,refused-stream,reset), NumRetries=1 with 100ms-1s backoff and 5s per-try timeout - Listener: PerConnectionBufferLimitBytes=32MiB - Mirror: explicit RuntimeFraction=100% on RequestMirrorPolicy - Export IsShadowCollector for use by the controller package
…an up stale ports Add a Namespace field to XDSReconciler populated from POD_NAMESPACE at startup. Pass it as InNamespace to marked-service and marked-deployment list calls so the controller only considers resources in its own namespace rather than cluster-wide. Fix reconcileProxyServicePorts to clean up stale xds-* ports when no eligible collectors remain, rather than returning early and leaving old ports in place. Add findExistingProxyService for the zero-collector path which does a GET-only lookup without creating a new service. Remove isShadowCollectorForXDS and extractPortForXDS (duplicates of IsShadowCollector from the xds package and extractPort from the validator file). Use xds.IsShadowCollector and extractPort directly instead. Remove discoveredCollectorPorts wrapper around eligibleCollectorsForXDS since callers already pass a pre-filtered slice.
42be400 to
c2aed14
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
add xDS reconciliation for envoy
What type of PR is this? (only check one)
feat)fix)refactor)doc)Does this PR introduce any breaking changes?
Does the PR title type prefix match the selected type?
Added/updated tests?
Please keep the code coverage percentage at 80% and above.