Skip to content

Commit a33d042

Browse files
committed
Update to aws-sdk-go-v2
Signed-off-by: Mikkel Oscar Lyderik Larsen <[email protected]>
1 parent ad4ecbe commit a33d042

File tree

9 files changed

+342
-264
lines changed

9 files changed

+342
-264
lines changed

controller/controller.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ func (c *EgressController) Run(ctx context.Context) {
7272

7373
select {
7474
case <-time.After(c.interval):
75-
err := c.provider.Ensure(c.configsCache)
75+
err := c.provider.Ensure(ctx, c.configsCache)
7676
if err != nil {
7777
log.Errorf("Failed to ensure configuration: %v", err)
7878
continue
@@ -87,7 +87,7 @@ func (c *EgressController) Run(ctx context.Context) {
8787
c.configsCache[config.Resource] = config.IPAddresses
8888
}
8989

90-
err := c.provider.Ensure(c.configsCache)
90+
err := c.provider.Ensure(ctx, c.configsCache)
9191
if err != nil {
9292
log.Errorf("Failed to ensure configuration: %v", err)
9393
continue

go.mod

+15-2
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,13 @@ toolchain go1.22.4
77
require (
88
github.com/alecthomas/kingpin/v2 v2.4.0
99
github.com/apparentlymart/go-cidr v1.1.0
10-
github.com/aws/aws-sdk-go v1.54.7
10+
github.com/aws/aws-sdk-go-v2 v1.30.0
11+
github.com/aws/aws-sdk-go-v2/config v1.27.21
12+
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.52.1
13+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.165.1
14+
github.com/aws/smithy-go v1.20.2
1115
github.com/crewjam/go-cloudformation v0.0.0-20180605015303-38e5b663797c
1216
github.com/google/uuid v1.6.0
13-
github.com/linki/instrumented_http v0.3.0
1417
github.com/pkg/errors v0.9.1
1518
github.com/prometheus/client_golang v1.19.1
1619
github.com/sirupsen/logrus v1.9.3
@@ -22,6 +25,16 @@ require (
2225

2326
require (
2427
github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9 // indirect
28+
github.com/aws/aws-sdk-go-v2/credentials v1.17.21 // indirect
29+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.8 // indirect
30+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.12 // indirect
31+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.12 // indirect
32+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect
33+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect
34+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.14 // indirect
35+
github.com/aws/aws-sdk-go-v2/service/sso v1.21.1 // indirect
36+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.25.1 // indirect
37+
github.com/aws/aws-sdk-go-v2/service/sts v1.29.1 // indirect
2538
github.com/beorn7/perks v1.0.1 // indirect
2639
github.com/cespare/xxhash/v2 v2.3.0 // indirect
2740
github.com/davecgh/go-spew v1.1.1 // indirect

go.sum

+30-4
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,36 @@ github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9 h1:ez/4by2iGztzR4
44
github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
55
github.com/apparentlymart/go-cidr v1.1.0 h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4tdgBZjnU=
66
github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc=
7-
github.com/aws/aws-sdk-go v1.54.7 h1:k1wJ+NMOsXgq/Lsa0y1mS0DFoDeHFPcz2OjCq5H5Mjg=
8-
github.com/aws/aws-sdk-go v1.54.7/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
7+
github.com/aws/aws-sdk-go-v2 v1.30.0 h1:6qAwtzlfcTtcL8NHtbDQAqgM5s6NDipQTkPxyH/6kAA=
8+
github.com/aws/aws-sdk-go-v2 v1.30.0/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM=
9+
github.com/aws/aws-sdk-go-v2/config v1.27.21 h1:yPX3pjGCe2hJsetlmGNB4Mngu7UPmvWPzzWCv1+boeM=
10+
github.com/aws/aws-sdk-go-v2/config v1.27.21/go.mod h1:4XtlEU6DzNai8RMbjSF5MgGZtYvrhBP/aKZcRtZAVdM=
11+
github.com/aws/aws-sdk-go-v2/credentials v1.17.21 h1:pjAqgzfgFhTv5grc7xPHtXCAaMapzmwA7aU+c/SZQGw=
12+
github.com/aws/aws-sdk-go-v2/credentials v1.17.21/go.mod h1:nhK6PtBlfHTUDVmBLr1dg+WHCOCK+1Fu/WQyVHPsgNQ=
13+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.8 h1:FR+oWPFb/8qMVYMWN98bUZAGqPvLHiyqg1wqQGfUAXY=
14+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.8/go.mod h1:EgSKcHiuuakEIxJcKGzVNWh5srVAQ3jKaSrBGRYvM48=
15+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.12 h1:SJ04WXGTwnHlWIODtC5kJzKbeuHt+OUNOgKg7nfnUGw=
16+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.12/go.mod h1:FkpvXhA92gb3GE9LD6Og0pHHycTxW7xGpnEh5E7Opwo=
17+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.12 h1:hb5KgeYfObi5MHkSSZMEudnIvX30iB+E21evI4r6BnQ=
18+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.12/go.mod h1:CroKe/eWJdyfy9Vx4rljP5wTUjNJfb+fPz1uMYUhEGM=
19+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU=
20+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY=
21+
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.52.1 h1:Ts+mCjOtt8o2k2vnWnX/0sE0eSmEVWBvfJkNrNMQlAo=
22+
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.52.1/go.mod h1:IrWhabzdTEc651GAq7rgst/SYcEqqcD7Avr82m28AAU=
23+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.165.1 h1:LkSnU1c9JKJyXYcwpWgQGuwctwv3pDenMUgH2CmLd1A=
24+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.165.1/go.mod h1:Wv7N3iFOKVsZNIaw9MOBUmwCkX6VMmQQRFhMrHtNGno=
25+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 h1:Ji0DY1xUsUr3I8cHps0G+XM3WWU16lP6yG8qu1GAZAs=
26+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2/go.mod h1:5CsjAbs3NlGQyZNFACh+zztPDI7fU6eW9QsxjfnuBKg=
27+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.14 h1:zSDPny/pVnkqABXYRicYuPf9z2bTqfH13HT3v6UheIk=
28+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.14/go.mod h1:3TTcI5JSzda1nw/pkVC9dhgLre0SNBFj2lYS4GctXKI=
29+
github.com/aws/aws-sdk-go-v2/service/sso v1.21.1 h1:sd0BsnAvLH8gsp2e3cbaIr+9D7T1xugueQ7V/zUAsS4=
30+
github.com/aws/aws-sdk-go-v2/service/sso v1.21.1/go.mod h1:lcQG/MmxydijbeTOp04hIuJwXGWPZGI3bwdFDGRTv14=
31+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.25.1 h1:1uEFNNskK/I1KoZ9Q8wJxMz5V9jyBlsiaNrM7vA3YUQ=
32+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.25.1/go.mod h1:z0P8K+cBIsFXUr5rzo/psUeJ20XjPN0+Nn8067Nd+E4=
33+
github.com/aws/aws-sdk-go-v2/service/sts v1.29.1 h1:myX5CxqXE0QMZNja6FA1/FSE3Vu1rVmeUmpJMMzeZg0=
34+
github.com/aws/aws-sdk-go-v2/service/sts v1.29.1/go.mod h1:N2mQiucsO0VwK9CYuS4/c2n6Smeh1v47Rz3dWCPFLdE=
35+
github.com/aws/smithy-go v1.20.2 h1:tbp628ireGtzcHDDmLT/6ADHidqnwgF57XOXZe6tp4Q=
36+
github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E=
937
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
1038
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
1139
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
@@ -69,8 +97,6 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
6997
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
7098
github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
7199
github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
72-
github.com/linki/instrumented_http v0.3.0 h1:dsN92+mXpfZtjJraartcQ99jnuw7fqsnPDjr85ma2dA=
73-
github.com/linki/instrumented_http v0.3.0/go.mod h1:pjYbItoegfuVi2GUOMhEqzvm/SJKuEL3H0tc8QRLRFk=
74100
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
75101
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
76102
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=

main.go

+14-6
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"time"
1111

1212
kingpin "github.com/alecthomas/kingpin/v2"
13+
"github.com/aws/aws-sdk-go-v2/config"
1314
"github.com/prometheus/client_golang/prometheus/promhttp"
1415
log "github.com/sirupsen/logrus"
1516
"github.com/szuecs/kube-static-egress-controller/controller"
@@ -77,16 +78,20 @@ func NewConfig() *Config {
7778
}
7879
}
7980

80-
func newProvider(clusterID, controllerID string, dry bool, name, vpcID string, clusterIDTagPrefix string, natCidrBlocks, availabilityZones []string, stackTerminationProtection bool, additionalStackTags map[string]string) provider.Provider {
81+
func newProvider(clusterID, controllerID string, dry bool, name, vpcID string, clusterIDTagPrefix string, natCidrBlocks, availabilityZones []string, stackTerminationProtection bool, additionalStackTags map[string]string) (provider.Provider, error) {
8182
switch name {
8283
case aws.ProviderName:
83-
return aws.NewAWSProvider(clusterID, controllerID, dry, vpcID, clusterIDTagPrefix, natCidrBlocks, availabilityZones, stackTerminationProtection, additionalStackTags)
84+
cfg, err := config.LoadDefaultConfig(context.TODO())
85+
if err != nil {
86+
return nil, err
87+
}
88+
return aws.NewAWSProvider(cfg, clusterID, controllerID, dry, vpcID, clusterIDTagPrefix, natCidrBlocks, availabilityZones, stackTerminationProtection, additionalStackTags)
8489
case noop.ProviderName:
85-
return noop.NewNoopProvider()
90+
return noop.NewNoopProvider(), nil
8691
default:
87-
log.Fatalf("Unkown provider: %s", name)
92+
return nil, fmt.Errorf("Unkown provider: %s", name)
8893
}
89-
return nil
94+
return nil, nil
9095
}
9196

9297
func allLogLevelsAsStrings() []string {
@@ -157,7 +162,10 @@ func main() {
157162
log.SetLevel(ll)
158163
log.Debugf("config: %+v", cfg)
159164

160-
p := newProvider(cfg.ClusterID, cfg.ControllerID, cfg.DryRun, cfg.Provider, cfg.VPCID, cfg.ClusterIDTagPrefix, cfg.NatCidrBlocks, cfg.AvailabilityZones, cfg.StackTerminationProtection, cfg.AdditionalStackTags)
165+
p, err := newProvider(cfg.ClusterID, cfg.ControllerID, cfg.DryRun, cfg.Provider, cfg.VPCID, cfg.ClusterIDTagPrefix, cfg.NatCidrBlocks, cfg.AvailabilityZones, cfg.StackTerminationProtection, cfg.AdditionalStackTags)
166+
if err != nil {
167+
log.Fatalf("Failed to create provider: %v", err)
168+
}
161169

162170
configsChan := make(chan provider.EgressConfig)
163171
cmWatcher, err := kube.NewConfigMapWatcher(newKubeClient(), cfg.Namespace, "egress=static", configsChan)

0 commit comments

Comments
 (0)