Skip to content

Commit 2b10945

Browse files
authored
fix: uniqueness of featureflagconfiguration file path (#323)
Signed-off-by: Skye Gill <[email protected]>
1 parent 2ec454c commit 2b10945

File tree

4 files changed

+12
-11
lines changed

4 files changed

+12
-11
lines changed

apis/core/v1alpha1/featureflagconfiguration_types.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,11 @@ func GenerateFfConfigMap(name string, namespace string, references []metav1.Owne
128128
OwnerReferences: references,
129129
},
130130
Data: map[string]string{
131-
fmt.Sprintf("%s.json", name): spec.FeatureFlagSpec,
131+
FeatureFlagConfigurationConfigMapDataKeyName(namespace, name): spec.FeatureFlagSpec,
132132
},
133133
}
134134
}
135+
136+
func FeatureFlagConfigurationConfigMapDataKeyName(namespace, name string) string {
137+
return fmt.Sprintf("%s_%s.json", namespace, name)
138+
}

controllers/featureflagconfiguration_controller.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ package controllers
1818

1919
import (
2020
"context"
21-
"fmt"
2221
"time"
2322

2423
"github.com/go-logr/logr"
@@ -151,7 +150,7 @@ func (r *FeatureFlagConfigurationReconciler) Reconcile(ctx context.Context, req
151150
// Update ConfigMap Spec
152151
r.Log.Info("Updating ConfigMap Spec " + cm.Name)
153152
cm.Data = map[string]string{
154-
fmt.Sprintf("%s.json", cm.Name): ffconf.Spec.FeatureFlagSpec,
153+
corev1alpha1.FeatureFlagConfigurationConfigMapDataKeyName(cm.Namespace, cm.Name): ffconf.Spec.FeatureFlagSpec,
155154
}
156155
err := r.Client.Update(ctx, &cm)
157156
if err != nil {

webhooks/pod_webhook.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ func (m *PodMutator) injectSidecar(
400400
volumeMounts = append(volumeMounts, corev1.VolumeMount{
401401
Name: featureFlag.Name,
402402
MountPath: fileSyncMountPath(featureFlag),
403-
SubPath: fileSyncFileName(featureFlag),
403+
SubPath: corev1alpha1.FeatureFlagConfigurationConfigMapDataKeyName(featureFlag.Namespace, featureFlag.Name),
404404
})
405405
default:
406406
err := fmt.Errorf(
@@ -475,11 +475,9 @@ func setSecurityContext() *corev1.SecurityContext {
475475
}
476476

477477
func fileSyncMountPath(featureFlag *corev1alpha1.FeatureFlagConfiguration) string {
478-
return fmt.Sprintf("%s/%s", rootFileSyncMountPath, fileSyncFileName(featureFlag))
479-
}
480-
481-
func fileSyncFileName(featureFlag *corev1alpha1.FeatureFlagConfiguration) string {
482-
return fmt.Sprintf("%s.json", featureFlag.Name)
478+
return fmt.Sprintf("%s/%s", rootFileSyncMountPath,
479+
corev1alpha1.FeatureFlagConfigurationConfigMapDataKeyName(featureFlag.Namespace, featureFlag.Name),
480+
)
483481
}
484482

485483
func OpenFeatureEnabledAnnotationIndex(o client.Object) []string {

webhooks/pod_webhook_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ var _ = Describe("pod mutation webhook", func() {
359359
}))
360360
Expect(len(cm.OwnerReferences)).To(Equal(2))
361361
Expect(cm.Data).To(Equal(map[string]string{
362-
fmt.Sprintf("%s.json", featureFlagConfigurationName): ffConfig.Spec.FeatureFlagSpec,
362+
fmt.Sprintf("%s_%s.json", mutatePodNamespace, featureFlagConfigurationName): ffConfig.Spec.FeatureFlagSpec,
363363
}))
364364

365365
podMutationWebhookCleanup()
@@ -456,7 +456,7 @@ var _ = Describe("pod mutation webhook", func() {
456456
Expect(pod.Spec.Containers[1].Args).To(Equal([]string{
457457
"start",
458458
"--uri",
459-
"file:/etc/flagd/test-feature-flag-configuration.json",
459+
"file:/etc/flagd/test-mutate-pod_test-feature-flag-configuration.json",
460460
"--sync-provider-args",
461461
"key=value",
462462
"--sync-provider-args",

0 commit comments

Comments
 (0)