in grpc-xds/greeter-go/pkg/xdsclient/bootstrap/bootstrap.go [172:189]
func parseCertificateProviders(providerInstances map[string]json.RawMessage) (map[string]*certprovider.BuildableConfig, error) {
configs := make(map[string]*certprovider.BuildableConfig)
for instance, data := range providerInstances {
var nameAndConfig struct {
PluginName string `json:"plugin_name"`
Config json.RawMessage `json:"config"`
}
if err := json.Unmarshal(data, &nameAndConfig); err != nil {
return nil, fmt.Errorf("xds: json.Unmarshal(%v) for field %q failed during bootstrap: %w", string(data), instance, err)
}
bc := certprovider.NewBuildableConfig(
nameAndConfig.PluginName,
[]byte{},
func(options certprovider.BuildOptions) certprovider.Provider { return nil })
configs[instance] = bc
}
return configs, nil
}