This is an automated email from the ASF dual-hosted git repository.
zhongxjian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-kubernetes.git
The following commit(s) were added to refs/heads/master by this push:
new 7d6c71b8 Remove envoy xds and replace it with xds api (#868)
7d6c71b8 is described below
commit 7d6c71b82e5a0d82541979cf925ce8b498750b86
Author: Joe Zhong <[email protected]>
AuthorDate: Thu Feb 26 20:28:37 2026 +0800
Remove envoy xds and replace it with xds api (#868)
---
dubbod/discovery/pkg/model/context.go | 7 +-
dubbod/discovery/pkg/model/typed_xds_cache.go | 3 +-
dubbod/discovery/pkg/model/xds_cache.go | 3 +-
dubbod/discovery/pkg/networking/grpcgen/cds.go | 10 +-
dubbod/discovery/pkg/networking/grpcgen/grpcgen.go | 2 +-
dubbod/discovery/pkg/networking/grpcgen/lds.go | 22 ++---
dubbod/discovery/pkg/networking/grpcgen/rds.go | 8 +-
dubbod/discovery/pkg/networking/util/util.go | 4 +-
dubbod/discovery/pkg/xds/ads.go | 4 +-
dubbod/discovery/pkg/xds/delta.go | 3 +-
dubbod/discovery/pkg/xds/discovery.go | 2 +-
dubbod/discovery/pkg/xds/eds.go | 10 +-
.../pkg/xds/endpoints/endpoint_builder.go | 25 +----
dubbod/discovery/pkg/xds/xdsgen.go | 17 ++--
dubbod/security/pkg/nodeagent/sds/sdsservice.go | 7 +-
dubbod/security/pkg/pki/util/keycertbundle.go | 4 -
go.mod | 35 ++++---
go.sum | 106 ++++++++++-----------
pkg/adsc/adsc.go | 12 +--
pkg/bootstrap/config.go | 2 +-
pkg/dubboagent/agent.go | 5 +-
pkg/dubboagent/grpcxds/grpc_bootstrap.go | 2 +-
pkg/dubboagent/xds_proxy.go | 14 ++-
pkg/dubboagent/xds_proxy_delta.go | 7 +-
pkg/features/security.go | 12 +--
pkg/model/proxy.go | 6 +-
pkg/model/xds.go | 10 +-
pkg/pixiu/converter.go | 15 ++-
pkg/wellknown/wellknown.go | 2 +-
pkg/xds/server.go | 6 +-
30 files changed, 151 insertions(+), 214 deletions(-)
diff --git a/dubbod/discovery/pkg/model/context.go
b/dubbod/discovery/pkg/model/context.go
index abd3ae7f..f7fb536c 100644
--- a/dubbod/discovery/pkg/model/context.go
+++ b/dubbod/discovery/pkg/model/context.go
@@ -39,8 +39,11 @@ import (
"github.com/apache/dubbo-kubernetes/pkg/util/protomarshal"
"github.com/apache/dubbo-kubernetes/pkg/util/sets"
"github.com/apache/dubbo-kubernetes/pkg/xds"
- core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
- discovery
"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
+ // core "github.com/dubbo-kubernetes/xds-api/core/v1"
+ core "github.com/dubbo-kubernetes/xds-api/core/v1"
+ // discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
+ discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
+
"google.golang.org/protobuf/types/known/structpb"
)
diff --git a/dubbod/discovery/pkg/model/typed_xds_cache.go
b/dubbod/discovery/pkg/model/typed_xds_cache.go
index 1a3a95f4..907e09d2 100644
--- a/dubbod/discovery/pkg/model/typed_xds_cache.go
+++ b/dubbod/discovery/pkg/model/typed_xds_cache.go
@@ -24,7 +24,8 @@ import (
"github.com/apache/dubbo-kubernetes/dubbod/discovery/pkg/features"
"github.com/apache/dubbo-kubernetes/pkg/slices"
"github.com/apache/dubbo-kubernetes/pkg/util/sets"
- discovery
"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
+ // discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
+ discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
"github.com/hashicorp/golang-lru/v2/simplelru"
)
diff --git a/dubbod/discovery/pkg/model/xds_cache.go
b/dubbod/discovery/pkg/model/xds_cache.go
index 58759326..9466239f 100644
--- a/dubbod/discovery/pkg/model/xds_cache.go
+++ b/dubbod/discovery/pkg/model/xds_cache.go
@@ -22,7 +22,8 @@ import (
"github.com/apache/dubbo-kubernetes/dubbod/discovery/pkg/features"
"github.com/apache/dubbo-kubernetes/pkg/config/schema/kind"
"github.com/apache/dubbo-kubernetes/pkg/util/sets"
- discovery
"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
+ // discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
+ discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
)
type XdsCacheImpl struct {
diff --git a/dubbod/discovery/pkg/networking/grpcgen/cds.go
b/dubbod/discovery/pkg/networking/grpcgen/cds.go
index 1deb3e72..f2c0b0c8 100644
--- a/dubbod/discovery/pkg/networking/grpcgen/cds.go
+++ b/dubbod/discovery/pkg/networking/grpcgen/cds.go
@@ -21,16 +21,16 @@ import (
"strings"
"github.com/apache/dubbo-kubernetes/dubbod/discovery/pkg/util/protoconv"
- discovery
"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
+ discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
networking "github.com/apache/dubbo-kubernetes/api/networking/v1alpha3"
"github.com/apache/dubbo-kubernetes/dubbod/discovery/pkg/model"
"github.com/apache/dubbo-kubernetes/dubbod/discovery/pkg/networking/util"
"github.com/apache/dubbo-kubernetes/pkg/config/host"
"github.com/apache/dubbo-kubernetes/pkg/util/sets"
- cluster "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3"
- core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
- tlsv3
"github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3"
+ cluster "github.com/dubbo-kubernetes/xds-api/cluster/v1"
+ core "github.com/dubbo-kubernetes/xds-api/core/v1"
+ tlsv3
"github.com/dubbo-kubernetes/xds-api/extensions/transport_sockets/tls/v1"
)
type clusterBuilder struct {
@@ -385,7 +385,7 @@ func (b *clusterBuilder) applyTLSForCluster(c
*cluster.Cluster, subset *networki
}
c.TransportSocket = &core.TransportSocket{
- Name: "envoy.transport_sockets.tls",
+ Name: "transport_sockets.tls",
ConfigType: &core.TransportSocket_TypedConfig{TypedConfig:
protoconv.MessageToAny(tlsContext)},
}
log.Infof("applied %v TLS transport socket to cluster %s (SNI=%s)",
mode, c.Name, sni)
diff --git a/dubbod/discovery/pkg/networking/grpcgen/grpcgen.go
b/dubbod/discovery/pkg/networking/grpcgen/grpcgen.go
index adc31782..654ce15b 100644
--- a/dubbod/discovery/pkg/networking/grpcgen/grpcgen.go
+++ b/dubbod/discovery/pkg/networking/grpcgen/grpcgen.go
@@ -20,7 +20,7 @@ import (
"github.com/apache/dubbo-kubernetes/dubbod/discovery/pkg/model"
v3 "github.com/apache/dubbo-kubernetes/dubbod/discovery/pkg/xds/v3"
dubbolog "github.com/apache/dubbo-kubernetes/pkg/log"
- tlsv3
"github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3"
+ tlsv3
"github.com/dubbo-kubernetes/xds-api/extensions/transport_sockets/tls/v1"
)
var log = dubbolog.RegisterScope("grpcgen", "xDS Generator for Proxyless gRPC")
diff --git a/dubbod/discovery/pkg/networking/grpcgen/lds.go
b/dubbod/discovery/pkg/networking/grpcgen/lds.go
index cc8ddce4..63567228 100644
--- a/dubbod/discovery/pkg/networking/grpcgen/lds.go
+++ b/dubbod/discovery/pkg/networking/grpcgen/lds.go
@@ -29,13 +29,13 @@ import (
"github.com/apache/dubbo-kubernetes/pkg/dubboagent/grpcxds"
"github.com/apache/dubbo-kubernetes/pkg/util/sets"
"github.com/apache/dubbo-kubernetes/pkg/wellknown"
- core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
- listener
"github.com/envoyproxy/go-control-plane/envoy/config/listener/v3"
- route "github.com/envoyproxy/go-control-plane/envoy/config/route/v3"
- routerv3
"github.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/router/v3"
- hcmv3
"github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3"
- tlsv3
"github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3"
- discovery
"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
+ core "github.com/dubbo-kubernetes/xds-api/core/v1"
+ routerv3
"github.com/dubbo-kubernetes/xds-api/extensions/filters/v1/http/router"
+ hcmv3
"github.com/dubbo-kubernetes/xds-api/extensions/filters/v1/network/http_connection_manager"
+ tlsv3
"github.com/dubbo-kubernetes/xds-api/extensions/transport_sockets/tls/v1"
+ listener "github.com/dubbo-kubernetes/xds-api/listener/v1"
+ route "github.com/dubbo-kubernetes/xds-api/route/v1"
+ discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
)
@@ -238,7 +238,7 @@ func buildInboundListeners(node *model.Proxy, push
*model.PushContext, names []s
},
HttpFilters: []*hcmv3.HttpFilter{
{
- Name:
"envoy.filters.http.router",
+ Name: "filters.http.router",
ConfigType:
&hcmv3.HttpFilter_TypedConfig{
TypedConfig:
protoconv.MessageToAny(&routerv3.Router{}),
},
@@ -276,7 +276,7 @@ func buildInboundListeners(node *model.Proxy, push
*model.PushContext, names []s
},
HttpFilters: []*hcmv3.HttpFilter{
{
- Name:
"envoy.filters.http.router",
+ Name: "filters.http.router",
ConfigType:
&hcmv3.HttpFilter_TypedConfig{
TypedConfig:
protoconv.MessageToAny(&routerv3.Router{}),
},
@@ -366,7 +366,7 @@ func buildDownstreamTransportSocket(mode
model.MutualTLSMode) *core.TransportSoc
// The ValidationContextType in CommonTlsContext handles client
cert validation
}
return &core.TransportSocket{
- Name: "envoy.transport_sockets.tls",
+ Name: "transport_sockets.tls",
ConfigType: &core.TransportSocket_TypedConfig{TypedConfig:
protoconv.MessageToAny(tlsContext)},
}
}
@@ -531,7 +531,7 @@ func buildOutboundListeners(node *model.Proxy, push
*model.PushContext, filter l
},
HttpFilters: []*hcmv3.HttpFilter{
{
- Name:
"envoy.filters.http.router",
+ Name: "filters.http.router",
ConfigType:
&hcmv3.HttpFilter_TypedConfig{
TypedConfig:
protoconv.MessageToAny(&routerv3.Router{}),
},
diff --git a/dubbod/discovery/pkg/networking/grpcgen/rds.go
b/dubbod/discovery/pkg/networking/grpcgen/rds.go
index 88acb194..c59ed7fe 100644
--- a/dubbod/discovery/pkg/networking/grpcgen/rds.go
+++ b/dubbod/discovery/pkg/networking/grpcgen/rds.go
@@ -22,14 +22,14 @@ import (
"strings"
"github.com/apache/dubbo-kubernetes/dubbod/discovery/pkg/util/protoconv"
- discovery
"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
+ discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
networking "github.com/apache/dubbo-kubernetes/api/networking/v1alpha3"
"github.com/apache/dubbo-kubernetes/dubbod/discovery/pkg/model"
"github.com/apache/dubbo-kubernetes/pkg/config"
"github.com/apache/dubbo-kubernetes/pkg/config/host"
- route "github.com/envoyproxy/go-control-plane/envoy/config/route/v3"
- matcher "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3"
+ route "github.com/dubbo-kubernetes/xds-api/route/v1"
+ matcher "github.com/dubbo-kubernetes/xds-api/type/matcher/v1"
"google.golang.org/protobuf/types/known/wrapperspb"
sigsk8siogatewayapiapisv1 "sigs.k8s.io/gateway-api/apis/v1"
)
@@ -128,7 +128,6 @@ func buildHTTPRoute(node *model.Proxy, push
*model.PushContext, routeName string
}
}
}
- // Add HTTPRoute hostnames to domains (they will be
matched by Envoy)
for hostnameStr := range httpRouteHostnames {
if hostnameStr != "*" {
domains = append(domains, hostnameStr)
@@ -227,7 +226,6 @@ func buildHTTPRoute(node *model.Proxy, push
*model.PushContext, routeName string
// For Gateway Pod, we also need to collect HTTPRoutes with
specific hostnames
// because Gateway Pods route traffic based on HTTPRoute
hostnames in the request
- // We'll add all HTTPRoutes to the domains list so Envoy can
match them
if len(httpRoutes) > 0 {
log.Infof("Gateway Pod inbound listener found %d
HTTPRoute(s) for port %s", len(httpRoutes), routeName)
// Collect all HTTPRoute hostnames and add them to
domains
diff --git a/dubbod/discovery/pkg/networking/util/util.go
b/dubbod/discovery/pkg/networking/util/util.go
index 485d6ec0..6bc3b095 100644
--- a/dubbod/discovery/pkg/networking/util/util.go
+++ b/dubbod/discovery/pkg/networking/util/util.go
@@ -22,8 +22,8 @@ import (
"strings"
"github.com/apache/dubbo-kubernetes/dubbod/discovery/pkg/model"
- core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
- listener
"github.com/envoyproxy/go-control-plane/envoy/config/listener/v3"
+ core "github.com/dubbo-kubernetes/xds-api/core/v1"
+ listener "github.com/dubbo-kubernetes/xds-api/listener/v1"
)
const (
diff --git a/dubbod/discovery/pkg/xds/ads.go b/dubbod/discovery/pkg/xds/ads.go
index 32674385..f7d605a5 100644
--- a/dubbod/discovery/pkg/xds/ads.go
+++ b/dubbod/discovery/pkg/xds/ads.go
@@ -29,8 +29,8 @@ import (
v3 "github.com/apache/dubbo-kubernetes/dubbod/discovery/pkg/xds/v3"
"github.com/apache/dubbo-kubernetes/pkg/util/sets"
"github.com/apache/dubbo-kubernetes/pkg/xds"
- core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
- discovery
"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
+ core "github.com/dubbo-kubernetes/xds-api/core/v1"
+ discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/peer"
"google.golang.org/grpc/status"
diff --git a/dubbod/discovery/pkg/xds/delta.go
b/dubbod/discovery/pkg/xds/delta.go
index 573e0aa0..ceb4e46a 100644
--- a/dubbod/discovery/pkg/xds/delta.go
+++ b/dubbod/discovery/pkg/xds/delta.go
@@ -25,7 +25,7 @@ import (
"github.com/apache/dubbo-kubernetes/dubbod/discovery/pkg/model"
v3 "github.com/apache/dubbo-kubernetes/dubbod/discovery/pkg/xds/v3"
"github.com/apache/dubbo-kubernetes/pkg/util/sets"
- discovery
"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
+ discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
"github.com/google/uuid"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/peer"
@@ -138,7 +138,6 @@ func (s *DiscoveryServer) receiveDelta(con *Connection,
identities []string) {
return
}
if firstRequest {
- // probe happens before envoy sends first xDS request
if req.TypeUrl == v3.HealthInfoType {
deltaLog.Warnf("%q %s send health check probe
before normal xDS request", con.Peer(), con.ID())
continue
diff --git a/dubbod/discovery/pkg/xds/discovery.go
b/dubbod/discovery/pkg/xds/discovery.go
index 680cac1b..a7ec779c 100644
--- a/dubbod/discovery/pkg/xds/discovery.go
+++ b/dubbod/discovery/pkg/xds/discovery.go
@@ -30,7 +30,7 @@ import (
"github.com/apache/dubbo-kubernetes/pkg/cluster"
"github.com/apache/dubbo-kubernetes/pkg/config/schema/kind"
"github.com/apache/dubbo-kubernetes/pkg/kube/krt"
- discovery
"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
+ discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
"go.uber.org/atomic"
"golang.org/x/time/rate"
"google.golang.org/grpc"
diff --git a/dubbod/discovery/pkg/xds/eds.go b/dubbod/discovery/pkg/xds/eds.go
index b927a8cd..7b6b5977 100644
--- a/dubbod/discovery/pkg/xds/eds.go
+++ b/dubbod/discovery/pkg/xds/eds.go
@@ -24,8 +24,8 @@ import (
"github.com/apache/dubbo-kubernetes/dubbod/discovery/pkg/xds/endpoints"
"github.com/apache/dubbo-kubernetes/pkg/config/schema/kind"
"github.com/apache/dubbo-kubernetes/pkg/util/sets"
- endpoint
"github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3"
- discovery
"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
+ endpoint "github.com/dubbo-kubernetes/xds-api/endpoint/v1"
+ discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
)
type EdsGenerator struct {
@@ -88,12 +88,6 @@ func (eds *EdsGenerator) GenerateDeltas(proxy *model.Proxy,
req *model.PushReque
func (eds *EdsGenerator) buildEndpoints(proxy *model.Proxy, req
*model.PushRequest, w *model.WatchedResource) (model.Resources,
model.XdsLogDetails) {
var edsUpdatedServices map[string]struct{}
- // canSendPartialFullPushes determines if we can send a partial push
(ie a subset of known CLAs).
- // This is safe when only Services has changed, as this implies that
only the CLAs for the
- // associated Service changed. Note when a multi-network Service
changes it triggers a push with
- // ConfigsUpdated=ALL, so in this case we would not enable a partial
push.
- // Despite this code existing on the SotW code path, sending these
partial pushes is still allowed;
- // see
https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol#grouping-resources-into-responses
if !req.Full || canSendPartialFullPushes(req) {
// edsUpdatedServices =
model.ConfigNamesOfKind(req.ConfigsUpdated, kind.ServiceEntry)
if len(edsUpdatedServices) > 0 {
diff --git a/dubbod/discovery/pkg/xds/endpoints/endpoint_builder.go
b/dubbod/discovery/pkg/xds/endpoints/endpoint_builder.go
index 61a28683..b3b8155c 100644
--- a/dubbod/discovery/pkg/xds/endpoints/endpoint_builder.go
+++ b/dubbod/discovery/pkg/xds/endpoints/endpoint_builder.go
@@ -25,14 +25,16 @@ import (
"github.com/apache/dubbo-kubernetes/pkg/config/labels"
dubbolog "github.com/apache/dubbo-kubernetes/pkg/log"
"github.com/cespare/xxhash/v2"
- core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
- endpoint
"github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3"
+ // core "github.com/dubbo-kubernetes/xds-api/core/v1"
+ core "github.com/dubbo-kubernetes/xds-api/core/v1"
+ // endpoint "github.com/dubbo-kubernetes/xds-api/endpoint/v1"
+ endpoint "github.com/dubbo-kubernetes/xds-api/endpoint/v1"
+
"google.golang.org/protobuf/types/known/wrapperspb"
)
var log = dubbolog.RegisterScope("ads", "ads debugging")
-// EndpointBuilder builds Envoy endpoints from Dubbo endpoints
type EndpointBuilder struct {
clusterName string
proxy *model.Proxy
@@ -175,23 +177,6 @@ func (b *EndpointBuilder)
BuildClusterLoadAssignment(endpointIndex *model.Endpoi
continue
}
- // regardless of their health status. The client will
decide whether to use them based on
- // OverrideHostStatus in the Cluster configuration.
- //
- // However, if the service explicitly doesn't support
unhealthy endpoints (publishNotReadyAddresses=false),
- // we should still include them in EDS but mark them as
UNHEALTHY. The client's OverrideHostStatus
- // will determine if they can be used.
- //
- // included in EDS so the client knows they exist and
can attempt to connect to them.
- // The client will handle connection failures
appropriately.
- //
- // Note: We only filter out unhealthy endpoints if the
service explicitly doesn't support them
- // AND we're not in a proxyless gRPC scenario. For
proxyless gRPC, always include endpoints.
- // For non-proxyless (Envoy), we follow the service's
publishNotReadyAddresses setting.
- // But since this is proxyless gRPC, we should always
include endpoints.
- // Actually, let's follow: always include endpoints,
let the client decide.
- // The OverrideHostStatus in Cluster config will
control whether unhealthy endpoints can be used.
-
// Build LbEndpoint
lbEp := b.buildLbEndpoint(ep)
if lbEp == nil {
diff --git a/dubbod/discovery/pkg/xds/xdsgen.go
b/dubbod/discovery/pkg/xds/xdsgen.go
index 39565afd..c6e456b9 100644
--- a/dubbod/discovery/pkg/xds/xdsgen.go
+++ b/dubbod/discovery/pkg/xds/xdsgen.go
@@ -31,11 +31,11 @@ import (
"github.com/apache/dubbo-kubernetes/pkg/util/sets"
dubboversion "github.com/apache/dubbo-kubernetes/pkg/version"
"github.com/apache/dubbo-kubernetes/pkg/xds"
- cluster "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3"
- core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
- listener
"github.com/envoyproxy/go-control-plane/envoy/config/listener/v3"
- hcmv3
"github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3"
- discovery
"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
+ cluster "github.com/dubbo-kubernetes/xds-api/cluster/v1"
+ core "github.com/dubbo-kubernetes/xds-api/core/v1"
+ hcmv3
"github.com/dubbo-kubernetes/xds-api/extensions/filters/v1/network/http_connection_manager"
+ listener "github.com/dubbo-kubernetes/xds-api/listener/v1"
+ discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
)
type DubboControlPlaneInstance struct {
@@ -191,11 +191,6 @@ func (s *DiscoveryServer) pushXds(con *Connection, w
*model.WatchedResource, req
}
}
- // If delta is set, client is requesting new resources or removing old
ones. We should just generate the
- // new resources it needs, rather than the entire set of known
resources.
- // Note: we do not need to account for unsubscribed resources as these
are handled by parent removal;
- // See
https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol#deleting-resources.
- // This means if there are only removals, we will not respond.
var logFiltered string
if !req.Delta.IsEmpty() && !con.proxy.IsProxylessGrpc() {
logFiltered = " filtered:" +
strconv.Itoa(len(w.ResourceNames)-len(req.Delta.Subscribed))
@@ -672,7 +667,7 @@ func extractRouteNamesFromLDS(listeners model.Resources)
[]string {
// Check FilterChains for HttpConnectionManager with RDS (used
by Gateway Pod inbound listeners)
for _, fc := range ll.FilterChains {
for _, filter := range fc.Filters {
- if filter.Name ==
"envoy.filters.network.http_connection_manager" {
+ if filter.Name == "http_connection_manager" {
hcm := &hcmv3.HttpConnectionManager{}
if err :=
filter.GetTypedConfig().UnmarshalTo(hcm); err != nil {
log.Debugf("failed to unmarshal
HttpConnectionManager for listener %s: %v", r.Name, err)
diff --git a/dubbod/security/pkg/nodeagent/sds/sdsservice.go
b/dubbod/security/pkg/nodeagent/sds/sdsservice.go
index 24a723e0..14bd0c20 100644
--- a/dubbod/security/pkg/nodeagent/sds/sdsservice.go
+++ b/dubbod/security/pkg/nodeagent/sds/sdsservice.go
@@ -27,9 +27,9 @@ import (
"github.com/apache/dubbo-kubernetes/pkg/security"
"github.com/apache/dubbo-kubernetes/pkg/util/sets"
"github.com/apache/dubbo-kubernetes/pkg/xds"
- core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
- discovery
"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
- sds "github.com/envoyproxy/go-control-plane/envoy/service/secret/v3"
+ core "github.com/dubbo-kubernetes/xds-api/core/v1"
+ discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
+ sds "github.com/dubbo-kubernetes/xds-api/service/secret/v1"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
@@ -182,7 +182,6 @@ func (w *Watch) DeleteWatchedResource(string) {
}
func (w *Watch) GetID() string {
- // This always maps to the same local Envoy instance.
return ""
}
diff --git a/dubbod/security/pkg/pki/util/keycertbundle.go
b/dubbod/security/pkg/pki/util/keycertbundle.go
index cb8c5cb0..6dac7ff6 100644
--- a/dubbod/security/pkg/pki/util/keycertbundle.go
+++ b/dubbod/security/pkg/pki/util/keycertbundle.go
@@ -364,10 +364,6 @@ func Verify(certBytes, privKeyBytes, certChainBytes,
rootCertBytes, crl []byte)
// verify only if the CRL is provided
if len(crl) != 0 {
- // envoy expects that if a CRL is provided for any certificate
authority in a trust chain,
- // a CRL must be provided for all certificate authorities in
that chain.
- // Failure to do so will result in verification failure for
both revoked and unrevoked certificates
- // from that chain.
var parsedCRLs []*x509.RevocationList
var signers []*x509.Certificate
diff --git a/go.mod b/go.mod
index 0c3d700f..4b94dd06 100644
--- a/go.mod
+++ b/go.mod
@@ -37,13 +37,13 @@ require (
github.com/docker/docker v27.5.1+incompatible
github.com/docker/docker-credential-helpers v0.9.3
github.com/docker/go-connections v0.5.0
- github.com/envoyproxy/go-control-plane/envoy
v1.32.5-0.20250627145903-197b96a9c7f8
+ github.com/dubbo-kubernetes/xds-api v0.0.0-20260226104130-a874d2d319f0
github.com/evanphx/json-patch/v5 v5.9.11
github.com/fatih/color v1.18.0
github.com/fsnotify/fsnotify v1.9.0
github.com/go-git/go-billy/v5 v5.6.2
github.com/go-git/go-git/v5 v5.13.1
- github.com/go-jose/go-jose/v4 v4.1.2
+ github.com/go-jose/go-jose/v4 v4.1.3
github.com/gogo/protobuf v1.3.2
github.com/golang/glog v1.2.5
github.com/golang/protobuf v1.5.4
@@ -67,17 +67,17 @@ require (
github.com/stoewer/go-strcase v1.3.0
github.com/tmc/langchaingo v0.1.13
go.uber.org/atomic v1.11.0
- golang.org/x/crypto v0.41.0
+ golang.org/x/crypto v0.46.0
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6
- golang.org/x/net v0.43.0
- golang.org/x/sys v0.35.0
- golang.org/x/term v0.34.0
+ golang.org/x/net v0.48.0
+ golang.org/x/sys v0.39.0
+ golang.org/x/term v0.38.0
golang.org/x/time v0.12.0
gomodules.xyz/jsonpatch/v2 v2.5.0
- google.golang.org/genproto/googleapis/api
v0.0.0-20250811230008-5f3141c8851a
- google.golang.org/genproto/googleapis/rpc
v0.0.0-20250826171959-ef028d996bc1
- google.golang.org/grpc v1.75.1
- google.golang.org/protobuf v1.36.9
+ google.golang.org/genproto/googleapis/api
v0.0.0-20251202230838-ff82c1b0f217
+ google.golang.org/genproto/googleapis/rpc
v0.0.0-20251202230838-ff82c1b0f217
+ google.golang.org/grpc v1.79.1
+ google.golang.org/protobuf v1.36.11
gopkg.in/yaml.v3 v3.0.1
helm.sh/helm/v3 v3.18.6
k8s.io/api v0.34.1
@@ -94,7 +94,7 @@ require (
)
require (
- cel.dev/expr v0.24.0 // indirect
+ cel.dev/expr v0.25.1 // indirect
dario.cat/mergo v1.0.2 // indirect
github.com/Azure/azure-sdk-for-go v68.0.0+incompatible // indirect
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c //
indirect
@@ -139,7 +139,6 @@ require (
github.com/cespare/xxhash v1.1.0 // indirect
github.com/chrismellard/docker-credential-acr-env
v0.0.0-20230304212654-82a0ddb27589 // indirect
github.com/cloudflare/circl v1.3.7 // indirect
- github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443 // indirect
github.com/containerd/containerd v1.7.27 // indirect
github.com/containerd/stargz-snapshotter/estargz v0.16.3 // indirect
github.com/containerd/typeurl v1.0.2 // indirect
@@ -153,7 +152,6 @@ require (
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/emicklei/go-restful/v3 v3.13.0 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
- github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
github.com/gdamore/encoding v1.0.0 // indirect
github.com/gdamore/tcell/v2 v2.6.0 // indirect
@@ -223,7 +221,6 @@ require (
github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
github.com/pjbgf/sha1cd v0.3.0 // indirect
github.com/pkoukk/tiktoken-go v0.1.6 // indirect
- github.com/planetscale/vtprotobuf v0.6.1-0.20240409071808-615f978279ca
// indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 //
indirect
github.com/prometheus/client_golang v1.23.2 // indirect
github.com/prometheus/client_model v0.6.2 // indirect
@@ -252,11 +249,11 @@ require (
go.starlark.net v0.0.0-20230302034142-4b1e35fe2254 // indirect
go.yaml.in/yaml/v2 v2.4.2 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
- golang.org/x/mod v0.27.0 // indirect
- golang.org/x/oauth2 v0.30.0 // indirect
- golang.org/x/sync v0.17.0 // indirect
- golang.org/x/text v0.28.0 // indirect
- golang.org/x/tools v0.36.0 // indirect
+ golang.org/x/mod v0.30.0 // indirect
+ golang.org/x/oauth2 v0.34.0 // indirect
+ golang.org/x/sync v0.19.0 // indirect
+ golang.org/x/text v0.32.0 // indirect
+ golang.org/x/tools v0.39.0 // indirect
gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
diff --git a/go.sum b/go.sum
index 4b60af9f..c59749b8 100644
--- a/go.sum
+++ b/go.sum
@@ -1,5 +1,5 @@
-cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY=
-cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw=
+cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4=
+cel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4=
cloud.google.com/go v0.26.0/go.mod
h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.114.0 h1:OIPFAdfrFDFO2ve2U7r/H5SwSbBzEdrBdE7xkgwc+kY=
cloud.google.com/go v0.114.0/go.mod
h1:ZV9La5YYxctro1HTPug5lXH/GefROyW8PPD4T8n9J8E=
@@ -12,8 +12,8 @@ cloud.google.com/go/auth v0.5.1/go.mod
h1:vbZT8GjzDf3AVqCcQmqeeM32U9HBFc32vVVAbw
cloud.google.com/go/auth/oauth2adapt v0.2.2
h1:+TTV8aXpjeChS9M+aTtN/TjdQnzJvmzKFt//oWu7HX4=
cloud.google.com/go/auth/oauth2adapt v0.2.2/go.mod
h1:wcYjgpZI9+Yu7LyYBg4pqSiaRkfEK3GQcpb7C/uyF1Q=
cloud.google.com/go/compute v1.20.0
h1:cUOcywWuowO9It2i1KX1lIb0HH7gLv6nENKuZGnlcSo=
-cloud.google.com/go/compute/metadata v0.7.0
h1:PBWF+iiAerVNe8UCHxdOt6eHLVc3ydFeOCw78U8ytSU=
-cloud.google.com/go/compute/metadata v0.7.0/go.mod
h1:j5MvL9PprKL39t166CoB1uVHfQMs4tFQZZcKwksXUjo=
+cloud.google.com/go/compute/metadata v0.9.0
h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs=
+cloud.google.com/go/compute/metadata v0.9.0/go.mod
h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10=
cloud.google.com/go/iam v1.1.8 h1:r7umDwhj+BQyz0ScZMp4QrGXjSTI3ZINnpgU2nlB/K0=
cloud.google.com/go/iam v1.1.8/go.mod
h1:GvE6lyMmfxXauzNq8NbgJbeVQNspG+tcdL/W8QO1+zE=
cloud.google.com/go/longrunning v0.5.7
h1:WLbHekDbjK1fVFD3ibpFFVoyizlLRl73I7YKuAKilhU=
@@ -190,8 +190,6 @@ github.com/client9/misspell v0.3.4/go.mod
h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
github.com/cloudflare/circl v1.3.7
h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU=
github.com/cloudflare/circl v1.3.7/go.mod
h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod
h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
-github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443
h1:aQ3y1lwWyqYPiWZThqv1aFbZMiM9vblcSArJRf2Irls=
-github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443/go.mod
h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
github.com/containerd/containerd v1.7.27
h1:yFyEyojddO3MIGVER2xJLWoCIn+Up4GaHFquP7hsFII=
github.com/containerd/containerd v1.7.27/go.mod
h1:xZmPnl75Vc+BLGt4MIfu6bp+fy03gdHAn9bz+FreFR0=
github.com/containerd/continuity v0.4.4
h1:/fNVfTJ7wIl/YPMHjf+5H32uFhl63JucB34PlCpMKII=
@@ -240,6 +238,8 @@ github.com/docker/go-metrics v0.0.1
h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQ
github.com/docker/go-metrics v0.0.1/go.mod
h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw=
github.com/docker/go-units v0.5.0
h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
github.com/docker/go-units v0.5.0/go.mod
h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
+github.com/dubbo-kubernetes/xds-api v0.0.0-20260226104130-a874d2d319f0
h1:PgwirlxDVNCXDvnLyqP2HGWraR27L30+jnuazB/f2f0=
+github.com/dubbo-kubernetes/xds-api v0.0.0-20260226104130-a874d2d319f0/go.mod
h1:Xt+Kec3dL9AS7D3GJnqdNVJUW17VlFauXVnjkK/hVU0=
github.com/dustin/go-humanize v1.0.1
h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
github.com/dustin/go-humanize v1.0.1/go.mod
h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
github.com/elazarl/goproxy v1.2.3
h1:xwIyKHbaP5yfT6O9KIeYJR5549MXRQkoQMRXGztz8YQ=
@@ -248,14 +248,6 @@ github.com/emicklei/go-restful/v3 v3.13.0
h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bF
github.com/emicklei/go-restful/v3 v3.13.0/go.mod
h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
github.com/emirpasic/gods v1.18.1
h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
github.com/emirpasic/gods v1.18.1/go.mod
h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
-github.com/envoyproxy/go-control-plane v0.9.0/go.mod
h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/go-control-plane
v0.9.1-0.20191026205805-5f8ba28d4473/go.mod
h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/go-control-plane v0.9.4/go.mod
h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
-github.com/envoyproxy/go-control-plane/envoy
v1.32.5-0.20250627145903-197b96a9c7f8
h1:/F9jLyfDeNr4iZxyibtKlZxCDqCFEhoYiLdc9VOZT2E=
-github.com/envoyproxy/go-control-plane/envoy
v1.32.5-0.20250627145903-197b96a9c7f8/go.mod
h1:09qwbGVuSWWAyN5t/b3iyVfz5+z8QWGrzkoqm/8SbEs=
-github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod
h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
-github.com/envoyproxy/protoc-gen-validate v1.2.1
h1:DEo3O99U8j4hBFwbJfrz9VtgcDfUKS7KJ7spH3d86P8=
-github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod
h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU=
github.com/evanphx/json-patch v5.9.11+incompatible
h1:ixHHqfcGvxhWkniF1tWxBHA0yb4Z+d1UQi45df52xW8=
github.com/evanphx/json-patch v5.9.11+incompatible/go.mod
h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/evanphx/json-patch/v5 v5.9.11
h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU=
@@ -295,8 +287,8 @@ github.com/go-git/go-git-fixtures/v4
v4.3.2-0.20231010084843-55a94097c399 h1:eMj
github.com/go-git/go-git-fixtures/v4
v4.3.2-0.20231010084843-55a94097c399/go.mod
h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
github.com/go-git/go-git/v5 v5.13.1
h1:DAQ9APonnlvSWpvolXWIuV6Q6zXy2wHbN4cVlNR5Q+M=
github.com/go-git/go-git/v5 v5.13.1/go.mod
h1:qryJB4cSBoq3FRoBRf5A77joojuBcmPJ0qu3XXXVixc=
-github.com/go-jose/go-jose/v4 v4.1.2
h1:TK/7NqRQZfgAh+Td8AlsrvtPoUyiHh0LqVvokh+1vHI=
-github.com/go-jose/go-jose/v4 v4.1.2/go.mod
h1:22cg9HWM1pOlnRiY+9cQYJ9XHmya1bYW8OeDM6Ku6Oo=
+github.com/go-jose/go-jose/v4 v4.1.3
h1:CVLmWDhDVRa6Mi/IgCgaopNosCaHz7zrMeF9MlZRkrs=
+github.com/go-jose/go-jose/v4 v4.1.3/go.mod
h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08=
github.com/go-kit/log v0.1.0/go.mod
h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
github.com/go-logfmt/logfmt v0.4.0/go.mod
h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logfmt/logfmt v0.5.0/go.mod
h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
@@ -564,8 +556,6 @@ github.com/pkg/errors v0.9.1
h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod
h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkoukk/tiktoken-go v0.1.6
h1:JF0TlJzhTbrI30wCvFuiw6FzP2+/bR+FIxUdgEAcUsw=
github.com/pkoukk/tiktoken-go v0.1.6/go.mod
h1:9NiV+i9mJKGj1rYOT+njbv+ZwA/zJxYdewGl6qVatpg=
-github.com/planetscale/vtprotobuf v0.6.1-0.20240409071808-615f978279ca
h1:ujRGEVWJEoaxQ+8+HMl8YEpGaDAgohgZxJ5S+d2TTFQ=
-github.com/planetscale/vtprotobuf v0.6.1-0.20240409071808-615f978279ca/go.mod
h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8=
github.com/pmezard/go-difflib v1.0.0/go.mod
h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod
h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
@@ -694,28 +684,28 @@ gitlab.com/golang-commonmark/puny
v0.0.0-20191124015043-9f83538fa04f h1:Wku8eEde
gitlab.com/golang-commonmark/puny v0.0.0-20191124015043-9f83538fa04f/go.mod
h1:Tiuhl+njh/JIg0uS/sOJVYi0x2HEa5rc1OAaVsb5tAs=
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
-go.opentelemetry.io/auto/sdk v1.1.0
h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
-go.opentelemetry.io/auto/sdk v1.1.0/go.mod
h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
+go.opentelemetry.io/auto/sdk v1.2.1
h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
+go.opentelemetry.io/auto/sdk v1.2.1/go.mod
h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
v0.60.0 h1:x7wzEgXfnzJcHDwStJT+mxOz4etr2EcexjqhBvmoakw=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
v0.60.0/go.mod h1:rg+RlpR5dKwaS95IyyZqj5Wd4E13lk/msnTS0Xl9lJM=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0
h1:F7Jx+6hwnZ41NSFTO5q4LYDtJRXBf2PD0rNBkeB/lus=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0/go.mod
h1:UHB22Z8QsdRDrnAtX4PntOl36ajSxcdUMt1sF7Y6E7Q=
-go.opentelemetry.io/otel v1.37.0
h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ=
-go.opentelemetry.io/otel v1.37.0/go.mod
h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I=
+go.opentelemetry.io/otel v1.39.0
h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48=
+go.opentelemetry.io/otel v1.39.0/go.mod
h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0
h1:OeNbIYk/2C15ckl7glBlOBp5+WlYsOElzTNmiPW/x60=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0/go.mod
h1:7Bept48yIeqxP2OZ9/AqIpYS94h2or0aB4FypJTc8ZM=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0
h1:tgJ0uaNS4c98WRNUEx5U3aDlrDOI5Rs+1Vifcw4DJ8U=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0/go.mod
h1:U7HYyW0zt/a9x5J1Kjs+r1f/d4ZHnYFclhYY2+YbeoE=
-go.opentelemetry.io/otel/metric v1.37.0
h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE=
-go.opentelemetry.io/otel/metric v1.37.0/go.mod
h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E=
-go.opentelemetry.io/otel/sdk v1.37.0
h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI=
-go.opentelemetry.io/otel/sdk v1.37.0/go.mod
h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg=
-go.opentelemetry.io/otel/sdk/metric v1.37.0
h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc=
-go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod
h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps=
-go.opentelemetry.io/otel/trace v1.37.0
h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4=
-go.opentelemetry.io/otel/trace v1.37.0/go.mod
h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0=
-go.opentelemetry.io/proto/otlp v1.7.0
h1:jX1VolD6nHuFzOYso2E73H85i92Mv8JQYk0K9vz09os=
-go.opentelemetry.io/proto/otlp v1.7.0/go.mod
h1:fSKjH6YJ7HDlwzltzyMj036AJ3ejJLCgCSHGj4efDDo=
+go.opentelemetry.io/otel/metric v1.39.0
h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0=
+go.opentelemetry.io/otel/metric v1.39.0/go.mod
h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs=
+go.opentelemetry.io/otel/sdk v1.39.0
h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18=
+go.opentelemetry.io/otel/sdk v1.39.0/go.mod
h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE=
+go.opentelemetry.io/otel/sdk/metric v1.39.0
h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8=
+go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod
h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew=
+go.opentelemetry.io/otel/trace v1.39.0
h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI=
+go.opentelemetry.io/otel/trace v1.39.0/go.mod
h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA=
+go.opentelemetry.io/proto/otlp v1.5.0
h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4=
+go.opentelemetry.io/proto/otlp v1.5.0/go.mod
h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4=
go.starlark.net v0.0.0-20230302034142-4b1e35fe2254
h1:Ss6D3hLXTM0KobyBYEAygXzFfGcjnmfEJOBgSbemCtg=
go.starlark.net v0.0.0-20230302034142-4b1e35fe2254/go.mod
h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds=
go.uber.org/atomic v1.7.0/go.mod
h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
@@ -743,8 +733,8 @@ golang.org/x/crypto
v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.6.0/go.mod
h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
-golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4=
-golang.org/x/crypto v0.41.0/go.mod
h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc=
+golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU=
+golang.org/x/crypto v0.46.0/go.mod
h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6
h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI=
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod
h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ=
@@ -755,8 +745,8 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod
h1:6SW0HCj/g11FgYtHl
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod
h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
-golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ=
-golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc=
+golang.org/x/mod v0.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk=
+golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -770,19 +760,19 @@ golang.org/x/net
v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod
h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod
h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
-golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE=
-golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg=
+golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU=
+golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod
h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
-golang.org/x/oauth2 v0.30.0/go.mod
h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
+golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw=
+golang.org/x/oauth2 v0.34.0/go.mod
h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug=
-golang.org/x/sync v0.17.0/go.mod
h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
+golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
+golang.org/x/sync v0.19.0/go.mod
h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -809,16 +799,16 @@ golang.org/x/sys
v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
-golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
+golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk=
+golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
-golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4=
-golang.org/x/term v0.34.0/go.mod
h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw=
+golang.org/x/term v0.38.0 h1:PQ5pkm/rLO6HnxFR7N2lJHOZX6Kez5Y1gDSJla6jo7Q=
+golang.org/x/term v0.38.0/go.mod
h1:bSEAKrOT1W+VSu9TSCMtoGEOUcKxOKgl3LE5QEF/xVg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -826,8 +816,8 @@ golang.org/x/text v0.3.6/go.mod
h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
-golang.org/x/text v0.28.0/go.mod
h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
+golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU=
+golang.org/x/text v0.32.0/go.mod
h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY=
golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=
golang.org/x/time v0.12.0/go.mod
h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod
h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -842,8 +832,8 @@ golang.org/x/tools
v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roY
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod
h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod
h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.12/go.mod
h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
-golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg=
-golang.org/x/tools v0.36.0/go.mod
h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s=
+golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ=
+golang.org/x/tools v0.39.0/go.mod
h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ=
golang.org/x/tools/go/expect v0.1.1-deprecated
h1:jpBZDwmgPhXsKZC6WhL20P4b/wmnpsEAGHaNy0n/rJM=
golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod
h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY=
golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated
h1:1h2MnaIAIXISqTFKdENegdpAgUXz6NrPEsbIeWaBRvM=
@@ -866,17 +856,17 @@ google.golang.org/genproto
v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfG
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod
h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/genproto v0.0.0-20240528184218-531527333157
h1:u7WMYrIrVvs0TF5yaKwKNbcJyySYf+HAIFXxWltJOXE=
google.golang.org/genproto v0.0.0-20240528184218-531527333157/go.mod
h1:ubQlAQnzejB8uZzszhrTCU2Fyp6Vi7ZE5nn0c3W8+qQ=
-google.golang.org/genproto/googleapis/api v0.0.0-20250811230008-5f3141c8851a
h1:DMCgtIAIQGZqJXMVzJF4MV8BlWoJh2ZuFiRdAleyr58=
-google.golang.org/genproto/googleapis/api
v0.0.0-20250811230008-5f3141c8851a/go.mod
h1:y2yVLIE/CSMCPXaHnSKXxu1spLPnglFLegmgdY23uuE=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20250826171959-ef028d996bc1
h1:pmJpJEvT846VzausCQ5d7KreSROcDqmO388w5YbnltA=
-google.golang.org/genproto/googleapis/rpc
v0.0.0-20250826171959-ef028d996bc1/go.mod
h1:GmFNa4BdJZ2a8G+wCe9Bg3wwThLrJun751XstdJt5Og=
+google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217
h1:fCvbg86sFXwdrl5LgVcTEvNC+2txB5mgROGmRL5mrls=
+google.golang.org/genproto/googleapis/api
v0.0.0-20251202230838-ff82c1b0f217/go.mod
h1:+rXWjjaukWZun3mLfjmVnQi18E1AsFbDN9QdJ5YXLto=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217
h1:gRkg/vSppuSQoDjxyiGfN4Upv/h/DQmIR10ZU8dh4Ww=
+google.golang.org/genproto/googleapis/rpc
v0.0.0-20251202230838-ff82c1b0f217/go.mod
h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk=
google.golang.org/grpc v1.19.0/go.mod
h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.23.0/go.mod
h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.25.1/go.mod
h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
google.golang.org/grpc v1.27.0/go.mod
h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.29.1/go.mod
h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
-google.golang.org/grpc v1.75.1 h1:/ODCNEuf9VghjgO3rqLcfg8fiOP0nSluljWFlDxELLI=
-google.golang.org/grpc v1.75.1/go.mod
h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ=
+google.golang.org/grpc v1.79.1 h1:zGhSi45ODB9/p3VAawt9a+O/MULLl9dpizzNNpq7flY=
+google.golang.org/grpc v1.79.1/go.mod
h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod
h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod
h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod
h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -885,8 +875,8 @@ google.golang.org/protobuf v1.21.0/go.mod
h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi
google.golang.org/protobuf v1.22.0/go.mod
h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod
h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.25.0/go.mod
h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
-google.golang.org/protobuf v1.36.9
h1:w2gp2mA27hUeUzj9Ex9FBjsBm40zfaDtEWow293U7Iw=
-google.golang.org/protobuf v1.36.9/go.mod
h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU=
+google.golang.org/protobuf v1.36.11
h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
+google.golang.org/protobuf v1.36.11/go.mod
h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
diff --git a/pkg/adsc/adsc.go b/pkg/adsc/adsc.go
index 80206f46..bc14fdbc 100644
--- a/pkg/adsc/adsc.go
+++ b/pkg/adsc/adsc.go
@@ -38,11 +38,11 @@ import (
"github.com/apache/dubbo-kubernetes/pkg/security"
"github.com/apache/dubbo-kubernetes/pkg/util/protomarshal"
"github.com/apache/dubbo-kubernetes/pkg/wellknown"
- cluster "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3"
- endpoint
"github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3"
- listener
"github.com/envoyproxy/go-control-plane/envoy/config/listener/v3"
- route "github.com/envoyproxy/go-control-plane/envoy/config/route/v3"
- discovery
"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
+ cluster "github.com/dubbo-kubernetes/xds-api/cluster/v1"
+ endpoint "github.com/dubbo-kubernetes/xds-api/endpoint/v1"
+ listener "github.com/dubbo-kubernetes/xds-api/listener/v1"
+ route "github.com/dubbo-kubernetes/xds-api/route/v1"
+ discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/credentials/insecure"
@@ -82,7 +82,6 @@ type Config struct {
SecretManager security.SecretManager
GrpcOpts []grpc.DialOption
// XDSRootCAFile explicitly set the root CA to be used for the XDS
connection.
- // Mirrors Envoy file.
XDSRootCAFile string
// XDSSAN is the expected SAN of the XDS server. If not set, the
ProxyConfig.DiscoveryAddress is used.
XDSSAN string
@@ -620,7 +619,6 @@ func (a *ADSC) handleEDS(eds
[]*endpoint.ClusterLoadAssignment) {
log.Infof("eds: %d size=%d ep=%d", len(eds), edsSize, ep)
if a.initialLoad == 0 && !a.initialLds {
- // first load - Envoy loads listeners after endpoints
_ = a.stream.Send(&discovery.DiscoveryRequest{
TypeUrl: v3.ListenerType,
})
diff --git a/pkg/bootstrap/config.go b/pkg/bootstrap/config.go
index b3908e9a..e07d897e 100644
--- a/pkg/bootstrap/config.go
+++ b/pkg/bootstrap/config.go
@@ -28,7 +28,7 @@ import (
"github.com/apache/dubbo-kubernetes/pkg/config/constants"
"github.com/apache/dubbo-kubernetes/pkg/model"
"github.com/apache/dubbo-kubernetes/pkg/security"
- core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
+ core "github.com/dubbo-kubernetes/xds-api/core/v1"
dubbolog "github.com/apache/dubbo-kubernetes/pkg/log"
)
diff --git a/pkg/dubboagent/agent.go b/pkg/dubboagent/agent.go
index 5749656f..3f5c17f9 100644
--- a/pkg/dubboagent/agent.go
+++ b/pkg/dubboagent/agent.go
@@ -43,7 +43,7 @@ import (
"github.com/apache/dubbo-kubernetes/pkg/filewatcher"
"github.com/apache/dubbo-kubernetes/pkg/pixiu"
"github.com/apache/dubbo-kubernetes/pkg/security"
- core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
+ core "github.com/dubbo-kubernetes/xds-api/core/v1"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"google.golang.org/protobuf/types/known/structpb"
@@ -301,7 +301,6 @@ func (a *Agent) FindRootCAForXDS() (string, error) {
rootCAPath = path.Join(DubboCACertPath,
constants.CACertNamespaceConfigMapDataName)
}
- // Additional checks for root CA cert existence. Fail early, instead of
obscure envoy errors
if fileExists(rootCAPath) {
return rootCAPath, nil
}
@@ -503,8 +502,6 @@ func (a *Agent) generateGRPCBootstrapWithNode()
(*model.Node, error) {
log.Infof("Dubbo SAN: %v", node.Metadata.DubboSubjectAltName)
- // GRPC bootstrap requires this. Original implementation injected this
via env variable, but
- // this interfere with envoy, we should be able to use both envoy for
TCP/HTTP and proxyless.
node.Metadata.Generator = "grpc"
if err := os.MkdirAll(filepath.Dir(absBootstrapPath), 0o700); err !=
nil {
diff --git a/pkg/dubboagent/grpcxds/grpc_bootstrap.go
b/pkg/dubboagent/grpcxds/grpc_bootstrap.go
index 00a56768..8ae36799 100644
--- a/pkg/dubboagent/grpcxds/grpc_bootstrap.go
+++ b/pkg/dubboagent/grpcxds/grpc_bootstrap.go
@@ -28,7 +28,7 @@ import (
"github.com/apache/dubbo-kubernetes/pkg/model"
"github.com/apache/dubbo-kubernetes/pkg/util/protomarshal"
- core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
+ core "github.com/dubbo-kubernetes/xds-api/core/v1"
"google.golang.org/protobuf/types/known/durationpb"
"google.golang.org/protobuf/types/known/structpb"
)
diff --git a/pkg/dubboagent/xds_proxy.go b/pkg/dubboagent/xds_proxy.go
index 2346b0e0..e75c6f0d 100644
--- a/pkg/dubboagent/xds_proxy.go
+++ b/pkg/dubboagent/xds_proxy.go
@@ -36,12 +36,12 @@ import (
"github.com/apache/dubbo-kubernetes/pkg/model"
"github.com/apache/dubbo-kubernetes/pkg/pixiu"
"github.com/apache/dubbo-kubernetes/pkg/uds"
- cluster "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3"
- core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
- endpoint
"github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3"
- listener
"github.com/envoyproxy/go-control-plane/envoy/config/listener/v3"
- route "github.com/envoyproxy/go-control-plane/envoy/config/route/v3"
- discovery
"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
+ cluster "github.com/dubbo-kubernetes/xds-api/cluster/v1"
+ core "github.com/dubbo-kubernetes/xds-api/core/v1"
+ endpoint "github.com/dubbo-kubernetes/xds-api/endpoint/v1"
+ listener "github.com/dubbo-kubernetes/xds-api/listener/v1"
+ route "github.com/dubbo-kubernetes/xds-api/route/v1"
+ discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
"go.uber.org/atomic"
google_rpc "google.golang.org/genproto/googleapis/rpc/status"
"google.golang.org/grpc"
@@ -282,7 +282,6 @@ func (p *XdsProxy) handleStream(downstream adsStream) error
{
for k, v := range p.xdsHeaders {
ctx = metadata.AppendToOutgoingContext(ctx, k, v)
}
- // We must propagate upstream termination to Envoy. This ensures that
we resume the full XDS sequence on new connection
return p.handleUpstream(ctx, con, xds)
}
@@ -346,7 +345,6 @@ func (p *XdsProxy) handleUpstreamRequest(con
*ProxyConnection) {
nodeReceived := atomic.NewBool(false)
go func() {
for {
- // recv xds requests from envoy
req, err := con.downstream.Recv()
if err != nil {
proxyLog.Warnf("connection #%d downstream Recv
error: %v", con.conID, err)
diff --git a/pkg/dubboagent/xds_proxy_delta.go
b/pkg/dubboagent/xds_proxy_delta.go
index 08946da6..0c15767b 100644
--- a/pkg/dubboagent/xds_proxy_delta.go
+++ b/pkg/dubboagent/xds_proxy_delta.go
@@ -23,8 +23,8 @@ import (
"github.com/apache/dubbo-kubernetes/pkg/channels"
"github.com/apache/dubbo-kubernetes/pkg/model"
- core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
- discovery
"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
+ core "github.com/dubbo-kubernetes/xds-api/core/v1"
+ discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
"go.uber.org/atomic"
google_rpc "google.golang.org/genproto/googleapis/rpc/status"
"google.golang.org/grpc"
@@ -66,7 +66,6 @@ func (p *XdsProxy) DeltaAggregatedResources(downstream
DeltaDiscoveryStream) err
for k, v := range p.xdsHeaders {
ctx = metadata.AppendToOutgoingContext(ctx, k, v)
}
- // We must propagate upstream termination to Envoy. This ensures that
we resume the full XDS sequence on new connection
return p.handleDeltaUpstream(ctx, con, xds)
}
@@ -105,7 +104,6 @@ func (p *XdsProxy) handleDeltaUpstream(ctx context.Context,
con *ProxyConnection
case err := <-con.upstreamError:
return err
case err := <-con.downstreamError:
- // On downstream error, we will return. This propagates
the error to downstream envoy which will trigger reconnect
return err
case <-con.stopChan:
return nil
@@ -118,7 +116,6 @@ func (p *XdsProxy) handleUpstreamDeltaRequest(con
*ProxyConnection) {
nodeReceived := atomic.NewBool(false)
go func() {
for {
- // recv delta xds requests from envoy
req, err := con.downstreamDeltas.Recv()
if err != nil {
downstreamErr(con, err)
diff --git a/pkg/features/security.go b/pkg/features/security.go
index b914ae66..74373bda 100644
--- a/pkg/features/security.go
+++ b/pkg/features/security.go
@@ -36,15 +36,9 @@ settings, including in-mesh mTLS and external TLS. Valid
values are:
* '' or unset places no additional restrictions.
* 'fips-140-2' which enforces a version of the TLS protocol and a subset
of cipher suites overriding any user preferences or defaults for all runtime
-components, including Envoy, gRPC Go SDK, and gRPC C++ SDK.
+components, including gRPC SDK.
* 'pqc' which enforces post-quantum-safe key exchange X25519MLKEM768, TLS v1.3
and cipher suites TLS_AES_128_GCM_SHA256 and TLS_AES_256_GCM_SHA384 overriding
-any user preferences or defaults for all runtime components, including Envoy,
-gRPC Go SDK, and gRPC C++ SDK. This policy is experimental.
-
-WARNING: Setting compliance policy in the control plane is a necessary but
-not a sufficient requirement to achieve compliance. There are additional
-steps necessary to claim compliance, including using the validated
-cryptograhic modules (please consult
-https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/security/ssl#fips-140-2).`).Get()
+any user preferences or defaults for all runtime components, including,
+gRPC SDK. This policy is experimental.`).Get()
)
diff --git a/pkg/model/proxy.go b/pkg/model/proxy.go
index ec64951a..fd666149 100644
--- a/pkg/model/proxy.go
+++ b/pkg/model/proxy.go
@@ -20,7 +20,7 @@ import (
"encoding/json"
"fmt"
"github.com/apache/dubbo-kubernetes/pkg/cluster"
- core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
+ core "github.com/dubbo-kubernetes/xds-api/core/v1"
"strconv"
meshv1alpha1 "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1"
@@ -48,14 +48,12 @@ const (
type NodeMetaProxyConfig meshv1alpha1.ProxyConfig
type Node struct {
- // ID of the Envoy node
ID string
// Metadata is the typed node metadata
Metadata *BootstrapNodeMetadata
// RawMetadata is the untyped node metadata
RawMetadata map[string]any
- // Locality from Envoy bootstrap
- Locality *core.Locality
+ Locality *core.Locality
}
type NodeMetadata struct {
diff --git a/pkg/model/xds.go b/pkg/model/xds.go
index 95e1ccf4..c66d02a0 100644
--- a/pkg/model/xds.go
+++ b/pkg/model/xds.go
@@ -18,11 +18,11 @@ package model
const (
APITypePrefix = "type.googleapis.com/"
- ClusterType = APITypePrefix + "envoy.config.cluster.v3.Cluster"
- EndpointType = APITypePrefix +
"envoy.config.endpoint.v3.ClusterLoadAssignment"
- ListenerType = APITypePrefix + "envoy.config.listener.v3.Listener"
- RouteType = APITypePrefix +
"envoy.config.route.v3.RouteConfiguration"
- SecretType = APITypePrefix +
"envoy.extensions.transport_sockets.tls.v3.Secret"
+ ClusterType = APITypePrefix + "cluster.v1.Cluster"
+ EndpointType = APITypePrefix + "endpoint.v1.ClusterLoadAssignment"
+ ListenerType = APITypePrefix + "listener.v1.Listener"
+ RouteType = APITypePrefix + "route.v1.RouteConfiguration"
+ SecretType = APITypePrefix +
"extensions.transport_sockets.tls.v1.Secret"
HealthInfoType = APITypePrefix + "dubbo.v1.HealthInformation"
ProxyConfigType = APITypePrefix + "dubbo.mesh.v1alpha1.ProxyConfig"
diff --git a/pkg/pixiu/converter.go b/pkg/pixiu/converter.go
index f8ccb49f..a2458cf9 100644
--- a/pkg/pixiu/converter.go
+++ b/pkg/pixiu/converter.go
@@ -18,11 +18,11 @@ package pixiu
import (
"fmt"
- cluster "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3"
- endpoint
"github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3"
- listener
"github.com/envoyproxy/go-control-plane/envoy/config/listener/v3"
- route "github.com/envoyproxy/go-control-plane/envoy/config/route/v3"
- hcm
"github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3"
+ cluster "github.com/dubbo-kubernetes/xds-api/cluster/v1"
+ endpoint "github.com/dubbo-kubernetes/xds-api/endpoint/v1"
+ hcm
"github.com/dubbo-kubernetes/xds-api/extensions/filters/v1/network/http_connection_manager"
+ listener "github.com/dubbo-kubernetes/xds-api/listener/v1"
+ route "github.com/dubbo-kubernetes/xds-api/route/v1"
"gopkg.in/yaml.v3"
)
@@ -96,7 +96,6 @@ func (c *ConfigConverter) ConvertToPixiuConfig() ([]byte,
error) {
return data, nil
}
-// convertListener converts Envoy listener to Pixiu listener
func (c *ConfigConverter) convertListener(name string, l *listener.Listener)
*Listener {
// Only process listeners on port 80 (Gateway HTTP listener)
port := int(l.Address.GetSocketAddress().GetPortValue())
@@ -109,7 +108,7 @@ func (c *ConfigConverter) convertListener(name string, l
*listener.Listener) *Li
var hcmFilter *hcm.HttpConnectionManager
for _, fc := range l.FilterChains {
for _, f := range fc.Filters {
- if f.Name ==
"envoy.filters.network.http_connection_manager" {
+ if f.Name == "http_connection_manager" {
hcmAny := f.GetTypedConfig()
if hcmAny != nil {
hcmFilter = &hcm.HttpConnectionManager{}
@@ -168,7 +167,6 @@ func (c *ConfigConverter) convertListener(name string, l
*listener.Listener) *Li
return pixiuListener
}
-// convertCluster converts Envoy cluster to Pixiu cluster
func (c *ConfigConverter) convertCluster(name string, cl *cluster.Cluster)
*Cluster {
pixiuCluster := &Cluster{
Name: name,
@@ -234,7 +232,6 @@ func (c *ConfigConverter) convertCluster(name string, cl
*cluster.Cluster) *Clus
return pixiuCluster
}
-// convertEndpoints converts Envoy endpoints to Pixiu endpoints
func (c *ConfigConverter) convertEndpoints(assignment
*endpoint.ClusterLoadAssignment) []Endpoint {
var endpoints []Endpoint
diff --git a/pkg/wellknown/wellknown.go b/pkg/wellknown/wellknown.go
index 58f1b06b..8020237c 100644
--- a/pkg/wellknown/wellknown.go
+++ b/pkg/wellknown/wellknown.go
@@ -19,5 +19,5 @@ package wellknown
// Network filter names
const (
// HTTPConnectionManager network filter
- HTTPConnectionManager = "envoy.filters.network.http_connection_manager"
+ HTTPConnectionManager = "filters.network.http_connection_manager"
)
diff --git a/pkg/xds/server.go b/pkg/xds/server.go
index 440ba132..e5dd1015 100644
--- a/pkg/xds/server.go
+++ b/pkg/xds/server.go
@@ -23,8 +23,8 @@ import (
dubbogrpc "github.com/apache/dubbo-kubernetes/dubbod/discovery/pkg/grpc"
"github.com/apache/dubbo-kubernetes/pkg/model"
"github.com/apache/dubbo-kubernetes/pkg/util/sets"
- core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
- discovery
"github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
+ core "github.com/dubbo-kubernetes/xds-api/core/v1"
+ discovery "github.com/dubbo-kubernetes/xds-api/service/discovery/v1"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
"google.golang.org/protobuf/types/known/anypb"
@@ -282,7 +282,7 @@ func ShouldRespond(w Watcher, id string, request
*discovery.DiscoveryRequest) (b
previousInfo := w.GetWatchedResource(request.TypeUrl)
// This can happen in two cases:
- // 1. When an xDS client (Envoy, gRPC xDS client, etc.) starts for the
first time, it sends an initial Discovery request.
+ // 1. When an xDS client (gRPC xDS client, etc.) starts for the first
time, it sends an initial Discovery request.
// 2. When an xDS client reconnects to a new control plane that does
not have information about this typeUrl
// i.e. non empty response nonce.
// We should always respond with the current resource names.