mirror of
https://github.com/YuzuZensai/netbird-kubernetes-operator.git
synced 2026-09-13 10:49:15 +00:00
Modernize for Go 1.26 (#232)
This change replaces all uses of pointer utils with the new `new` function which does the same job. Signed-off-by: Philip Laine <philip.laine@gmail.com>
This commit is contained in:
@@ -16,7 +16,6 @@ require (
|
|||||||
k8s.io/api v0.36.0
|
k8s.io/api v0.36.0
|
||||||
k8s.io/apimachinery v0.36.0
|
k8s.io/apimachinery v0.36.0
|
||||||
k8s.io/client-go v0.36.0
|
k8s.io/client-go v0.36.0
|
||||||
k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2
|
|
||||||
sigs.k8s.io/controller-runtime v0.24.0
|
sigs.k8s.io/controller-runtime v0.24.0
|
||||||
sigs.k8s.io/gateway-api v1.5.1
|
sigs.k8s.io/gateway-api v1.5.1
|
||||||
sigs.k8s.io/structured-merge-diff/v6 v6.4.0
|
sigs.k8s.io/structured-merge-diff/v6 v6.4.0
|
||||||
@@ -103,6 +102,7 @@ require (
|
|||||||
k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b // indirect
|
k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b // indirect
|
||||||
k8s.io/klog/v2 v2.140.0 // indirect
|
k8s.io/klog/v2 v2.140.0 // indirect
|
||||||
k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a // indirect
|
k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a // indirect
|
||||||
|
k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 // indirect
|
||||||
sigs.k8s.io/controller-tools v0.20.1 // indirect
|
sigs.k8s.io/controller-tools v0.20.1 // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
|
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
|
||||||
sigs.k8s.io/randfill v1.0.0 // indirect
|
sigs.k8s.io/randfill v1.0.0 // indirect
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ import (
|
|||||||
nbv1alpha1 "github.com/netbirdio/kubernetes-operator/api/v1alpha1"
|
nbv1alpha1 "github.com/netbirdio/kubernetes-operator/api/v1alpha1"
|
||||||
"github.com/netbirdio/kubernetes-operator/internal/gatewayutil"
|
"github.com/netbirdio/kubernetes-operator/internal/gatewayutil"
|
||||||
"github.com/netbirdio/kubernetes-operator/internal/k8sutil"
|
"github.com/netbirdio/kubernetes-operator/internal/k8sutil"
|
||||||
"github.com/netbirdio/kubernetes-operator/internal/util"
|
|
||||||
nbv1alpha1ac "github.com/netbirdio/kubernetes-operator/pkg/applyconfigurations/api/v1alpha1"
|
nbv1alpha1ac "github.com/netbirdio/kubernetes-operator/pkg/applyconfigurations/api/v1alpha1"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -148,9 +147,9 @@ func (r *HTTPRouteReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
|
|||||||
Domain: string(hostname),
|
Domain: string(hostname),
|
||||||
Enabled: true,
|
Enabled: true,
|
||||||
Name: string(hostname),
|
Name: string(hostname),
|
||||||
Mode: util.Ptr(api.ServiceRequestModeHttp),
|
Mode: new(api.ServiceRequestModeHttp),
|
||||||
PassHostHeader: util.Ptr(false),
|
PassHostHeader: new(false),
|
||||||
RewriteRedirects: util.Ptr(false),
|
RewriteRedirects: new(false),
|
||||||
Targets: &targets,
|
Targets: &targets,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ import (
|
|||||||
"github.com/netbirdio/netbird/shared/management/http/api"
|
"github.com/netbirdio/netbird/shared/management/http/api"
|
||||||
|
|
||||||
nbv1 "github.com/netbirdio/kubernetes-operator/api/v1"
|
nbv1 "github.com/netbirdio/kubernetes-operator/api/v1"
|
||||||
"github.com/netbirdio/kubernetes-operator/internal/util"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ = Describe("NBGroup Controller", func() {
|
var _ = Describe("NBGroup Controller", func() {
|
||||||
@@ -160,7 +159,7 @@ var _ = Describe("NBGroup Controller", func() {
|
|||||||
deleteGroup := func() {
|
deleteGroup := func() {
|
||||||
GinkgoHelper()
|
GinkgoHelper()
|
||||||
By("Adding the group ID in status")
|
By("Adding the group ID in status")
|
||||||
nbGroup.Status.GroupID = util.Ptr("Test")
|
nbGroup.Status.GroupID = new("Test")
|
||||||
err := k8sClient.Status().Update(ctx, &nbGroup)
|
err := k8sClient.Status().Update(ctx, &nbGroup)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
@@ -285,7 +284,7 @@ var _ = Describe("NBGroup Controller", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
})
|
})
|
||||||
|
|
||||||
nbGroup.Status.GroupID = util.Ptr("Toast")
|
nbGroup.Status.GroupID = new("Toast")
|
||||||
Expect(k8sClient.Status().Update(ctx, &nbGroup)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, &nbGroup)).To(Succeed())
|
||||||
|
|
||||||
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
||||||
@@ -329,7 +328,7 @@ var _ = Describe("NBGroup Controller", func() {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
nbGroup.Status.GroupID = util.Ptr("Toast")
|
nbGroup.Status.GroupID = new("Toast")
|
||||||
Expect(k8sClient.Status().Update(ctx, &nbGroup)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, &nbGroup)).To(Succeed())
|
||||||
|
|
||||||
res, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
res, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ import (
|
|||||||
"github.com/netbirdio/netbird/shared/management/http/api"
|
"github.com/netbirdio/netbird/shared/management/http/api"
|
||||||
|
|
||||||
nbv1 "github.com/netbirdio/kubernetes-operator/api/v1"
|
nbv1 "github.com/netbirdio/kubernetes-operator/api/v1"
|
||||||
"github.com/netbirdio/kubernetes-operator/internal/util"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ = Describe("NBPolicy Controller", func() {
|
var _ = Describe("NBPolicy Controller", func() {
|
||||||
@@ -171,13 +170,13 @@ var _ = Describe("NBPolicy Controller", func() {
|
|||||||
err = json.Unmarshal(bs, &policyReq)
|
err = json.Unmarshal(bs, &policyReq)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
Expect(policyReq.Name).To(Equal("Test TCP"))
|
Expect(policyReq.Name).To(Equal("Test TCP"))
|
||||||
Expect(policyReq.Description).To(Or(BeNil(), BeEquivalentTo(util.Ptr(""))))
|
Expect(policyReq.Description).To(Or(BeNil(), BeEquivalentTo(new(""))))
|
||||||
Expect(policyReq.Enabled).To(BeTrue())
|
Expect(policyReq.Enabled).To(BeTrue())
|
||||||
Expect(policyReq.SourcePostureChecks).To(BeNil())
|
Expect(policyReq.SourcePostureChecks).To(BeNil())
|
||||||
Expect(policyReq.Rules).To(HaveLen(1))
|
Expect(policyReq.Rules).To(HaveLen(1))
|
||||||
Expect(policyReq.Rules[0].Action).To(BeEquivalentTo(api.PolicyRuleActionAccept))
|
Expect(policyReq.Rules[0].Action).To(BeEquivalentTo(api.PolicyRuleActionAccept))
|
||||||
Expect(policyReq.Rules[0].Bidirectional).To(BeTrue())
|
Expect(policyReq.Rules[0].Bidirectional).To(BeTrue())
|
||||||
Expect(policyReq.Rules[0].Description).To(Or(BeNil(), BeEquivalentTo(util.Ptr(""))))
|
Expect(policyReq.Rules[0].Description).To(Or(BeNil(), BeEquivalentTo(new(""))))
|
||||||
Expect(policyReq.Rules[0].DestinationResource).To(BeNil())
|
Expect(policyReq.Rules[0].DestinationResource).To(BeNil())
|
||||||
Expect(policyReq.Rules[0].Destinations).NotTo(BeNil())
|
Expect(policyReq.Rules[0].Destinations).NotTo(BeNil())
|
||||||
Expect(*policyReq.Rules[0].Destinations).To(HaveLen(1))
|
Expect(*policyReq.Rules[0].Destinations).To(HaveLen(1))
|
||||||
@@ -220,7 +219,7 @@ var _ = Describe("NBPolicy Controller", func() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
nbpolicy.Status.ManagedServiceList = append(nbpolicy.Status.ManagedServiceList, "default/noexist")
|
nbpolicy.Status.ManagedServiceList = append(nbpolicy.Status.ManagedServiceList, "default/noexist")
|
||||||
nbpolicy.Status.TCPPolicyID = util.Ptr("policyid")
|
nbpolicy.Status.TCPPolicyID = new("policyid")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbpolicy)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbpolicy)).To(Succeed())
|
||||||
|
|
||||||
mux.HandleFunc("/api/groups", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/groups", func(w http.ResponseWriter, r *http.Request) {
|
||||||
@@ -309,13 +308,13 @@ var _ = Describe("NBPolicy Controller", func() {
|
|||||||
err = json.Unmarshal(bs, &policyReq)
|
err = json.Unmarshal(bs, &policyReq)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
Expect(policyReq.Name).To(Equal("Test UDP"))
|
Expect(policyReq.Name).To(Equal("Test UDP"))
|
||||||
Expect(policyReq.Description).To(Or(BeNil(), BeEquivalentTo(util.Ptr(""))))
|
Expect(policyReq.Description).To(Or(BeNil(), BeEquivalentTo(new(""))))
|
||||||
Expect(policyReq.Enabled).To(BeTrue())
|
Expect(policyReq.Enabled).To(BeTrue())
|
||||||
Expect(policyReq.SourcePostureChecks).To(BeNil())
|
Expect(policyReq.SourcePostureChecks).To(BeNil())
|
||||||
Expect(policyReq.Rules).To(HaveLen(1))
|
Expect(policyReq.Rules).To(HaveLen(1))
|
||||||
Expect(policyReq.Rules[0].Action).To(BeEquivalentTo(api.PolicyRuleActionAccept))
|
Expect(policyReq.Rules[0].Action).To(BeEquivalentTo(api.PolicyRuleActionAccept))
|
||||||
Expect(policyReq.Rules[0].Bidirectional).To(BeTrue())
|
Expect(policyReq.Rules[0].Bidirectional).To(BeTrue())
|
||||||
Expect(policyReq.Rules[0].Description).To(Or(BeNil(), BeEquivalentTo(util.Ptr(""))))
|
Expect(policyReq.Rules[0].Description).To(Or(BeNil(), BeEquivalentTo(new(""))))
|
||||||
Expect(policyReq.Rules[0].DestinationResource).To(BeNil())
|
Expect(policyReq.Rules[0].DestinationResource).To(BeNil())
|
||||||
Expect(policyReq.Rules[0].Destinations).NotTo(BeNil())
|
Expect(policyReq.Rules[0].Destinations).NotTo(BeNil())
|
||||||
Expect(*policyReq.Rules[0].Destinations).To(HaveLen(1))
|
Expect(*policyReq.Rules[0].Destinations).To(HaveLen(1))
|
||||||
@@ -358,7 +357,7 @@ var _ = Describe("NBPolicy Controller", func() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
nbpolicy.Status.ManagedServiceList = append(nbpolicy.Status.ManagedServiceList, "default/noexist")
|
nbpolicy.Status.ManagedServiceList = append(nbpolicy.Status.ManagedServiceList, "default/noexist")
|
||||||
nbpolicy.Status.UDPPolicyID = util.Ptr("policyid")
|
nbpolicy.Status.UDPPolicyID = new("policyid")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbpolicy)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbpolicy)).To(Succeed())
|
||||||
|
|
||||||
mux.HandleFunc("/api/groups", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/groups", func(w http.ResponseWriter, r *http.Request) {
|
||||||
@@ -425,7 +424,7 @@ var _ = Describe("NBPolicy Controller", func() {
|
|||||||
Expect(k8sClient.Update(ctx, nbpolicy)).To(Succeed())
|
Expect(k8sClient.Update(ctx, nbpolicy)).To(Succeed())
|
||||||
|
|
||||||
nbpolicy.Status.ManagedServiceList = append(nbpolicy.Status.ManagedServiceList, "default/test")
|
nbpolicy.Status.ManagedServiceList = append(nbpolicy.Status.ManagedServiceList, "default/test")
|
||||||
nbpolicy.Status.TCPPolicyID = util.Ptr("policyid")
|
nbpolicy.Status.TCPPolicyID = new("policyid")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbpolicy)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbpolicy)).To(Succeed())
|
||||||
|
|
||||||
mux.HandleFunc("/api/groups", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/groups", func(w http.ResponseWriter, r *http.Request) {
|
||||||
@@ -524,7 +523,7 @@ var _ = Describe("NBPolicy Controller", func() {
|
|||||||
Expect(k8sClient.Status().Update(ctx, nbResourceB)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbResourceB)).To(Succeed())
|
||||||
|
|
||||||
nbpolicy.Status.ManagedServiceList = append(nbpolicy.Status.ManagedServiceList, "default/test", "default/test-b")
|
nbpolicy.Status.ManagedServiceList = append(nbpolicy.Status.ManagedServiceList, "default/test", "default/test-b")
|
||||||
nbpolicy.Status.TCPPolicyID = util.Ptr("policyid")
|
nbpolicy.Status.TCPPolicyID = new("policyid")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbpolicy)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbpolicy)).To(Succeed())
|
||||||
|
|
||||||
mux.HandleFunc("/api/groups", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/groups", func(w http.ResponseWriter, r *http.Request) {
|
||||||
@@ -552,13 +551,13 @@ var _ = Describe("NBPolicy Controller", func() {
|
|||||||
err = json.Unmarshal(bs, &policyReq)
|
err = json.Unmarshal(bs, &policyReq)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
Expect(policyReq.Name).To(Equal("Test TCP"))
|
Expect(policyReq.Name).To(Equal("Test TCP"))
|
||||||
Expect(policyReq.Description).To(Or(BeNil(), BeEquivalentTo(util.Ptr(""))))
|
Expect(policyReq.Description).To(Or(BeNil(), BeEquivalentTo(new(""))))
|
||||||
Expect(policyReq.Enabled).To(BeTrue())
|
Expect(policyReq.Enabled).To(BeTrue())
|
||||||
Expect(policyReq.SourcePostureChecks).To(BeNil())
|
Expect(policyReq.SourcePostureChecks).To(BeNil())
|
||||||
Expect(policyReq.Rules).To(HaveLen(1))
|
Expect(policyReq.Rules).To(HaveLen(1))
|
||||||
Expect(policyReq.Rules[0].Action).To(BeEquivalentTo(api.PolicyRuleActionAccept))
|
Expect(policyReq.Rules[0].Action).To(BeEquivalentTo(api.PolicyRuleActionAccept))
|
||||||
Expect(policyReq.Rules[0].Bidirectional).To(BeTrue())
|
Expect(policyReq.Rules[0].Bidirectional).To(BeTrue())
|
||||||
Expect(policyReq.Rules[0].Description).To(Or(BeNil(), BeEquivalentTo(util.Ptr(""))))
|
Expect(policyReq.Rules[0].Description).To(Or(BeNil(), BeEquivalentTo(new(""))))
|
||||||
Expect(policyReq.Rules[0].DestinationResource).To(BeNil())
|
Expect(policyReq.Rules[0].DestinationResource).To(BeNil())
|
||||||
Expect(policyReq.Rules[0].Destinations).NotTo(BeNil())
|
Expect(policyReq.Rules[0].Destinations).NotTo(BeNil())
|
||||||
Expect(*policyReq.Rules[0].Destinations).To(HaveLen(2))
|
Expect(*policyReq.Rules[0].Destinations).To(HaveLen(2))
|
||||||
@@ -594,8 +593,8 @@ var _ = Describe("NBPolicy Controller", func() {
|
|||||||
Netbird: netbirdClient,
|
Netbird: netbirdClient,
|
||||||
}
|
}
|
||||||
|
|
||||||
nbpolicy.Status.TCPPolicyID = util.Ptr("policyidtcp")
|
nbpolicy.Status.TCPPolicyID = new("policyidtcp")
|
||||||
nbpolicy.Status.UDPPolicyID = util.Ptr("policyidudp")
|
nbpolicy.Status.UDPPolicyID = new("policyidudp")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbpolicy)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbpolicy)).To(Succeed())
|
||||||
|
|
||||||
Expect(k8sClient.Delete(ctx, nbpolicy)).To(Succeed())
|
Expect(k8sClient.Delete(ctx, nbpolicy)).To(Succeed())
|
||||||
|
|||||||
@@ -533,7 +533,7 @@ func (r *NBResourceReconciler) handleGroups(ctx context.Context, req ctrl.Reques
|
|||||||
Kind: "NBResource",
|
Kind: "NBResource",
|
||||||
Name: nbResource.Name,
|
Name: nbResource.Name,
|
||||||
UID: nbResource.UID,
|
UID: nbResource.UID,
|
||||||
BlockOwnerDeletion: util.Ptr(true),
|
BlockOwnerDeletion: new(true),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Finalizers: []string{"netbird.io/group-cleanup", "netbird.io/resource-cleanup"},
|
Finalizers: []string{"netbird.io/group-cleanup", "netbird.io/resource-cleanup"},
|
||||||
@@ -566,7 +566,7 @@ func (r *NBResourceReconciler) handleGroups(ctx context.Context, req ctrl.Reques
|
|||||||
Kind: "NBResource",
|
Kind: "NBResource",
|
||||||
Name: nbResource.Name,
|
Name: nbResource.Name,
|
||||||
UID: nbResource.UID,
|
UID: nbResource.UID,
|
||||||
BlockOwnerDeletion: util.Ptr(true),
|
BlockOwnerDeletion: new(true),
|
||||||
})
|
})
|
||||||
|
|
||||||
err = r.Client.Update(ctx, &nbGroup)
|
err = r.Client.Update(ctx, &nbGroup)
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ import (
|
|||||||
"github.com/netbirdio/netbird/shared/management/http/api"
|
"github.com/netbirdio/netbird/shared/management/http/api"
|
||||||
|
|
||||||
nbv1 "github.com/netbirdio/kubernetes-operator/api/v1"
|
nbv1 "github.com/netbirdio/kubernetes-operator/api/v1"
|
||||||
"github.com/netbirdio/kubernetes-operator/internal/util"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ = Describe("NBResource Controller", func() {
|
var _ = Describe("NBResource Controller", func() {
|
||||||
@@ -128,7 +127,7 @@ var _ = Describe("NBResource Controller", func() {
|
|||||||
nbGroup := &nbv1.NBGroup{}
|
nbGroup := &nbv1.NBGroup{}
|
||||||
Expect(k8sClient.Get(ctx, types.NamespacedName{Namespace: "default", Name: "meow"}, nbGroup)).To(Succeed())
|
Expect(k8sClient.Get(ctx, types.NamespacedName{Namespace: "default", Name: "meow"}, nbGroup)).To(Succeed())
|
||||||
Expect(nbGroup.Labels).To(HaveKeyWithValue("dog", "bark"))
|
Expect(nbGroup.Labels).To(HaveKeyWithValue("dog", "bark"))
|
||||||
nbGroup.Status.GroupID = util.Ptr("test")
|
nbGroup.Status.GroupID = new("test")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbGroup)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbGroup)).To(Succeed())
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -180,7 +179,7 @@ var _ = Describe("NBResource Controller", func() {
|
|||||||
})
|
})
|
||||||
When("Network Resource exists", func() {
|
When("Network Resource exists", func() {
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
nbresource.Status.NetworkResourceID = util.Ptr("test")
|
nbresource.Status.NetworkResourceID = new("test")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbresource)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbresource)).To(Succeed())
|
||||||
|
|
||||||
nbGroup := &nbv1.NBGroup{
|
nbGroup := &nbv1.NBGroup{
|
||||||
@@ -203,7 +202,7 @@ var _ = Describe("NBResource Controller", func() {
|
|||||||
}
|
}
|
||||||
Expect(k8sClient.Create(ctx, nbGroup)).To(Succeed())
|
Expect(k8sClient.Create(ctx, nbGroup)).To(Succeed())
|
||||||
|
|
||||||
nbGroup.Status.GroupID = util.Ptr("test")
|
nbGroup.Status.GroupID = new("test")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbGroup)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbGroup)).To(Succeed())
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -282,7 +281,7 @@ var _ = Describe("NBResource Controller", func() {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
nbresource.Status.NetworkResourceID = util.Ptr("test")
|
nbresource.Status.NetworkResourceID = new("test")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbresource)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbresource)).To(Succeed())
|
||||||
|
|
||||||
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
||||||
@@ -378,7 +377,7 @@ var _ = Describe("NBResource Controller", func() {
|
|||||||
nbresource.Spec.PolicyName = "test-b"
|
nbresource.Spec.PolicyName = "test-b"
|
||||||
Expect(k8sClient.Update(ctx, nbresource)).To(Succeed())
|
Expect(k8sClient.Update(ctx, nbresource)).To(Succeed())
|
||||||
|
|
||||||
nbresource.Status.PolicyName = util.Ptr("test-a")
|
nbresource.Status.PolicyName = new("test-a")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbresource)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbresource)).To(Succeed())
|
||||||
|
|
||||||
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
||||||
@@ -406,7 +405,7 @@ var _ = Describe("NBResource Controller", func() {
|
|||||||
nbresource.Spec.PolicyName = ""
|
nbresource.Spec.PolicyName = ""
|
||||||
Expect(k8sClient.Update(ctx, nbresource)).To(Succeed())
|
Expect(k8sClient.Update(ctx, nbresource)).To(Succeed())
|
||||||
|
|
||||||
nbresource.Status.PolicyName = util.Ptr("test-a")
|
nbresource.Status.PolicyName = new("test-a")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbresource)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbresource)).To(Succeed())
|
||||||
|
|
||||||
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
||||||
@@ -705,7 +704,7 @@ var _ = Describe("NBResource Controller", func() {
|
|||||||
nbresource.Spec.PolicyName = "test-b,test-c"
|
nbresource.Spec.PolicyName = "test-b,test-c"
|
||||||
Expect(k8sClient.Update(ctx, nbresource)).To(Succeed())
|
Expect(k8sClient.Update(ctx, nbresource)).To(Succeed())
|
||||||
|
|
||||||
nbresource.Status.PolicyName = util.Ptr("test-a,test-b")
|
nbresource.Status.PolicyName = new("test-a,test-b")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbresource)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbresource)).To(Succeed())
|
||||||
|
|
||||||
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
||||||
@@ -732,7 +731,7 @@ var _ = Describe("NBResource Controller", func() {
|
|||||||
nbresource.Spec.PolicyName = ""
|
nbresource.Spec.PolicyName = ""
|
||||||
Expect(k8sClient.Update(ctx, nbresource)).To(Succeed())
|
Expect(k8sClient.Update(ctx, nbresource)).To(Succeed())
|
||||||
|
|
||||||
nbresource.Status.PolicyName = util.Ptr("test-b,test-c")
|
nbresource.Status.PolicyName = new("test-b,test-c")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbresource)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbresource)).To(Succeed())
|
||||||
|
|
||||||
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
||||||
@@ -870,8 +869,8 @@ var _ = Describe("NBResource Controller", func() {
|
|||||||
nbresource.Spec.Groups = []string{"meow", "meowdelete"}
|
nbresource.Spec.Groups = []string{"meow", "meowdelete"}
|
||||||
Expect(k8sClient.Update(ctx, nbresource)).To(Succeed())
|
Expect(k8sClient.Update(ctx, nbresource)).To(Succeed())
|
||||||
nbresource.Status.Groups = []string{"test", "testdelete"}
|
nbresource.Status.Groups = []string{"test", "testdelete"}
|
||||||
nbresource.Status.PolicyName = util.Ptr("test")
|
nbresource.Status.PolicyName = new("test")
|
||||||
nbresource.Status.NetworkResourceID = util.Ptr("test")
|
nbresource.Status.NetworkResourceID = new("test")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbresource)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbresource)).To(Succeed())
|
||||||
|
|
||||||
nbPolicy := &nbv1.NBPolicy{
|
nbPolicy := &nbv1.NBPolicy{
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ func (r *NBRoutingPeerReconciler) handleDeployment(ctx context.Context, req ctrl
|
|||||||
Kind: "NBRoutingPeer",
|
Kind: "NBRoutingPeer",
|
||||||
Name: nbrp.Name,
|
Name: nbrp.Name,
|
||||||
UID: nbrp.UID,
|
UID: nbrp.UID,
|
||||||
BlockOwnerDeletion: util.Ptr(true),
|
BlockOwnerDeletion: new(true),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Labels: labels,
|
Labels: labels,
|
||||||
@@ -215,7 +215,7 @@ func (r *NBRoutingPeerReconciler) handleDeployment(ctx context.Context, req ctrl
|
|||||||
Kind: "NBRoutingPeer",
|
Kind: "NBRoutingPeer",
|
||||||
Name: nbrp.Name,
|
Name: nbrp.Name,
|
||||||
UID: nbrp.UID,
|
UID: nbrp.UID,
|
||||||
BlockOwnerDeletion: util.Ptr(true),
|
BlockOwnerDeletion: new(true),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
updatedDeployment.ObjectMeta.Labels = labels
|
updatedDeployment.ObjectMeta.Labels = labels
|
||||||
@@ -345,7 +345,7 @@ func (r *NBRoutingPeerReconciler) handleSetupKey(ctx context.Context, req ctrl.R
|
|||||||
// Create new setup key with group Status.GroupID
|
// Create new setup key with group Status.GroupID
|
||||||
setupKey, err := r.Netbird.SetupKeys.Create(ctx, api.CreateSetupKeyRequest{
|
setupKey, err := r.Netbird.SetupKeys.Create(ctx, api.CreateSetupKeyRequest{
|
||||||
AutoGroups: []string{*nbGroup.Status.GroupID},
|
AutoGroups: []string{*nbGroup.Status.GroupID},
|
||||||
Ephemeral: util.Ptr(true),
|
Ephemeral: new(true),
|
||||||
Name: networkName,
|
Name: networkName,
|
||||||
Type: "reusable",
|
Type: "reusable",
|
||||||
})
|
})
|
||||||
@@ -368,7 +368,7 @@ func (r *NBRoutingPeerReconciler) handleSetupKey(ctx context.Context, req ctrl.R
|
|||||||
Kind: "NBRoutingPeer",
|
Kind: "NBRoutingPeer",
|
||||||
Name: nbrp.Name,
|
Name: nbrp.Name,
|
||||||
UID: nbrp.UID,
|
UID: nbrp.UID,
|
||||||
BlockOwnerDeletion: util.Ptr(true),
|
BlockOwnerDeletion: new(true),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Labels: r.DefaultLabels,
|
Labels: r.DefaultLabels,
|
||||||
@@ -478,7 +478,7 @@ func (r *NBRoutingPeerReconciler) handleGroup(ctx context.Context, req ctrl.Requ
|
|||||||
Kind: "NBRoutingPeer",
|
Kind: "NBRoutingPeer",
|
||||||
Name: nbrp.Name,
|
Name: nbrp.Name,
|
||||||
UID: nbrp.UID,
|
UID: nbrp.UID,
|
||||||
BlockOwnerDeletion: util.Ptr(true),
|
BlockOwnerDeletion: new(true),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Finalizers: []string{"netbird.io/group-cleanup", "netbird.io/routing-peer-cleanup"},
|
Finalizers: []string{"netbird.io/group-cleanup", "netbird.io/routing-peer-cleanup"},
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import (
|
|||||||
"github.com/netbirdio/netbird/shared/management/http/api"
|
"github.com/netbirdio/netbird/shared/management/http/api"
|
||||||
|
|
||||||
nbv1 "github.com/netbirdio/kubernetes-operator/api/v1"
|
nbv1 "github.com/netbirdio/kubernetes-operator/api/v1"
|
||||||
"github.com/netbirdio/kubernetes-operator/internal/util"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ = Describe("NBRoutingPeer Controller", func() {
|
var _ = Describe("NBRoutingPeer Controller", func() {
|
||||||
@@ -67,7 +66,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
Finalizers: []string{"netbird.io/cleanup"},
|
Finalizers: []string{"netbird.io/cleanup"},
|
||||||
},
|
},
|
||||||
Spec: nbv1.NBRoutingPeerSpec{
|
Spec: nbv1.NBRoutingPeerSpec{
|
||||||
Replicas: util.Ptr(int32(0)),
|
Replicas: new(int32(0)),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
Expect(k8sClient.Create(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Create(ctx, nbroutingpeer)).To(Succeed())
|
||||||
@@ -227,7 +226,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
nbroutingpeer.Status.NetworkID = util.Ptr("test")
|
nbroutingpeer.Status.NetworkID = new("test")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
||||||
})
|
})
|
||||||
Describe("Network Router changes", func() {
|
Describe("Network Router changes", func() {
|
||||||
@@ -243,10 +242,10 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
}
|
}
|
||||||
Expect(k8sClient.Create(ctx, group)).To(Succeed())
|
Expect(k8sClient.Create(ctx, group)).To(Succeed())
|
||||||
|
|
||||||
group.Status.GroupID = util.Ptr("test")
|
group.Status.GroupID = new("test")
|
||||||
Expect(k8sClient.Status().Update(ctx, group)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, group)).To(Succeed())
|
||||||
|
|
||||||
nbroutingpeer.Status.SetupKeyID = util.Ptr("skid")
|
nbroutingpeer.Status.SetupKeyID = new("skid")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
||||||
|
|
||||||
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
|
||||||
@@ -324,7 +323,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
})
|
})
|
||||||
When("Network Router is out-of-date", func() {
|
When("Network Router is out-of-date", func() {
|
||||||
It("should update network router", func() {
|
It("should update network router", func() {
|
||||||
nbroutingpeer.Status.RouterID = util.Ptr("test")
|
nbroutingpeer.Status.RouterID = new("test")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
||||||
|
|
||||||
routerUpdated := false
|
routerUpdated := false
|
||||||
@@ -389,7 +388,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
})
|
})
|
||||||
When("Network Router exists", func() {
|
When("Network Router exists", func() {
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
nbroutingpeer.Status.RouterID = util.Ptr("test")
|
nbroutingpeer.Status.RouterID = new("test")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
||||||
|
|
||||||
mux.HandleFunc("/api/networks/test/routers", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/networks/test/routers", func(w http.ResponseWriter, r *http.Request) {
|
||||||
@@ -413,7 +412,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
})
|
})
|
||||||
When("Group doesn't exist", func() {
|
When("Group doesn't exist", func() {
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
nbroutingpeer.Status.SetupKeyID = util.Ptr("skid")
|
nbroutingpeer.Status.SetupKeyID = new("skid")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
||||||
|
|
||||||
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
|
||||||
@@ -452,7 +451,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
Expect(group.Spec.Name).To(Equal(controllerReconciler.ClusterName))
|
Expect(group.Spec.Name).To(Equal(controllerReconciler.ClusterName))
|
||||||
Expect(group.Labels).To(HaveKeyWithValue("dog", "bark"))
|
Expect(group.Labels).To(HaveKeyWithValue("dog", "bark"))
|
||||||
|
|
||||||
group.Status.GroupID = util.Ptr("test")
|
group.Status.GroupID = new("test")
|
||||||
Expect(k8sClient.Status().Update(ctx, group)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, group)).To(Succeed())
|
||||||
|
|
||||||
_, err = controllerReconciler.Reconcile(ctx, reconcile.Request{
|
_, err = controllerReconciler.Reconcile(ctx, reconcile.Request{
|
||||||
@@ -475,7 +474,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
}
|
}
|
||||||
Expect(k8sClient.Create(ctx, group)).To(Succeed())
|
Expect(k8sClient.Create(ctx, group)).To(Succeed())
|
||||||
|
|
||||||
group.Status.GroupID = util.Ptr("test")
|
group.Status.GroupID = new("test")
|
||||||
Expect(k8sClient.Status().Update(ctx, group)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, group)).To(Succeed())
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -492,7 +491,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
Expect(json.Unmarshal(bs, &req)).To(Succeed())
|
Expect(json.Unmarshal(bs, &req)).To(Succeed())
|
||||||
Expect(req.AutoGroups).To(ConsistOf([]string{"test"}))
|
Expect(req.AutoGroups).To(ConsistOf([]string{"test"}))
|
||||||
Expect(req.Ephemeral).To(BeEquivalentTo(util.Ptr(true)))
|
Expect(req.Ephemeral).To(BeEquivalentTo(new(true)))
|
||||||
Expect(req.ExpiresIn).To(BeZero())
|
Expect(req.ExpiresIn).To(BeZero())
|
||||||
Expect(req.Name).To(Equal(controllerReconciler.ClusterName))
|
Expect(req.Name).To(Equal(controllerReconciler.ClusterName))
|
||||||
Expect(req.Type).To(Equal("reusable"))
|
Expect(req.Type).To(Equal("reusable"))
|
||||||
@@ -535,7 +534,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
Expect(json.Unmarshal(bs, &req)).To(Succeed())
|
Expect(json.Unmarshal(bs, &req)).To(Succeed())
|
||||||
Expect(req.AutoGroups).To(ConsistOf([]string{"test"}))
|
Expect(req.AutoGroups).To(ConsistOf([]string{"test"}))
|
||||||
Expect(req.Ephemeral).To(BeEquivalentTo(util.Ptr(true)))
|
Expect(req.Ephemeral).To(BeEquivalentTo(new(true)))
|
||||||
Expect(req.ExpiresIn).To(BeZero())
|
Expect(req.ExpiresIn).To(BeZero())
|
||||||
Expect(req.Name).To(Equal(controllerReconciler.ClusterName))
|
Expect(req.Name).To(Equal(controllerReconciler.ClusterName))
|
||||||
Expect(req.Type).To(Equal("reusable"))
|
Expect(req.Type).To(Equal("reusable"))
|
||||||
@@ -575,7 +574,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
nbroutingpeer.Status.SetupKeyID = util.Ptr("skid")
|
nbroutingpeer.Status.SetupKeyID = new("skid")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
||||||
|
|
||||||
res, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
res, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
||||||
@@ -609,7 +608,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
Expect(json.Unmarshal(bs, &req)).To(Succeed())
|
Expect(json.Unmarshal(bs, &req)).To(Succeed())
|
||||||
Expect(req.AutoGroups).To(ConsistOf([]string{"test"}))
|
Expect(req.AutoGroups).To(ConsistOf([]string{"test"}))
|
||||||
Expect(req.Ephemeral).To(BeEquivalentTo(util.Ptr(true)))
|
Expect(req.Ephemeral).To(BeEquivalentTo(new(true)))
|
||||||
Expect(req.ExpiresIn).To(BeZero())
|
Expect(req.ExpiresIn).To(BeZero())
|
||||||
Expect(req.Name).To(Equal(controllerReconciler.ClusterName))
|
Expect(req.Name).To(Equal(controllerReconciler.ClusterName))
|
||||||
Expect(req.Type).To(Equal("reusable"))
|
Expect(req.Type).To(Equal("reusable"))
|
||||||
@@ -649,7 +648,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
nbroutingpeer.Status.SetupKeyID = util.Ptr("skid")
|
nbroutingpeer.Status.SetupKeyID = new("skid")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
||||||
|
|
||||||
secret := &corev1.Secret{
|
secret := &corev1.Secret{
|
||||||
@@ -694,7 +693,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
Expect(json.Unmarshal(bs, &req)).To(Succeed())
|
Expect(json.Unmarshal(bs, &req)).To(Succeed())
|
||||||
Expect(req.AutoGroups).To(ConsistOf([]string{"test"}))
|
Expect(req.AutoGroups).To(ConsistOf([]string{"test"}))
|
||||||
Expect(req.Ephemeral).To(BeEquivalentTo(util.Ptr(true)))
|
Expect(req.Ephemeral).To(BeEquivalentTo(new(true)))
|
||||||
Expect(req.ExpiresIn).To(BeZero())
|
Expect(req.ExpiresIn).To(BeZero())
|
||||||
Expect(req.Name).To(Equal(controllerReconciler.ClusterName))
|
Expect(req.Name).To(Equal(controllerReconciler.ClusterName))
|
||||||
Expect(req.Type).To(Equal("reusable"))
|
Expect(req.Type).To(Equal("reusable"))
|
||||||
@@ -729,7 +728,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
nbroutingpeer.Status.SetupKeyID = util.Ptr("skid")
|
nbroutingpeer.Status.SetupKeyID = new("skid")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
||||||
|
|
||||||
secret := &corev1.Secret{
|
secret := &corev1.Secret{
|
||||||
@@ -784,7 +783,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
nbroutingpeer.Status.SetupKeyID = util.Ptr("skid")
|
nbroutingpeer.Status.SetupKeyID = new("skid")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
||||||
|
|
||||||
secret := &corev1.Secret{
|
secret := &corev1.Secret{
|
||||||
@@ -814,7 +813,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
})
|
})
|
||||||
Describe("Deployment Behavior", func() {
|
Describe("Deployment Behavior", func() {
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
nbroutingpeer.Status.SetupKeyID = util.Ptr("skid")
|
nbroutingpeer.Status.SetupKeyID = new("skid")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
||||||
|
|
||||||
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
|
||||||
@@ -851,7 +850,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
deployment := &appsv1.Deployment{}
|
deployment := &appsv1.Deployment{}
|
||||||
Expect(k8sClient.Get(ctx, typeNamespacedName, deployment)).To(Succeed())
|
Expect(k8sClient.Get(ctx, typeNamespacedName, deployment)).To(Succeed())
|
||||||
Expect(deployment.OwnerReferences).To(HaveLen(1))
|
Expect(deployment.OwnerReferences).To(HaveLen(1))
|
||||||
Expect(deployment.Spec.Replicas).To(BeEquivalentTo(util.Ptr(int32(0))))
|
Expect(deployment.Spec.Replicas).To(BeEquivalentTo(new(int32(0))))
|
||||||
Expect(deployment.Spec.Template.Spec.Containers).To(HaveLen(1))
|
Expect(deployment.Spec.Template.Spec.Containers).To(HaveLen(1))
|
||||||
Expect(deployment.Spec.Template.Spec.Containers[0].Image).To(Equal(controllerReconciler.ClientImage))
|
Expect(deployment.Spec.Template.Spec.Containers[0].Image).To(Equal(controllerReconciler.ClientImage))
|
||||||
})
|
})
|
||||||
@@ -884,7 +883,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
|
|
||||||
deployment := &appsv1.Deployment{}
|
deployment := &appsv1.Deployment{}
|
||||||
Expect(k8sClient.Get(ctx, typeNamespacedName, deployment)).To(Succeed())
|
Expect(k8sClient.Get(ctx, typeNamespacedName, deployment)).To(Succeed())
|
||||||
deployment.Spec.Replicas = util.Ptr(int32(15))
|
deployment.Spec.Replicas = new(int32(15))
|
||||||
Expect(k8sClient.Update(ctx, deployment)).To(Succeed())
|
Expect(k8sClient.Update(ctx, deployment)).To(Succeed())
|
||||||
|
|
||||||
_, err = controllerReconciler.Reconcile(ctx, reconcile.Request{
|
_, err = controllerReconciler.Reconcile(ctx, reconcile.Request{
|
||||||
@@ -893,7 +892,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
deployment = &appsv1.Deployment{}
|
deployment = &appsv1.Deployment{}
|
||||||
Expect(k8sClient.Get(ctx, typeNamespacedName, deployment)).To(Succeed())
|
Expect(k8sClient.Get(ctx, typeNamespacedName, deployment)).To(Succeed())
|
||||||
Expect(deployment.Spec.Replicas).To(BeEquivalentTo(util.Ptr(int32(0))))
|
Expect(deployment.Spec.Replicas).To(BeEquivalentTo(new(int32(0))))
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
When("Deployment is up-to-date", func() {
|
When("Deployment is up-to-date", func() {
|
||||||
@@ -920,7 +919,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
When("Privileged mode is enabled", func() {
|
When("Privileged mode is enabled", func() {
|
||||||
It("should create deployment with privileged security context", func() {
|
It("should create deployment with privileged security context", func() {
|
||||||
Expect(k8sClient.Get(ctx, typeNamespacedName, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Get(ctx, typeNamespacedName, nbroutingpeer)).To(Succeed())
|
||||||
nbroutingpeer.Spec.Privileged = util.Ptr(true)
|
nbroutingpeer.Spec.Privileged = new(true)
|
||||||
Expect(k8sClient.Update(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Update(ctx, nbroutingpeer)).To(Succeed())
|
||||||
|
|
||||||
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
||||||
@@ -944,7 +943,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
When("Privileged mode is disabled", func() {
|
When("Privileged mode is disabled", func() {
|
||||||
It("should create deployment with non-privileged security context", func() {
|
It("should create deployment with non-privileged security context", func() {
|
||||||
Expect(k8sClient.Get(ctx, typeNamespacedName, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Get(ctx, typeNamespacedName, nbroutingpeer)).To(Succeed())
|
||||||
nbroutingpeer.Spec.Privileged = util.Ptr(false)
|
nbroutingpeer.Spec.Privileged = new(false)
|
||||||
Expect(k8sClient.Update(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Update(ctx, nbroutingpeer)).To(Succeed())
|
||||||
|
|
||||||
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
||||||
@@ -1004,7 +1003,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
|
|
||||||
// Enable privileged mode
|
// Enable privileged mode
|
||||||
Expect(k8sClient.Get(ctx, typeNamespacedName, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Get(ctx, typeNamespacedName, nbroutingpeer)).To(Succeed())
|
||||||
nbroutingpeer.Spec.Privileged = util.Ptr(true)
|
nbroutingpeer.Spec.Privileged = new(true)
|
||||||
Expect(k8sClient.Update(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Update(ctx, nbroutingpeer)).To(Succeed())
|
||||||
|
|
||||||
_, err = controllerReconciler.Reconcile(ctx, reconcile.Request{
|
_, err = controllerReconciler.Reconcile(ctx, reconcile.Request{
|
||||||
@@ -1022,7 +1021,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
|
|
||||||
It("should update deployment security context when privileged mode is disabled", func() {
|
It("should update deployment security context when privileged mode is disabled", func() {
|
||||||
// First create deployment with privileged mode enabled
|
// First create deployment with privileged mode enabled
|
||||||
nbroutingpeer.Spec.Privileged = util.Ptr(true)
|
nbroutingpeer.Spec.Privileged = new(true)
|
||||||
Expect(k8sClient.Update(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Update(ctx, nbroutingpeer)).To(Succeed())
|
||||||
|
|
||||||
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
_, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
|
||||||
@@ -1039,7 +1038,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
|
|
||||||
// Disable privileged mode
|
// Disable privileged mode
|
||||||
Expect(k8sClient.Get(ctx, typeNamespacedName, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Get(ctx, typeNamespacedName, nbroutingpeer)).To(Succeed())
|
||||||
nbroutingpeer.Spec.Privileged = util.Ptr(false)
|
nbroutingpeer.Spec.Privileged = new(false)
|
||||||
Expect(k8sClient.Update(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Update(ctx, nbroutingpeer)).To(Succeed())
|
||||||
|
|
||||||
_, err = controllerReconciler.Reconcile(ctx, reconcile.Request{
|
_, err = controllerReconciler.Reconcile(ctx, reconcile.Request{
|
||||||
@@ -1059,7 +1058,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
networkDeleted := false
|
networkDeleted := false
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
networkDeleted = false
|
networkDeleted = false
|
||||||
nbroutingpeer.Status.SetupKeyID = util.Ptr("skid")
|
nbroutingpeer.Status.SetupKeyID = new("skid")
|
||||||
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbroutingpeer)).To(Succeed())
|
||||||
|
|
||||||
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ import (
|
|||||||
kerrors "k8s.io/apimachinery/pkg/api/errors"
|
kerrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/utils/ptr"
|
|
||||||
ctrl "sigs.k8s.io/controller-runtime"
|
ctrl "sigs.k8s.io/controller-runtime"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/builder"
|
"sigs.k8s.io/controller-runtime/pkg/builder"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||||
@@ -126,7 +125,7 @@ func (r *NetworkResourceReconciler) Reconcile(ctx context.Context, req ctrl.Requ
|
|||||||
resourceID, err := func() (string, error) {
|
resourceID, err := func() (string, error) {
|
||||||
netReq := api.NetworkResourceRequest{
|
netReq := api.NetworkResourceRequest{
|
||||||
Name: string(netResource.UID),
|
Name: string(netResource.UID),
|
||||||
Description: ptr.To(svc.Name + "/" + svc.Namespace),
|
Description: new(svc.Name + "/" + svc.Namespace),
|
||||||
Address: svc.Spec.ClusterIP,
|
Address: svc.Spec.ClusterIP,
|
||||||
Enabled: true,
|
Enabled: true,
|
||||||
Groups: groupIDs,
|
Groups: groupIDs,
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import (
|
|||||||
corev1ac "k8s.io/client-go/applyconfigurations/core/v1"
|
corev1ac "k8s.io/client-go/applyconfigurations/core/v1"
|
||||||
metav1ac "k8s.io/client-go/applyconfigurations/meta/v1"
|
metav1ac "k8s.io/client-go/applyconfigurations/meta/v1"
|
||||||
policyv1ac "k8s.io/client-go/applyconfigurations/policy/v1"
|
policyv1ac "k8s.io/client-go/applyconfigurations/policy/v1"
|
||||||
"k8s.io/utils/ptr"
|
|
||||||
ctrl "sigs.k8s.io/controller-runtime"
|
ctrl "sigs.k8s.io/controller-runtime"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
|
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
|
||||||
@@ -166,7 +165,7 @@ func (r *NetworkRouterReconciler) Reconcile(ctx context.Context, req ctrl.Reques
|
|||||||
Enabled: true,
|
Enabled: true,
|
||||||
Masquerade: true,
|
Masquerade: true,
|
||||||
Metric: 9999,
|
Metric: 9999,
|
||||||
PeerGroups: ptr.To([]string{group.Status.GroupID}),
|
PeerGroups: new([]string{group.Status.GroupID}),
|
||||||
}
|
}
|
||||||
if netRouter.Status.RoutingPeerID != "" {
|
if netRouter.Status.RoutingPeerID != "" {
|
||||||
resp, err := r.Netbird.Networks.Routers(networkID).Update(ctx, netRouter.Status.RoutingPeerID, routerReq)
|
resp, err := r.Netbird.Networks.Routers(networkID).Update(ctx, netRouter.Status.RoutingPeerID, routerReq)
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ import (
|
|||||||
"sigs.k8s.io/controller-runtime/pkg/reconcile"
|
"sigs.k8s.io/controller-runtime/pkg/reconcile"
|
||||||
|
|
||||||
nbv1 "github.com/netbirdio/kubernetes-operator/api/v1"
|
nbv1 "github.com/netbirdio/kubernetes-operator/api/v1"
|
||||||
"github.com/netbirdio/kubernetes-operator/internal/util"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ = Describe("Service Controller", func() {
|
var _ = Describe("Service Controller", func() {
|
||||||
@@ -153,7 +152,7 @@ var _ = Describe("Service Controller", func() {
|
|||||||
})
|
})
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
Expect(res.RequeueAfter).NotTo(BeZero())
|
Expect(res.RequeueAfter).NotTo(BeZero())
|
||||||
nbrp.Status.NetworkID = util.Ptr(policyName)
|
nbrp.Status.NetworkID = new(policyName)
|
||||||
Expect(k8sClient.Status().Update(ctx, nbrp)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbrp)).To(Succeed())
|
||||||
res, err = controllerReconciler.Reconcile(ctx, reconcile.Request{
|
res, err = controllerReconciler.Reconcile(ctx, reconcile.Request{
|
||||||
NamespacedName: typeNamespacedName,
|
NamespacedName: typeNamespacedName,
|
||||||
@@ -173,7 +172,7 @@ var _ = Describe("Service Controller", func() {
|
|||||||
}
|
}
|
||||||
Expect(k8sClient.Create(ctx, nbrp)).To(Succeed())
|
Expect(k8sClient.Create(ctx, nbrp)).To(Succeed())
|
||||||
|
|
||||||
nbrp.Status.NetworkID = util.Ptr(policyName)
|
nbrp.Status.NetworkID = new(policyName)
|
||||||
Expect(k8sClient.Status().Update(ctx, nbrp)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbrp)).To(Succeed())
|
||||||
})
|
})
|
||||||
When("Service should be exposed", func() {
|
When("Service should be exposed", func() {
|
||||||
@@ -321,7 +320,7 @@ var _ = Describe("Service Controller", func() {
|
|||||||
}
|
}
|
||||||
Expect(k8sClient.Create(ctx, nbrp)).To(Succeed())
|
Expect(k8sClient.Create(ctx, nbrp)).To(Succeed())
|
||||||
|
|
||||||
nbrp.Status.NetworkID = util.Ptr(policyName)
|
nbrp.Status.NetworkID = new(policyName)
|
||||||
Expect(k8sClient.Status().Update(ctx, nbrp)).To(Succeed())
|
Expect(k8sClient.Status().Update(ctx, nbrp)).To(Succeed())
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import (
|
|||||||
corev1 "k8s.io/api/core/v1"
|
corev1 "k8s.io/api/core/v1"
|
||||||
kerrors "k8s.io/apimachinery/pkg/api/errors"
|
kerrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
corev1ac "k8s.io/client-go/applyconfigurations/core/v1"
|
corev1ac "k8s.io/client-go/applyconfigurations/core/v1"
|
||||||
"k8s.io/utils/ptr"
|
|
||||||
ctrl "sigs.k8s.io/controller-runtime"
|
ctrl "sigs.k8s.io/controller-runtime"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
|
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
|
||||||
@@ -126,9 +125,9 @@ func (r *SetupKeyReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
|
|||||||
expiresIn = int(setupKey.Spec.Duration.Seconds())
|
expiresIn = int(setupKey.Spec.Duration.Seconds())
|
||||||
}
|
}
|
||||||
setupKeyReq := api.PostApiSetupKeysJSONRequestBody{
|
setupKeyReq := api.PostApiSetupKeysJSONRequestBody{
|
||||||
AllowExtraDnsLabels: ptr.To(false),
|
AllowExtraDnsLabels: new(false),
|
||||||
AutoGroups: autoGroupIDs,
|
AutoGroups: autoGroupIDs,
|
||||||
Ephemeral: ptr.To(setupKey.Spec.Ephemeral),
|
Ephemeral: new(setupKey.Spec.Ephemeral),
|
||||||
ExpiresIn: expiresIn,
|
ExpiresIn: expiresIn,
|
||||||
Name: setupKey.Spec.Name,
|
Name: setupKey.Spec.Name,
|
||||||
Type: "reusable",
|
Type: "reusable",
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
// SPDX-License-Identifier: BSD-3-Clause
|
|
||||||
|
|
||||||
package util
|
|
||||||
|
|
||||||
// Ptr return pointer to any value for API purposes
|
|
||||||
func Ptr[T any, PT *T](x T) PT {
|
|
||||||
return &x
|
|
||||||
}
|
|
||||||
+1
-1
@@ -12,7 +12,6 @@ require (
|
|||||||
k8s.io/apimachinery v0.35.3
|
k8s.io/apimachinery v0.35.3
|
||||||
k8s.io/cli-runtime v0.35.2
|
k8s.io/cli-runtime v0.35.2
|
||||||
k8s.io/client-go v0.35.3
|
k8s.io/client-go v0.35.3
|
||||||
k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2
|
|
||||||
sigs.k8s.io/kind v0.31.0
|
sigs.k8s.io/kind v0.31.0
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -145,6 +144,7 @@ require (
|
|||||||
k8s.io/klog/v2 v2.130.1 // indirect
|
k8s.io/klog/v2 v2.130.1 // indirect
|
||||||
k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect
|
k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect
|
||||||
k8s.io/kubectl v0.35.2 // indirect
|
k8s.io/kubectl v0.35.2 // indirect
|
||||||
|
k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 // indirect
|
||||||
oras.land/oras-go/v2 v2.6.0 // indirect
|
oras.land/oras-go/v2 v2.6.0 // indirect
|
||||||
sigs.k8s.io/controller-runtime v0.23.3 // indirect
|
sigs.k8s.io/controller-runtime v0.23.3 // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
|
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
|
||||||
|
|||||||
Reference in New Issue
Block a user