-
Notifications
You must be signed in to change notification settings - Fork 141
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Properly detect CoreDNS version with suffixes and bump support to CoreDNS < 1.9.0 #790
Conversation
Looks like html-proofer has some issue installing. It seems that it now requires a version of ruby-ffi that is not available in Alpine Linux packages and tries to build it. I was able to fix that by adding |
This fix has been deployed in our staging environment for 2 weeks now and has been stable. If someone is in need of it for their environment. A custom image can be built using: make build
docker tag traefik/mesh:latest myimage:mytag |
/sem-approve |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks 👍
What does this PR do?
This PR:
The issue was exposed in #788 and has some checks showed that
github.com/hashicorp/go-version
considers suffixed version aspre-release
meaning that some checks here will not be satisfied.Example:
This is an issue in two contexts:
upstream
keyword needs to be used when patching the CoreDNS configmap asv1.7.0-eksbuild.1
would be considered a version inferior to1.7
v1.3.0-eksbuild.0
is not considerGreaterThanOrEqual
to 1.3)v1.8.0-eksbuild.1
is consideredLessThan
1.8)I've fixed this issue by updating
go-version
to1.3.0
which adds a new methodCore
which allows us to retrieve the non suffixed / pre-release version linked to the currently parsed version. One thing to keep in mind here is that the new checks would allow an alpha / beta version of CoreDNS 1.3 to be used with Mesh though there is no real solution here asgo-version
is unable to detect the difference between analpha
,beta
,rc
suffix from aneksbuild.X
suffix.After checking all changelogs since the last support version (CoreDNS-1.7.1), it doesn't look like any breaking changes were introduced preventing
mesh
from supporting it. This is currently being tested in a EKS cluster running Kubernetes v1.20 (Platform versioneks.1
) and CoreDNS v1.8.3-eksbuild.1.This would extend support of Traefik Mesh to EKS running Kubernetes v1.20, EKS is using CoreDNS 1.8 as its default version since v1.19 (which is the current default) and has removed support for choosing CoreDNS 1.7 at deployment in v1.20.
Fixes #787
Fixes #788
How to test it
Additional Notes
I've made the choice to upgrade
go-version
tov1.3.0
but another solution was discussed in #788 (comment).