diff --git a/cmd/webhook/main_test.go b/cmd/webhook/main_test.go index 8c0349e..45f7d77 100644 --- a/cmd/webhook/main_test.go +++ b/cmd/webhook/main_test.go @@ -7,10 +7,8 @@ import ( "testing" acmetest "github.com/cert-manager/cert-manager/test/acme" - "github.com/go-logr/logr" "github.com/ionos-cloud/cert-manager-webhook-ionos-cloud/internal/resolver" "go.uber.org/zap" - controller_runtime_log "sigs.k8s.io/controller-runtime/pkg/log" ) var zone = os.Getenv("TEST_ZONE_NAME") @@ -24,9 +22,6 @@ func TestBasicConformance(t *testing.T) { t.Fatal(err.Error()) } - // this is to remove a log message warning in controller runtime - controller_runtime_log.SetLogger(logr.New(controller_runtime_log.NullLogSink{})) - solver := resolver.NewResolver("basic-present-record", resolver.DefaultK8FactoryFactory, resolver.DefaultDNSAPIFactory, logger) fixture := acmetest.NewFixture(solver, @@ -47,9 +42,6 @@ func TestExtendedConformance(t *testing.T) { t.Fatal(err.Error()) } - // this is to remove a log message warning in controller runtime - controller_runtime_log.SetLogger(logr.New(controller_runtime_log.NullLogSink{})) - solver := resolver.NewResolver("extended-supports-multiple-same-domain", resolver.DefaultK8FactoryFactory, resolver.DefaultDNSAPIFactory, logger) fixture := acmetest.NewFixture(solver, diff --git a/go.mod b/go.mod index e679f0d..598cdc2 100644 --- a/go.mod +++ b/go.mod @@ -6,11 +6,9 @@ go 1.25.1 // please place any replace statements here at the top for visibility and add a // comment to it as to when it can be removed -replace sigs.k8s.io/structured-merge-diff/v4 => sigs.k8s.io/structured-merge-diff/v4 v4.5.0 require ( github.com/cert-manager/cert-manager v1.18.1 - github.com/go-logr/logr v1.4.3 github.com/ionos-cloud/sdk-go-dns v1.4.0 github.com/stretchr/testify v1.10.0 go.uber.org/zap v1.27.0 @@ -18,8 +16,6 @@ require ( k8s.io/apiextensions-apiserver v0.32.2 k8s.io/apimachinery v0.33.1 k8s.io/client-go v0.33.1 - k8s.io/utils v0.0.0-20250321185631-1f6e0b77f77e - sigs.k8s.io/controller-runtime v0.20.4 ) require ( @@ -211,6 +207,7 @@ require ( github.com/go-git/go-billy/v5 v5.6.1 // indirect github.com/go-git/go-git/v5 v5.13.1 // indirect github.com/go-jose/go-jose/v4 v4.1.0 // indirect + github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-logr/zapr v1.3.0 // indirect github.com/go-openapi/analysis v0.23.0 // indirect @@ -542,10 +539,12 @@ require ( k8s.io/klog/v2 v2.130.1 // indirect k8s.io/kms v0.32.2 // indirect k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect + k8s.io/utils v0.0.0-20250321185631-1f6e0b77f77e // indirect lukechampine.com/blake3 v1.2.1 // indirect mvdan.cc/gofumpt v0.8.0 // indirect mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4 // indirect sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.1 // indirect + sigs.k8s.io/controller-runtime v0.20.4 // indirect sigs.k8s.io/gateway-api v1.1.0 // indirect sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect sigs.k8s.io/kind v0.27.0 // indirect diff --git a/go.sum b/go.sum index 74e8b45..647165c 100644 --- a/go.sum +++ b/go.sum @@ -1710,10 +1710,11 @@ sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7np sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/kind v0.27.0 h1:PQ3f0iAWNIj66LYkZ1ivhEg/+Zb6UPMbO+qVei/INZA= sigs.k8s.io/kind v0.27.0/go.mod h1:RZVFmy6qcwlSWwp6xeIUv7kXCPF3i8MXsEXxW/J+gJY= +sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= -sigs.k8s.io/structured-merge-diff/v4 v4.5.0 h1:nbCitCK2hfnhyiKo6uf2HxUPTCodY6Qaf85SbDIaMBk= -sigs.k8s.io/structured-merge-diff/v4 v4.5.0/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4= +sigs.k8s.io/structured-merge-diff/v4 v4.6.0 h1:IUA9nvMmnKWcj5jl84xn+T5MnlZKThmUW1TdblaLVAc= +sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps= sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= software.sslmate.com/src/go-pkcs12 v0.5.0 h1:EC6R394xgENTpZ4RltKydeDUjtlM5drOYIG9c6TVj2M= diff --git a/internal/resolver/resolver_test.go b/internal/resolver/resolver_test.go index d5510a3..59acaea 100644 --- a/internal/resolver/resolver_test.go +++ b/internal/resolver/resolver_test.go @@ -20,12 +20,10 @@ import ( apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/rest" - "k8s.io/utils/ptr" ) var ( - typeTxtRecord = ptr.To(dnsclient.RecordType("TXT")) - emptyConfig = &apiextensionsv1.JSON{Raw: []byte("{}")} + typeTxtRecord = toPTR(dnsclient.RecordType("TXT")) errK8Client = errors.New("k8 client error") ) @@ -111,11 +109,11 @@ func (s *ResolverTestSuite) TestPresent() { name: "zone already exists", givenZones: []dnsclient.ZoneRead{ { - Id: ptr.To("test-zone-id"), + Id: toPTR("test-zone-id"), Properties: &dnsclient.Zone{ - ZoneName: ptr.To("test.com"), + ZoneName: toPTR("test.com"), }, - Type: ptr.To("NATIVE"), + Type: toPTR("NATIVE"), }, }, givenRecords: []dnsclient.RecordRead{}, @@ -132,20 +130,20 @@ func (s *ResolverTestSuite) TestPresent() { name: "record with the same name and key already exists", givenZones: []dnsclient.ZoneRead{ { - Id: ptr.To("test-zone-id"), + Id: toPTR("test-zone-id"), Properties: &dnsclient.Zone{ - ZoneName: ptr.To("test.com"), + ZoneName: toPTR("test.com"), }, - Type: ptr.To("NATIVE"), + Type: toPTR("NATIVE"), }, }, givenRecords: []dnsclient.RecordRead{ { - Id: ptr.To("test-record-id"), + Id: toPTR("test-record-id"), Properties: &dnsclient.Record{ - Name: ptr.To("_acme-challenge"), + Name: toPTR("_acme-challenge"), Type: typeTxtRecord, - Content: ptr.To("test-key"), + Content: toPTR("test-key"), }, }, }, @@ -162,20 +160,20 @@ func (s *ResolverTestSuite) TestPresent() { name: "record with the same name but different key already exists", givenZones: []dnsclient.ZoneRead{ { - Id: ptr.To("test-zone-id"), + Id: toPTR("test-zone-id"), Properties: &dnsclient.Zone{ - ZoneName: ptr.To("test.com"), + ZoneName: toPTR("test.com"), }, - Type: ptr.To("NATIVE"), + Type: toPTR("NATIVE"), }, }, givenRecords: []dnsclient.RecordRead{ { - Id: ptr.To("test-record-id"), + Id: toPTR("test-record-id"), Properties: &dnsclient.Record{ - Name: ptr.To("_acme-challenge"), + Name: toPTR("_acme-challenge"), Type: typeTxtRecord, - Content: ptr.To("different-key"), + Content: toPTR("different-key"), }, }, }, @@ -205,11 +203,11 @@ func (s *ResolverTestSuite) TestPresent() { name: "error fetching records", givenZones: []dnsclient.ZoneRead{ { - Id: ptr.To("test-zone-id"), + Id: toPTR("test-zone-id"), Properties: &dnsclient.Zone{ - ZoneName: ptr.To("test.com"), + ZoneName: toPTR("test.com"), }, - Type: ptr.To("NATIVE"), + Type: toPTR("NATIVE"), }, }, givenRecords: []dnsclient.RecordRead{}, @@ -227,11 +225,11 @@ func (s *ResolverTestSuite) TestPresent() { name: "error creating record", givenZones: []dnsclient.ZoneRead{ { - Id: ptr.To("test-zone-id"), + Id: toPTR("test-zone-id"), Properties: &dnsclient.Zone{ - ZoneName: ptr.To("test.com"), + ZoneName: toPTR("test.com"), }, - Type: ptr.To("NATIVE"), + Type: toPTR("NATIVE"), }, }, givenRecords: []dnsclient.RecordRead{}, @@ -270,7 +268,7 @@ func (s *ResolverTestSuite) TestPresent() { if tc.thenRecordCreateKey != "" { s.dnsAPIMock.EXPECT().CreateTXTRecord("test-zone-id", "_acme-challenge", tc.thenRecordCreateKey). Return(dnsclient.RecordRead{ - Id: ptr.To("test-record-id"), + Id: toPTR("test-record-id"), }, tc.whenRecordCreateError) } } @@ -346,11 +344,11 @@ func (s *ResolverTestSuite) TestCleanUp() { name: "zone exists, but no record", givenZones: []dnsclient.ZoneRead{ { - Id: ptr.To("test-zone-id"), + Id: toPTR("test-zone-id"), Properties: &dnsclient.Zone{ - ZoneName: ptr.To("test.com"), + ZoneName: toPTR("test.com"), }, - Type: ptr.To("NATIVE"), + Type: toPTR("NATIVE"), }, }, givenRecords: []dnsclient.RecordRead{}, @@ -368,20 +366,20 @@ func (s *ResolverTestSuite) TestCleanUp() { name: "zone and record with same name exists, but has a different key", givenZones: []dnsclient.ZoneRead{ { - Id: ptr.To("test-zone-id"), + Id: toPTR("test-zone-id"), Properties: &dnsclient.Zone{ - ZoneName: ptr.To("test.com"), + ZoneName: toPTR("test.com"), }, - Type: ptr.To("NATIVE"), + Type: toPTR("NATIVE"), }, }, givenRecords: []dnsclient.RecordRead{ { - Id: ptr.To("test-record-id"), + Id: toPTR("test-record-id"), Properties: &dnsclient.Record{ - Name: ptr.To("_acme-challenge"), + Name: toPTR("_acme-challenge"), Type: typeTxtRecord, - Content: ptr.To("different-key"), + Content: toPTR("different-key"), }, }, }, @@ -412,11 +410,11 @@ func (s *ResolverTestSuite) TestCleanUp() { name: "record read error", givenZones: []dnsclient.ZoneRead{ { - Id: ptr.To("test-zone-id"), + Id: toPTR("test-zone-id"), Properties: &dnsclient.Zone{ - ZoneName: ptr.To("test.com"), + ZoneName: toPTR("test.com"), }, - Type: ptr.To("NATIVE"), + Type: toPTR("NATIVE"), }, }, givenRecords: []dnsclient.RecordRead{}, @@ -434,20 +432,20 @@ func (s *ResolverTestSuite) TestCleanUp() { name: "record delete error", givenZones: []dnsclient.ZoneRead{ { - Id: ptr.To("test-zone-id"), + Id: toPTR("test-zone-id"), Properties: &dnsclient.Zone{ - ZoneName: ptr.To("test.com"), + ZoneName: toPTR("test.com"), }, - Type: ptr.To("NATIVE"), + Type: toPTR("NATIVE"), }, }, givenRecords: []dnsclient.RecordRead{ { - Id: ptr.To("test-record-id"), + Id: toPTR("test-record-id"), Properties: &dnsclient.Record{ - Name: ptr.To("_acme-challenge"), + Name: toPTR("_acme-challenge"), Type: typeTxtRecord, - Content: ptr.To("test-key"), + Content: toPTR("test-key"), }, }, }, @@ -466,20 +464,20 @@ func (s *ResolverTestSuite) TestCleanUp() { name: "record with key exists", givenZones: []dnsclient.ZoneRead{ { - Id: ptr.To("test-zone-id"), + Id: toPTR("test-zone-id"), Properties: &dnsclient.Zone{ - ZoneName: ptr.To("test.com"), + ZoneName: toPTR("test.com"), }, - Type: ptr.To("NATIVE"), + Type: toPTR("NATIVE"), }, }, givenRecords: []dnsclient.RecordRead{ { - Id: ptr.To("test-record-id"), + Id: toPTR("test-record-id"), Properties: &dnsclient.Record{ - Name: ptr.To("_acme-challenge"), + Name: toPTR("_acme-challenge"), Type: typeTxtRecord, - Content: ptr.To("test-key"), + Content: toPTR("test-key"), }, }, }, @@ -555,3 +553,7 @@ func setUpK8ClientExpectations(k8Client *mocks.K8Client, err error, t *testing.T k8Client.EXPECT().CoreV1().Return(coreV1Interface) } + +func toPTR[C any](c C) *C { + return &c +}