Skip to content

Commit 3ebe16a

Browse files
authored
Allow CoreDNS version strings to contain sufixes
1 parent a7fc986 commit 3ebe16a

File tree

3 files changed

+27
-8
lines changed

3 files changed

+27
-8
lines changed

pkg/dns/dns.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,12 @@ const (
3939
traefikMeshBlockTrailer = "#### End Traefik Mesh Block"
4040
)
4141

42-
var versionCoreDNS17 = goversion.Must(goversion.NewVersion("1.7"))
42+
var (
43+
versionCoreDNS17 = goversion.Must(goversion.NewVersion("1.7"))
44+
45+
versionCoreDNSMin = goversion.Must(goversion.NewVersion("1.3"))
46+
versionCoreDNSMax = goversion.Must(goversion.NewVersion("1.8"))
47+
)
4348

4449
// Client holds the client for interacting with the k8s DNS system.
4550
type Client struct {
@@ -98,13 +103,8 @@ func (c *Client) coreDNSMatch(ctx context.Context) (bool, error) {
98103
return false, err
99104
}
100105

101-
versionConstraint, err := goversion.NewConstraint(">= 1.3, < 1.8")
102-
if err != nil {
103-
return false, err
104-
}
105-
106-
if !versionConstraint.Check(version) {
107-
c.logger.Debugf("CoreDNS version is not supported, must satisfy %q, got %q", versionConstraint, version)
106+
if !(version.GreaterThanOrEqual(versionCoreDNSMin) && version.LessThan(versionCoreDNSMax)) {
107+
c.logger.Debugf(`CoreDNS version is not supported, must satisfy ">= %s, < %s", got %q`, versionCoreDNSMin, versionCoreDNSMax, version)
108108

109109
return false, fmt.Errorf("unsupported CoreDNS version %q", version)
110110
}

pkg/dns/dns_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@ func TestCheckDNSProvider(t *testing.T) {
2626
expProvider: CoreDNS,
2727
expErr: false,
2828
},
29+
{
30+
desc: "CoreDNS supported version with suffix",
31+
mockFile: "checkdnsprovider_supported_version_suffix.yaml",
32+
expProvider: CoreDNS,
33+
expErr: false,
34+
},
2935
{
3036
desc: "KubeDNS",
3137
mockFile: "checkdnsprovider_kubedns.yaml",
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: coredns
5+
namespace: kube-system
6+
spec:
7+
template:
8+
spec:
9+
containers:
10+
- name: coredns
11+
image: image-registry.dkr.ecr.eu-west-1.amazonaws.com/eks/coredns:v1.6.6-eksbuild.1
12+
- name: titi
13+
image: titi/toto:latest

0 commit comments

Comments
 (0)