File tree 2 files changed +21
-2
lines changed
examples/features/csm_observability
2 files changed +21
-2
lines changed Original file line number Diff line number Diff line change @@ -29,6 +29,7 @@ import (
29
29
30
30
"google.golang.org/grpc"
31
31
"google.golang.org/grpc/credentials/insecure"
32
+ xdscreds "google.golang.org/grpc/credentials/xds"
32
33
"google.golang.org/grpc/examples/features/proto/echo"
33
34
"google.golang.org/grpc/stats/opentelemetry"
34
35
"google.golang.org/grpc/stats/opentelemetry/csm"
@@ -56,7 +57,13 @@ func main() {
56
57
cleanup := csm .EnableObservability (context .Background (), opentelemetry.Options {MetricsOptions : opentelemetry.MetricsOptions {MeterProvider : provider }})
57
58
defer cleanup ()
58
59
59
- cc , err := grpc .NewClient (* target , grpc .WithTransportCredentials (insecure .NewCredentials ()))
60
+ // Set up xds credentials that fall back to insecure as described in:
61
+ // https://cloud.google.com/service-mesh/docs/service-routing/security-proxyless-setup#workloads_are_unable_to_communicate_in_the_security_setup.
62
+ creds , err := xdscreds .NewClientCredentials (xdscreds.ClientOptions {FallbackCreds : insecure .NewCredentials ()})
63
+ if err != nil {
64
+ log .Fatalf ("Failed to create xDS credentials: %v" , err )
65
+ }
66
+ cc , err := grpc .NewClient (* target , grpc .WithTransportCredentials (creds ))
60
67
if err != nil {
61
68
log .Fatalf ("Failed to start NewClient: %v" , err )
62
69
}
Original file line number Diff line number Diff line change @@ -28,9 +28,12 @@ import (
28
28
"net/http"
29
29
30
30
"google.golang.org/grpc"
31
+ "google.golang.org/grpc/credentials/insecure"
32
+ xdscreds "google.golang.org/grpc/credentials/xds"
31
33
pb "google.golang.org/grpc/examples/features/proto/echo"
32
34
"google.golang.org/grpc/stats/opentelemetry"
33
35
"google.golang.org/grpc/stats/opentelemetry/csm"
36
+ "google.golang.org/grpc/xds"
34
37
35
38
"github.com/prometheus/client_golang/prometheus/promhttp"
36
39
"go.opentelemetry.io/otel/exporters/prometheus"
@@ -67,7 +70,16 @@ func main() {
67
70
if err != nil {
68
71
log .Fatalf ("Failed to listen: %v" , err )
69
72
}
70
- s := grpc .NewServer ()
73
+ // Set up xds credentials that fall back to insecure as described in:
74
+ // https://cloud.google.com/service-mesh/docs/service-routing/security-proxyless-setup#workloads_are_unable_to_communicate_in_the_security_setup.
75
+ creds , err := xdscreds .NewServerCredentials (xdscreds.ServerOptions {FallbackCreds : insecure .NewCredentials ()})
76
+ if err != nil {
77
+ log .Fatalf ("Failed to create xDS credentials: %v" , err )
78
+ }
79
+ s , err := xds .NewGRPCServer (grpc .Creds (creds ))
80
+ if err != nil {
81
+ log .Fatalf ("Failed to start xDS Server: %v" , err )
82
+ }
71
83
pb .RegisterEchoServer (s , & echoServer {addr : ":" + * port })
72
84
73
85
log .Printf ("Serving on %s\n " , * port )
You can’t perform that action at this time.
0 commit comments