Skip to content

Commit 1d792a5

Browse files
afaranhaxek
authored andcommitted
Mount variable number of fernet keys
Add code to translate mount paths for variable number of fernet keys.
1 parent b2f0e00 commit 1d792a5

5 files changed

Lines changed: 30 additions & 13 deletions

File tree

api/bases/keystone.openstack.org_keystoneapis.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@ spec:
105105
description: NodeSelector to target subset of worker nodes running
106106
this service
107107
type: object
108+
numberFernetKeys:
109+
default: 2
110+
description: Number of Fernet keys
111+
format: int32
112+
type: integer
108113
override:
109114
description: Override, provides the ability to override the generated
110115
manifest of several child resources.
@@ -365,10 +370,6 @@ spec:
365370
description: Secret containing OpenStack password information for
366371
keystone AdminPassword
367372
type: string
368-
numberFernetKeys:
369-
default: 2
370-
description: Number of Fernet keys
371-
type: integer
372373
tls:
373374
description: TLS - Parameters related to the TLS
374375
properties:

api/v1beta1/zz_generated.deepcopy.go

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/crd/bases/keystone.openstack.org_keystoneapis.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@ spec:
105105
description: NodeSelector to target subset of worker nodes running
106106
this service
107107
type: object
108+
numberFernetKeys:
109+
default: 2
110+
description: Number of Fernet keys
111+
format: int32
112+
type: integer
108113
override:
109114
description: Override, provides the ability to override the generated
110115
manifest of several child resources.
@@ -365,10 +370,6 @@ spec:
365370
description: Secret containing OpenStack password information for
366371
keystone AdminPassword
367372
type: string
368-
numberFernetKeys:
369-
default: 2
370-
description: Number of Fernet keys
371-
type: integer
372373
tls:
373374
description: TLS - Parameters related to the TLS
374375
properties:

controllers/keystoneapi_controller.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1342,8 +1342,9 @@ func (r *KeystoneAPIReconciler) ensureFernetKeys(
13421342
"CredentialKeys0": keystone.GenerateFernetKey(),
13431343
"CredentialKeys1": keystone.GenerateFernetKey(),
13441344
}
1345-
for i := range instance.Spec.FernetKeys {
1346-
fernetKeys[fmt.Sprintf("FernetKeys%d", i)] = keystone.GenerateFernetKey()
1345+
var i *int32 = new(int32)
1346+
for *i = 0; *i < *instance.Spec.FernetKeys; *i++ {
1347+
fernetKeys[fmt.Sprintf("FernetKeys%d", *i)] = keystone.GenerateFernetKey()
13471348
}
13481349

13491350
tmpl := []util.Template{

pkg/keystone/volumes.go

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ limitations under the License.
1616
package keystone
1717

1818
import (
19+
"fmt"
20+
keystonev1 "github.com/openstack-k8s-operators/keystone-operator/api/v1beta1"
1921
corev1 "k8s.io/api/core/v1"
2022
)
2123

@@ -26,8 +28,15 @@ func getVolumes(instance *keystonev1.KeystoneAPI) []corev1.Volume {
2628
var config0640AccessMode int32 = 0640
2729

2830
fernetKeys := []corev1.KeyToPath{}
29-
for i := range instance.Spec.FernetKeys {
30-
fernetKeys = append(fernetKeys, fmt.Sprintf("FernetKeys%d", i))
31+
var i *int32 = new(int32)
32+
for *i = 0; *i < *instance.Spec.FernetKeys; *i++ {
33+
fernetKeys = append(
34+
fernetKeys,
35+
corev1.KeyToPath{
36+
Key: fmt.Sprintf("FernetKeys%d", *i),
37+
Path: fmt.Sprintf("%d", *i),
38+
},
39+
)
3140
}
3241

3342
return []corev1.Volume{
@@ -54,7 +63,7 @@ func getVolumes(instance *keystonev1.KeystoneAPI) []corev1.Volume {
5463
VolumeSource: corev1.VolumeSource{
5564
Secret: &corev1.SecretVolumeSource{
5665
SecretName: ServiceName,
57-
Items: fernetKeys,
66+
Items: fernetKeys,
5867
},
5968
},
6069
},

0 commit comments

Comments
 (0)