mirror of
https://github.com/YuzuZensai/netbird-kubernetes-operator.git
synced 2026-09-13 10:49:15 +00:00
Add support for running as a init sidecar container (#99)
Adds support for injecting the client as a [sidecar container](https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/) using the `netbird.io/init-sidecar: "true"` pod annotation.
This commit is contained in:
@@ -125,6 +125,33 @@ var _ = Describe("Pod Webhook", func() {
|
||||
Expect(obj.Spec.Containers).To(HaveLen(2))
|
||||
Expect(obj.Spec.Containers[1].Name).To(Equal("netbird"))
|
||||
})
|
||||
|
||||
It("Should inject NB container as native sidecar when init-sidecar annotation is true", func() {
|
||||
obj.Annotations[sidecarAnnotation] = "true"
|
||||
Expect(defaulter.Default(context.Background(), obj)).NotTo(HaveOccurred())
|
||||
Expect(obj.Spec.Containers).To(HaveLen(1), "original containers should be unchanged")
|
||||
Expect(obj.Spec.InitContainers).To(HaveLen(1))
|
||||
Expect(obj.Spec.InitContainers[0].Name).To(Equal("netbird"))
|
||||
Expect(obj.Spec.InitContainers[0].RestartPolicy).NotTo(BeNil())
|
||||
Expect(*obj.Spec.InitContainers[0].RestartPolicy).To(Equal(corev1.ContainerRestartPolicyAlways))
|
||||
})
|
||||
|
||||
It("Should inject NB as regular container when init-sidecar annotation is false", func() {
|
||||
obj.Annotations[sidecarAnnotation] = "false"
|
||||
Expect(defaulter.Default(context.Background(), obj)).NotTo(HaveOccurred())
|
||||
Expect(obj.Spec.Containers).To(HaveLen(2))
|
||||
Expect(obj.Spec.Containers[1].Name).To(Equal("netbird"))
|
||||
Expect(obj.Spec.InitContainers).To(BeEmpty())
|
||||
})
|
||||
|
||||
It("Should inject NB as regular container when init-sidecar annotation is absent", func() {
|
||||
delete(obj.Annotations, sidecarAnnotation)
|
||||
Expect(defaulter.Default(context.Background(), obj)).NotTo(HaveOccurred())
|
||||
Expect(obj.Spec.Containers).To(HaveLen(2))
|
||||
Expect(obj.Spec.Containers[1].Name).To(Equal("netbird"))
|
||||
Expect(obj.Spec.InitContainers).To(BeEmpty())
|
||||
})
|
||||
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user