Skip to content

Commit 980a264

Browse files
committed
Switch from stackit-dns-api-client-go to stackit-sdk-go
1 parent 68e6032 commit 980a264

13 files changed

+316
-436
lines changed

cmd/webhook/cmd/root.go

+23-23
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,27 @@ import (
1313
"github.com/stackitcloud/external-dns-stackit-webhook/internal/stackitprovider"
1414
"github.com/stackitcloud/external-dns-stackit-webhook/pkg/api"
1515
"github.com/stackitcloud/external-dns-stackit-webhook/pkg/metrics"
16+
stackitconfig "github.com/stackitcloud/stackit-sdk-go/core/config"
1617
"go.uber.org/zap"
1718
"go.uber.org/zap/zapcore"
1819
"sigs.k8s.io/external-dns/endpoint"
1920
)
2021

2122
var (
22-
apiPort string
23-
authBearerToken string
24-
baseUrl string
25-
projectID string
26-
worker int
27-
domainFilter []string
28-
dryRun bool
29-
logLevel string
23+
apiPort string
24+
baseUrl string
25+
projectID string
26+
worker int
27+
domainFilter []string
28+
dryRun bool
29+
logLevel string
3030
)
3131

3232
var rootCmd = &cobra.Command{
3333
Use: "external-dns-stackit-webhook",
3434
Short: "provider webhook for the STACKIT DNS service",
3535
Long: "provider webhook for the STACKIT DNS service",
3636
Run: func(cmd *cobra.Command, args []string) {
37-
if len(authBearerToken) == 0 {
38-
panic("auth-token is required")
39-
}
40-
4137
logger := getLogger()
4238
defer func(logger *zap.Logger) {
4339
err := logger.Sync()
@@ -48,16 +44,21 @@ var rootCmd = &cobra.Command{
4844

4945
endpointDomainFilter := endpoint.DomainFilter{Filters: domainFilter}
5046

51-
stackitProvider, err := stackitprovider.NewStackitDNSProvider(stackitprovider.Config{
52-
BasePath: baseUrl,
53-
Token: authBearerToken,
54-
ProjectId: projectID,
55-
DomainFilter: endpointDomainFilter,
56-
DryRun: dryRun,
57-
Workers: worker,
58-
}, logger.With(zap.String("component", "stackitprovider")), &http.Client{
59-
Timeout: 10 * time.Second,
60-
})
47+
stackitProvider, err := stackitprovider.NewStackitDNSProvider(
48+
logger.With(zap.String("component", "stackitprovider")),
49+
// ExternalDNS provider config
50+
stackitprovider.Config{
51+
ProjectId: projectID,
52+
DomainFilter: endpointDomainFilter,
53+
DryRun: dryRun,
54+
Workers: worker,
55+
},
56+
// STACKIT client SDK config
57+
stackitconfig.WithHTTPClient(&http.Client{
58+
Timeout: 10 * time.Second,
59+
}),
60+
stackitconfig.WithEndpoint(baseUrl),
61+
)
6162
if err != nil {
6263
panic(err)
6364
}
@@ -110,7 +111,6 @@ func init() {
110111
cobra.OnInitialize(initConfig)
111112

112113
rootCmd.PersistentFlags().StringVar(&apiPort, "api-port", "8888", "Specifies the port to listen on.")
113-
rootCmd.PersistentFlags().StringVar(&authBearerToken, "auth-token", "", "Defines the authentication token for the STACKIT API.")
114114
rootCmd.PersistentFlags().StringVar(&baseUrl, "base-url", "https://dns.api.stackit.cloud", " Identifies the Base URL for utilizing the API.")
115115
rootCmd.PersistentFlags().StringVar(&projectID, "project-id", "", "Specifies the project id of the STACKIT project.")
116116
rootCmd.PersistentFlags().IntVar(&worker, "worker", 10, "Specifies the number "+

go.mod

+4-6
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ module github.com/stackitcloud/external-dns-stackit-webhook
33
go 1.20
44

55
require (
6-
github.com/antihax/optional v1.0.0
76
github.com/goccy/go-json v0.10.2
87
github.com/gofiber/adaptor/v2 v2.2.1
98
github.com/gofiber/fiber/v2 v2.50.0
109
github.com/prometheus/client_golang v1.17.0
1110
github.com/spf13/cobra v1.7.0
1211
github.com/spf13/pflag v1.0.5
1312
github.com/spf13/viper v1.17.0
14-
github.com/stackitcloud/stackit-dns-api-client-go v0.0.0-20230228185514-6838d6d6f051
13+
github.com/stackitcloud/stackit-sdk-go/core v0.10.0
14+
github.com/stackitcloud/stackit-sdk-go/services/dns v0.8.4
1515
github.com/stretchr/testify v1.8.4
1616
go.uber.org/mock v0.3.0
1717
go.uber.org/zap v1.26.0
@@ -27,10 +27,11 @@ require (
2727
github.com/fsnotify/fsnotify v1.6.0 // indirect
2828
github.com/go-logr/logr v1.2.4 // indirect
2929
github.com/gogo/protobuf v1.3.2 // indirect
30+
github.com/golang-jwt/jwt/v5 v5.2.0 // indirect
3031
github.com/golang/protobuf v1.5.3 // indirect
3132
github.com/google/go-cmp v0.6.0 // indirect
3233
github.com/google/gofuzz v1.2.0 // indirect
33-
github.com/google/uuid v1.3.1 // indirect
34+
github.com/google/uuid v1.6.0 // indirect
3435
github.com/hashicorp/hcl v1.0.0 // indirect
3536
github.com/inconshreveable/mousetrap v1.1.0 // indirect
3637
github.com/jmespath/go-jmespath v0.4.0 // indirect
@@ -57,18 +58,15 @@ require (
5758
github.com/sourcegraph/conc v0.3.0 // indirect
5859
github.com/spf13/afero v1.10.0 // indirect
5960
github.com/spf13/cast v1.5.1 // indirect
60-
github.com/spf13/jwalterweatherman v1.1.0 // indirect
6161
github.com/subosito/gotenv v1.6.0 // indirect
6262
github.com/valyala/bytebufferpool v1.0.0 // indirect
6363
github.com/valyala/fasthttp v1.50.0 // indirect
6464
github.com/valyala/tcplisten v1.0.0 // indirect
6565
go.uber.org/multierr v1.11.0 // indirect
6666
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
6767
golang.org/x/net v0.17.0 // indirect
68-
golang.org/x/oauth2 v0.13.0 // indirect
6968
golang.org/x/sys v0.13.0 // indirect
7069
golang.org/x/text v0.13.0 // indirect
71-
google.golang.org/appengine v1.6.8 // indirect
7270
google.golang.org/protobuf v1.31.0 // indirect
7371
gopkg.in/inf.v0 v0.9.1 // indirect
7472
gopkg.in/ini.v1 v1.67.0 // indirect

0 commit comments

Comments
 (0)