Merge pull request #120365 from aramase/aramase/c/kms_scheme_cleanup

register API types only once for encryption config
This commit is contained in:
Kubernetes Prow Robot 2023-09-05 16:21:03 -07:00 committed by GitHub
commit 10d257889d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -104,6 +104,15 @@ const (
kmsReloadHealthCheckName = "kms-providers"
)
var codecs serializer.CodecFactory
func init() {
configScheme := runtime.NewScheme()
utilruntime.Must(apiserverconfig.AddToScheme(configScheme))
utilruntime.Must(apiserverconfigv1.AddToScheme(configScheme))
codecs = serializer.NewCodecFactory(configScheme)
}
type kmsPluginHealthzResponse struct {
err error
received time.Time
@ -475,11 +484,6 @@ func loadConfig(filepath string, reload bool) (*apiserverconfig.EncryptionConfig
return nil, "", fmt.Errorf("encryption provider configuration file %q is empty", filepath)
}
scheme := runtime.NewScheme()
codecs := serializer.NewCodecFactory(scheme)
utilruntime.Must(apiserverconfig.AddToScheme(scheme))
utilruntime.Must(apiserverconfigv1.AddToScheme(scheme))
configObj, gvk, err := codecs.UniversalDecoder().Decode(data, nil, nil)
if err != nil {
return nil, "", fmt.Errorf("error decoding encryption provider configuration file %q: %w", filepath, err)