...
1
18
19 package bootstrap
20
21 import (
22 "encoding/json"
23
24 "google.golang.org/grpc/credentials"
25 "google.golang.org/grpc/credentials/google"
26 "google.golang.org/grpc/credentials/insecure"
27 "google.golang.org/grpc/internal/xds/bootstrap/tlscreds"
28 )
29
30 func init() {
31 RegisterCredentials(&insecureCredsBuilder{})
32 RegisterCredentials(&googleDefaultCredsBuilder{})
33 RegisterCredentials(&tlsCredsBuilder{})
34 }
35
36
37
38 type insecureCredsBuilder struct{}
39
40 func (i *insecureCredsBuilder) Build(json.RawMessage) (credentials.Bundle, func(), error) {
41 return insecure.NewBundle(), func() {}, nil
42 }
43
44 func (i *insecureCredsBuilder) Name() string {
45 return "insecure"
46 }
47
48
49
50 type tlsCredsBuilder struct{}
51
52 func (t *tlsCredsBuilder) Build(config json.RawMessage) (credentials.Bundle, func(), error) {
53 return tlscreds.NewBundle(config)
54 }
55
56 func (t *tlsCredsBuilder) Name() string {
57 return "tls"
58 }
59
60
61
62 type googleDefaultCredsBuilder struct{}
63
64 func (d *googleDefaultCredsBuilder) Build(json.RawMessage) (credentials.Bundle, func(), error) {
65 return google.NewDefaultCredentials(), func() {}, nil
66 }
67
68 func (d *googleDefaultCredsBuilder) Name() string {
69 return "google_default"
70 }
71
View as plain text