@@ -50,7 +50,7 @@ type ibmCloudKMSProvider struct {
50
50
}
51
51
52
52
func NewIBMCloudKMSProvider (ibmCloud * hyperv1.IBMCloudKMSSpec , kmsImage string ) (* ibmCloudKMSProvider , error ) {
53
- if ibmCloud == nil || len (ibmCloud .KeyList ) == 0 || len (ibmCloud .Region ) == 0 || len ( kmsImage ) == 0 {
53
+ if ibmCloud == nil || len (ibmCloud .KeyList ) == 0 || len (ibmCloud .Region ) == 0 {
54
54
return nil , fmt .Errorf ("ibmcloud kms metadata not specified" )
55
55
}
56
56
return & ibmCloudKMSProvider {
@@ -66,7 +66,19 @@ func (p *ibmCloudKMSProvider) GenerateKMSEncryptionConfig() (*v1.EncryptionConfi
66
66
keys = append (keys , k )
67
67
}
68
68
sort .Ints (keys )
69
- var providerConfiguration []v1.ProviderConfiguration
69
+
70
+ // KMS v2 should be first in the list
71
+ providerConfiguration := []v1.ProviderConfiguration {
72
+ {
73
+ KMS : & v1.KMSConfiguration {
74
+ APIVersion : "v2" ,
75
+ Name : fmt .Sprintf ("%s%s" , ibmKeyNamePrefix , "v2" ),
76
+ Endpoint : ibmCloudKMSUnixSocket ,
77
+ Timeout : & metav1.Duration {Duration : 35 * time .Second },
78
+ },
79
+ },
80
+ }
81
+
70
82
// iterate in reverse because highest version key should be used for new secret encryption
71
83
for i := len (keys ) - 1 ; i >= 0 ; i -- {
72
84
configEntry := v1.ProviderConfiguration {
@@ -312,5 +324,6 @@ func (p *ibmCloudKMSProvider) ApplyKMSConfig(podSpec *corev1.PodSpec) error {
312
324
}
313
325
container .VolumeMounts = append (container .VolumeMounts ,
314
326
ibmCloudKMSVolumeMounts .ContainerMounts (KasMainContainerName )... )
327
+ container .Args = append (container .Args , "--encryption-provider-config-automatic-reload=false" )
315
328
return nil
316
329
}
0 commit comments