Skip to content

Commit 297aa1b

Browse files
authored
refactor: replace glog in validation/appprotect.go (#6598)
1 parent bcaec96 commit 297aa1b

File tree

5 files changed

+43
-20
lines changed

5 files changed

+43
-20
lines changed

internal/k8s/appprotect/app_protect_configuration.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package appprotect
33
import (
44
"errors"
55
"fmt"
6+
"log/slog"
67
"sort"
78
"time"
89

@@ -116,19 +117,21 @@ type ConfigurationImpl struct {
116117
Policies map[string]*PolicyEx
117118
LogConfs map[string]*LogConfEx
118119
UserSigs map[string]*UserSigEx
120+
Logger *slog.Logger
119121
}
120122

121123
// NewConfiguration creates a new App Protect Configuration
122-
func NewConfiguration() Configuration {
123-
return newConfigurationImpl()
124+
func NewConfiguration(l *slog.Logger) Configuration {
125+
return newConfigurationImpl(l)
124126
}
125127

126128
// NewConfiguration creates a new App Protect Configuration
127-
func newConfigurationImpl() *ConfigurationImpl {
129+
func newConfigurationImpl(l *slog.Logger) *ConfigurationImpl {
128130
return &ConfigurationImpl{
129131
Policies: make(map[string]*PolicyEx),
130132
LogConfs: make(map[string]*LogConfEx),
131133
UserSigs: make(map[string]*UserSigEx),
134+
Logger: l,
132135
}
133136
}
134137

@@ -205,8 +208,8 @@ func (s appProtectUserSigSlice) Swap(i, j int) {
205208
s[i], s[j] = s[j], s[i]
206209
}
207210

208-
func createAppProtectPolicyEx(policyObj *unstructured.Unstructured) (*PolicyEx, error) {
209-
err := validation.ValidateAppProtectPolicy(policyObj)
211+
func createAppProtectPolicyEx(policyObj *unstructured.Unstructured, l *slog.Logger) (*PolicyEx, error) {
212+
err := validation.ValidateAppProtectPolicy(policyObj, l)
210213
if err != nil {
211214
errMsg := fmt.Sprintf("Error validating policy %s: %v", policyObj.GetName(), err)
212215
return &PolicyEx{Obj: policyObj, IsValid: false, ErrorMsg: failedValidationErrorMsg}, errors.New(errMsg)
@@ -347,7 +350,7 @@ func (ci *ConfigurationImpl) verifyPolicyAgainstUserSigs(policy *PolicyEx) bool
347350
// AddOrUpdatePolicy adds or updates an App Protect Policy to App Protect Configuration
348351
func (ci *ConfigurationImpl) AddOrUpdatePolicy(policyObj *unstructured.Unstructured) (changes []Change, problems []Problem) {
349352
resNsName := appprotectcommon.GetNsName(policyObj)
350-
policy, err := createAppProtectPolicyEx(policyObj)
353+
policy, err := createAppProtectPolicyEx(policyObj, ci.Logger)
351354
if err != nil {
352355
ci.Policies[resNsName] = policy
353356
return append(changes, Change{Op: Delete, Resource: policy}),

internal/k8s/appprotect/app_protect_configuration_test.go

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
package appprotect
22

33
import (
4+
"io"
5+
"log/slog"
46
"testing"
57
"time"
68

9+
nic_glog "github.com/nginxinc/kubernetes-ingress/internal/logger/glog"
10+
"github.com/nginxinc/kubernetes-ingress/internal/logger/levels"
11+
712
"github.com/google/go-cmp/cmp"
813
"github.com/google/go-cmp/cmp/cmpopts"
914
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
@@ -178,8 +183,8 @@ func TestCreateAppProtectPolicyEx(t *testing.T) {
178183

179184
for _, test := range tests {
180185
test.expectedPolicyEx.Obj = test.policy
181-
182-
policyEx, err := createAppProtectPolicyEx(test.policy)
186+
l := slog.New(nic_glog.New(io.Discard, &nic_glog.Options{Level: levels.LevelInfo}))
187+
policyEx, err := createAppProtectPolicyEx(test.policy, l)
183188
if (err != nil) != test.wantErr {
184189
t.Errorf("createAppProtectPolicyEx() returned %v, for the case of %s", err, test.msg)
185190
}
@@ -511,7 +516,8 @@ func TestAddOrUpdatePolicy(t *testing.T) {
511516
},
512517
},
513518
}
514-
apc := newConfigurationImpl()
519+
l := slog.New(nic_glog.New(io.Discard, &nic_glog.Options{Level: levels.LevelInfo}))
520+
apc := newConfigurationImpl(l)
515521
apc.UserSigs["testing/TestUsersig"] = &UserSigEx{Tag: "test", RevTime: parseTime("2019-01-01T18:32:02Z"), IsValid: true}
516522
tests := []struct {
517523
policy *unstructured.Unstructured
@@ -643,7 +649,8 @@ func TestAddOrUpdateLogConf(t *testing.T) {
643649
},
644650
},
645651
}
646-
apc := NewConfiguration()
652+
l := slog.New(nic_glog.New(io.Discard, &nic_glog.Options{Level: levels.LevelInfo}))
653+
apc := NewConfiguration(l)
647654
tests := []struct {
648655
logconf *unstructured.Unstructured
649656
expectedChanges []Change
@@ -792,7 +799,8 @@ func TestAddOrUpdateUserSig(t *testing.T) {
792799
},
793800
}
794801

795-
appProtectConfiguration := newConfigurationImpl()
802+
l := slog.New(nic_glog.New(io.Discard, &nic_glog.Options{Level: levels.LevelInfo}))
803+
appProtectConfiguration := newConfigurationImpl(l)
796804
appProtectConfiguration.UserSigs["testing/test1"] = &UserSigEx{
797805
Obj: testUserSig1,
798806
Tag: "test1",
@@ -906,7 +914,8 @@ func TestAddOrUpdateUserSig(t *testing.T) {
906914

907915
func TestDeletePolicy(t *testing.T) {
908916
t.Parallel()
909-
appProtectConfiguration := newConfigurationImpl()
917+
l := slog.New(nic_glog.New(io.Discard, &nic_glog.Options{Level: levels.LevelInfo}))
918+
appProtectConfiguration := newConfigurationImpl(l)
910919
appProtectConfiguration.Policies["testing/test"] = &PolicyEx{}
911920
tests := []struct {
912921
key string
@@ -945,7 +954,8 @@ func TestDeletePolicy(t *testing.T) {
945954

946955
func TestDeleteLogConf(t *testing.T) {
947956
t.Parallel()
948-
appProtectConfiguration := newConfigurationImpl()
957+
l := slog.New(nic_glog.New(io.Discard, &nic_glog.Options{Level: levels.LevelInfo}))
958+
appProtectConfiguration := newConfigurationImpl(l)
949959
appProtectConfiguration.LogConfs["testing/test"] = &LogConfEx{}
950960
tests := []struct {
951961
key string
@@ -1018,7 +1028,8 @@ func TestDeleteUserSig(t *testing.T) {
10181028
},
10191029
},
10201030
}
1021-
appProtectConfiguration := newConfigurationImpl()
1031+
l := slog.New(nic_glog.New(io.Discard, &nic_glog.Options{Level: levels.LevelInfo}))
1032+
appProtectConfiguration := newConfigurationImpl(l)
10221033
appProtectConfiguration.UserSigs["testing/test1"] = &UserSigEx{
10231034
IsValid: true,
10241035
Obj: testUserSig1,
@@ -1165,7 +1176,8 @@ func TestGetAppProtectResource(t *testing.T) {
11651176
msg: "Invalid kind, Negative",
11661177
},
11671178
}
1168-
appProtectConfiguration := newConfigurationImpl()
1179+
l := slog.New(nic_glog.New(io.Discard, &nic_glog.Options{Level: levels.LevelInfo}))
1180+
appProtectConfiguration := newConfigurationImpl(l)
11691181
appProtectConfiguration.Policies["testing/test1"] = &PolicyEx{IsValid: true, Obj: &unstructured.Unstructured{}}
11701182
appProtectConfiguration.Policies["testing/test2"] = &PolicyEx{IsValid: false, Obj: &unstructured.Unstructured{}, ErrorMsg: "validation failed"}
11711183
appProtectConfiguration.LogConfs["testing/test1"] = &LogConfEx{IsValid: true, Obj: &unstructured.Unstructured{}}

internal/k8s/controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ func NewLoadBalancerController(input NewLoadBalancerControllerInput) *LoadBalanc
354354
input.IsIPV6Disabled,
355355
)
356356

357-
lbc.appProtectConfiguration = appprotect.NewConfiguration()
357+
lbc.appProtectConfiguration = appprotect.NewConfiguration(lbc.Logger)
358358
lbc.dosConfiguration = appprotectdos.NewConfiguration(input.AppProtectDosEnabled)
359359

360360
lbc.secretStore = secrets.NewLocalSecretStore(lbc.configurator)

pkg/apis/configuration/validation/appprotect.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@ package validation
22

33
import (
44
"fmt"
5+
"log/slog"
56
"strings"
67

7-
"github.com/golang/glog"
8+
nl "github.com/nginxinc/kubernetes-ingress/internal/logger"
9+
810
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
911
)
1012

@@ -50,7 +52,7 @@ var appProtectPolicyExtRefs = [][]string{
5052
}
5153

5254
// ValidateAppProtectPolicy validates Policy resource
53-
func ValidateAppProtectPolicy(policy *unstructured.Unstructured) error {
55+
func ValidateAppProtectPolicy(policy *unstructured.Unstructured, l *slog.Logger) error {
5456
polName := policy.GetName()
5557

5658
err := ValidateRequiredFields(policy, appProtectPolicyRequiredFields)
@@ -65,7 +67,7 @@ func ValidateAppProtectPolicy(policy *unstructured.Unstructured) error {
6567

6668
if len(extRefs) > 0 {
6769
for _, ref := range extRefs {
68-
glog.V(2).Infof("Warning: Field %s (External reference) is Deprecated.", ref)
70+
nl.Debugf(l, "Warning: Field %s (External reference) is Deprecated.", ref)
6971
}
7072
}
7173

pkg/apis/configuration/validation/appprotect_test.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
package validation
22

33
import (
4+
"io"
5+
"log/slog"
46
"testing"
57

8+
nic_glog "github.com/nginxinc/kubernetes-ingress/internal/logger/glog"
9+
"github.com/nginxinc/kubernetes-ingress/internal/logger/levels"
10+
611
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
712
)
813

@@ -49,7 +54,8 @@ func TestValidateAppProtectPolicy(t *testing.T) {
4954
}
5055

5156
for _, test := range tests {
52-
err := ValidateAppProtectPolicy(test.policy)
57+
l := slog.New(nic_glog.New(io.Discard, &nic_glog.Options{Level: levels.LevelInfo}))
58+
err := ValidateAppProtectPolicy(test.policy, l)
5359
if test.expectErr && err == nil {
5460
t.Errorf("validateAppProtectPolicy() returned no error for the case of %s", test.msg)
5561
}

0 commit comments

Comments
 (0)