Skip to content

Commit 2e3182b

Browse files
authored
Update k3d to v5.4.4
1 parent 321dabb commit 2e3182b

24 files changed

+687
-152
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ tidy:
102102
go mod tidy
103103

104104
k3d:
105-
@command -v k3d >/dev/null 2>&1 || curl -s https://raw.githubusercontent.com/rancher/k3d/v3.4.0/install.sh | TAG=v3.4.0 bash
105+
@command -v k3d >/dev/null 2>&1 || curl -s https://raw.githubusercontent.com/rancher/k3d/v5.4.4/install.sh | TAG=v5.4.4 bash
106106

107107
docs-package:
108108
mkdir -p $(CURDIR)/pages

integration/acl_disabled_test.go

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,23 @@ type ACLDisabledSuite struct {
2222
func (s *ACLDisabledSuite) SetUpSuite(c *check.C) {
2323
var err error
2424

25-
requiredImages := []k3d.DockerImage{
26-
{Name: "traefik/mesh:latest", Local: true},
27-
{Name: "traefik:v2.8"},
28-
{Name: "traefik/whoami:v1.6.0"},
29-
{Name: "traefik/whoamitcp:v0.1.0"},
30-
{Name: "traefik/whoamiudp:v0.1.0"},
31-
{Name: "giantswarm/tiny-tools:3.9"},
32-
}
33-
3425
s.logger = logrus.New()
35-
s.cluster, err = k3d.NewCluster(s.logger, masterURL, k3dClusterName,
26+
27+
opts := []k3d.ClusterOptionFunc{
3628
k3d.WithoutTraefik(),
37-
k3d.WithImages(requiredImages...),
38-
)
29+
k3d.WithImages(k3d.DockerImage{Name: "traefik/mesh:latest", Local: true}),
30+
}
31+
if !*disableImport {
32+
opts = append(opts, k3d.WithImages(
33+
k3d.DockerImage{Name: "traefik:v2.8"},
34+
k3d.DockerImage{Name: "traefik/whoami:v1.8.0"},
35+
k3d.DockerImage{Name: "traefik/whoamitcp:v0.2.1"},
36+
k3d.DockerImage{Name: "traefik/whoamiudp:v0.1.2"},
37+
k3d.DockerImage{Name: "giantswarm/tiny-tools:3.9"},
38+
))
39+
}
40+
41+
s.cluster, err = k3d.NewCluster(s.logger, masterURL, k3dClusterName, opts...)
3942
c.Assert(err, checker.IsNil)
4043

4144
c.Assert(s.cluster.CreateNamespace(s.logger, traefikMeshNamespace), checker.IsNil)
@@ -79,7 +82,7 @@ func (s *ACLDisabledSuite) TestTCPService(c *check.C) {
7982

8083
// TestUDPService deploys a UDP service "server" with one Pod called "server" and asserts this service is
8184
// reachable and that a connection has been established with this Pod.
82-
func (s *ACLDisabledSuite) TestUDPervice(c *check.C) {
85+
func (s *ACLDisabledSuite) TestUDPService(c *check.C) {
8386
c.Assert(s.cluster.Apply(s.logger, "testdata/acl_disabled/udp"), checker.IsNil)
8487
defer s.cluster.Delete(s.logger, "testdata/acl_disabled/udp")
8588

integration/acl_enabled_test.go

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,21 @@ type ACLEnabledSuite struct {
2323
func (s *ACLEnabledSuite) SetUpSuite(c *check.C) {
2424
var err error
2525

26-
requiredImages := []k3d.DockerImage{
27-
{Name: "traefik/mesh:latest", Local: true},
28-
{Name: "traefik:v2.8"},
29-
{Name: "traefik/whoami:v1.6.0"},
30-
{Name: "giantswarm/tiny-tools:3.9"},
31-
}
32-
3326
s.logger = logrus.New()
34-
s.cluster, err = k3d.NewCluster(s.logger, masterURL, k3dClusterName,
27+
28+
opts := []k3d.ClusterOptionFunc{
3529
k3d.WithoutTraefik(),
36-
k3d.WithImages(requiredImages...),
37-
)
30+
k3d.WithImages(k3d.DockerImage{Name: "traefik/mesh:latest", Local: true}),
31+
}
32+
if !*disableImport {
33+
opts = append(opts, k3d.WithImages(
34+
k3d.DockerImage{Name: "traefik:v2.8"},
35+
k3d.DockerImage{Name: "traefik/whoami:v1.8.0"},
36+
k3d.DockerImage{Name: "giantswarm/tiny-tools:3.9"},
37+
))
38+
}
39+
40+
s.cluster, err = k3d.NewCluster(s.logger, masterURL, k3dClusterName, opts...)
3841
c.Assert(err, checker.IsNil)
3942

4043
c.Assert(s.cluster.CreateNamespace(s.logger, traefikMeshNamespace), checker.IsNil)

integration/coredns_test.go

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,23 +25,24 @@ type CoreDNSSuite struct {
2525
func (s *CoreDNSSuite) SetUpSuite(c *check.C) {
2626
var err error
2727

28-
requiredImages := []k3d.DockerImage{
29-
{Name: "traefik/whoami:v1.6.0"},
30-
{Name: "coredns/coredns:1.3.1"},
31-
{Name: "coredns/coredns:1.4.0"},
32-
{Name: "coredns/coredns:1.5.2"},
33-
{Name: "coredns/coredns:1.6.3"},
34-
{Name: "coredns/coredns:1.7.0"},
35-
{Name: "coredns/coredns:1.8.0"},
36-
{Name: "coredns/coredns:1.9.0"},
37-
{Name: "giantswarm/tiny-tools:3.9"},
28+
s.logger = logrus.New()
29+
30+
opts := []k3d.ClusterOptionFunc{k3d.WithoutTraefik()}
31+
if !*disableImport {
32+
opts = append(opts, k3d.WithImages(
33+
k3d.DockerImage{Name: "traefik/whoami:v1.8.0"},
34+
k3d.DockerImage{Name: "coredns/coredns:1.3.1"},
35+
k3d.DockerImage{Name: "coredns/coredns:1.4.0"},
36+
k3d.DockerImage{Name: "coredns/coredns:1.5.2"},
37+
k3d.DockerImage{Name: "coredns/coredns:1.6.3"},
38+
k3d.DockerImage{Name: "coredns/coredns:1.7.0"},
39+
k3d.DockerImage{Name: "coredns/coredns:1.8.0"},
40+
k3d.DockerImage{Name: "coredns/coredns:1.9.0"},
41+
k3d.DockerImage{Name: "giantswarm/tiny-tools:3.9"},
42+
))
3843
}
3944

40-
s.logger = logrus.New()
41-
s.cluster, err = k3d.NewCluster(s.logger, masterURL, k3dClusterName,
42-
k3d.WithoutTraefik(),
43-
k3d.WithImages(requiredImages...),
44-
)
45+
s.cluster, err = k3d.NewCluster(s.logger, masterURL, k3dClusterName, opts...)
4546
c.Assert(err, checker.IsNil)
4647

4748
c.Assert(s.cluster.CreateNamespace(s.logger, traefikMeshNamespace), checker.IsNil)

integration/integration_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515
var (
1616
integration = flag.Bool("integration", false, "run integration tests")
1717
debug = flag.Bool("debug", false, "debug log level")
18+
disableImport = flag.Bool("disable-import", false, "disable images import")
1819
masterURL = "https://localhost:8443"
1920
k3dClusterName = "traefik-mesh-integration"
2021
traefikMeshNamespace = "traefik-mesh"

integration/k3d/k3d.go

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020

2121
var (
2222
k3sImage = "rancher/k3s"
23-
k3sVersion = "v1.18.20-k3s1"
23+
k3sVersion = "v1.21.14-k3s1"
2424
)
2525

2626
// DockerImage holds the configuration of a Docker image.
@@ -41,19 +41,19 @@ type ClusterOptionFunc func(opts *ClusterOptions)
4141
// WithoutTraefik tells k3d to not start a k3s cluster with Traefik already installed in.
4242
func WithoutTraefik() func(opts *ClusterOptions) {
4343
return func(opts *ClusterOptions) {
44-
opts.Cmd = append(opts.Cmd, "--k3s-server-arg", "--no-deploy=traefik")
44+
opts.Cmd = append(opts.Cmd, "--k3s-arg", "--disable=traefik@server:0")
4545
}
4646
}
4747

4848
// WithoutCoreDNS tells k3d to not start a k3s cluster with CoreDNS already installed in.
4949
func WithoutCoreDNS() func(opts *ClusterOptions) {
5050
return func(opts *ClusterOptions) {
51-
opts.Cmd = append(opts.Cmd, "--k3s-server-arg", "--no-deploy=coredns")
51+
opts.Cmd = append(opts.Cmd, "--k3s-arg", "--disable=coredns@server:0")
5252
}
5353
}
5454

55-
// WithImages tells k3d to import the given image. Images which are tagged a local won't be pull locally before being
56-
// imported.
55+
// WithImages tells k3d to import the given image.
56+
// Images which are tagged a local won't be pull locally before being imported.
5757
func WithImages(images ...DockerImage) func(opts *ClusterOptions) {
5858
return func(opts *ClusterOptions) {
5959
opts.Images = append(opts.Images, images...)
@@ -70,11 +70,7 @@ type Cluster struct {
7070

7171
// NewCluster creates a new k3s cluster using the given configuration.
7272
func NewCluster(logger logrus.FieldLogger, masterURL string, name string, opts ...ClusterOptionFunc) (*Cluster, error) {
73-
clusterOpts := ClusterOptions{
74-
Images: []DockerImage{
75-
{Name: "rancher/coredns-coredns:1.6.3"},
76-
},
77-
}
73+
var clusterOpts ClusterOptions
7874

7975
for _, opt := range opts {
8076
opt(&clusterOpts)
@@ -330,10 +326,12 @@ func pullDockerImages(logger logrus.FieldLogger, images []DockerImage) error {
330326
}
331327

332328
func importDockerImages(logger logrus.FieldLogger, clusterName string, images []DockerImage) error {
333-
args := []string{
334-
"image", "import", "--cluster", clusterName,
329+
if len(images) == 0 {
330+
return nil
335331
}
336332

333+
args := []string{"image", "import", "--cluster", clusterName}
334+
337335
for _, image := range images {
338336
args = append(args, image.Name)
339337
}

integration/kubedns_test.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,21 @@ type KubeDNSSuite struct {
2222
func (s *KubeDNSSuite) SetUpSuite(c *check.C) {
2323
var err error
2424

25-
requiredImages := []k3d.DockerImage{
26-
{Name: "traefik/whoami:v1.6.0"},
27-
{Name: "coredns/coredns:1.6.3"},
28-
{Name: "giantswarm/tiny-tools:3.9"},
29-
{Name: "gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.7"},
30-
{Name: "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.7"},
31-
{Name: "gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.7"},
25+
s.logger = logrus.New()
26+
27+
opts := []k3d.ClusterOptionFunc{k3d.WithoutTraefik(), k3d.WithoutCoreDNS()}
28+
if !*disableImport {
29+
opts = append(opts, k3d.WithImages(
30+
k3d.DockerImage{Name: "traefik/whoami:v1.8.0"},
31+
k3d.DockerImage{Name: "coredns/coredns:1.6.3"},
32+
k3d.DockerImage{Name: "giantswarm/tiny-tools:3.9"},
33+
k3d.DockerImage{Name: "gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.15.13"},
34+
k3d.DockerImage{Name: "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.15.13"},
35+
k3d.DockerImage{Name: "gcr.io/google_containers/k8s-dns-sidecar-amd64:1.15.13"},
36+
))
3237
}
3338

34-
s.logger = logrus.New()
35-
s.cluster, err = k3d.NewCluster(s.logger, masterURL, k3dClusterName,
36-
k3d.WithoutTraefik(),
37-
k3d.WithoutCoreDNS(),
38-
k3d.WithImages(requiredImages...),
39-
)
39+
s.cluster, err = k3d.NewCluster(s.logger, masterURL, k3dClusterName, opts...)
4040
c.Assert(err, checker.IsNil)
4141

4242
c.Assert(s.cluster.CreateNamespace(s.logger, traefikMeshNamespace), checker.IsNil)

integration/testdata/acl_disabled/http/1.server.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ metadata:
99
spec:
1010
containers:
1111
- name: server-http
12-
image: traefik/whoami:v1.6.0
12+
image: traefik/whoami:v1.8.0
1313
imagePullPolicy: IfNotPresent
1414
readinessProbe:
1515
httpGet:

integration/testdata/acl_disabled/traffic-split/2.server-v1.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ metadata:
99
spec:
1010
containers:
1111
- name: server-v1
12-
image: traefik/whoami:v1.6.0
12+
image: traefik/whoami:v1.8.0
1313
imagePullPolicy: IfNotPresent
1414
readinessProbe:
1515
httpGet:

integration/testdata/acl_disabled/traffic-split/3.server-v2.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ metadata:
99
spec:
1010
containers:
1111
- name: server-v2
12-
image: traefik/whoami:v1.6.0
12+
image: traefik/whoami:v1.8.0
1313
imagePullPolicy: IfNotPresent
1414
readinessProbe:
1515
httpGet:

0 commit comments

Comments
 (0)