layer1: add namespace event bridge step 18

This commit is contained in:
Naeel
2026-04-26 10:23:21 +03:00
parent b1e2e6462d
commit 022960ade7
4 changed files with 53 additions and 6 deletions
+5 -5
View File
@@ -13,11 +13,11 @@ import (
)
const (
ENV_FUNCTION_NAMESPACE string = "FISSION_FUNCTION_NAMESPACE"
ENV_BUILDER_NAMESPACE string = "FISSION_BUILDER_NAMESPACE"
ENV_DEFAULT_NAMESPACE string = "FISSION_DEFAULT_NAMESPACE"
ENV_ADDITIONAL_NAMESPACE string = "FISSION_RESOURCE_NAMESPACES"
ManagedNamespaceLabelKey string = "fission.io/managed"
ENV_FUNCTION_NAMESPACE string = "FISSION_FUNCTION_NAMESPACE"
ENV_BUILDER_NAMESPACE string = "FISSION_BUILDER_NAMESPACE"
ENV_DEFAULT_NAMESPACE string = "FISSION_DEFAULT_NAMESPACE"
ENV_ADDITIONAL_NAMESPACE string = "FISSION_RESOURCE_NAMESPACES"
ManagedNamespaceLabelKey string = "fission.io/managed"
ManagedNamespaceLabelValue string = "true"
)
+12 -1
View File
@@ -1,6 +1,10 @@
package utils
import "time"
import (
"time"
corev1 "k8s.io/api/core/v1"
)
const (
NamespacePartStateRegistering string = "registering"
@@ -77,6 +81,13 @@ func ManagedNamespaceEvent(eventType NamespaceEventType, name string, source Nam
}, source, observedAt)
}
func NamespaceEventFromNamespace(eventType NamespaceEventType, namespace *corev1.Namespace, source NamespaceSource, observedAt time.Time) NamespaceEvent {
if namespace == nil {
return NewNamespaceEvent(eventType, "", nil, source, observedAt)
}
return NewNamespaceEvent(eventType, namespace.Name, namespace.Labels, source, observedAt)
}
func (nr NamespaceRecord) Clone() NamespaceRecord {
clone := nr
clone.Labels = cloneStringMap(nr.Labels)
+21
View File
@@ -3,6 +3,8 @@ package utils
import (
"testing"
"time"
corev1 "k8s.io/api/core/v1"
)
func TestNamespaceRecordClone(t *testing.T) {
@@ -86,3 +88,22 @@ func TestManagedNamespaceEvent(t *testing.T) {
t.Fatalf("expected tenant-a event name")
}
}
func TestNamespaceEventFromNamespace(t *testing.T) {
namespace := &corev1.Namespace{}
namespace.Name = "tenant-a"
namespace.Labels = map[string]string{ManagedNamespaceLabelKey: ManagedNamespaceLabelValue}
event := NamespaceEventFromNamespace(NamespaceEventAdd, namespace, NamespaceSourceWatcher, time.Now().UTC())
if event.Name != "tenant-a" {
t.Fatalf("expected tenant-a event name")
}
if event.Labels[ManagedNamespaceLabelKey] != ManagedNamespaceLabelValue {
t.Fatalf("expected namespace labels to be copied into event")
}
namespace.Labels[ManagedNamespaceLabelKey] = "false"
if event.Labels[ManagedNamespaceLabelKey] != ManagedNamespaceLabelValue {
t.Fatalf("expected event labels to stay detached from original namespace")
}
}