-
-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
linkerd 2.9.0 is built with go 1.15 which leads to x509 error #64498
Comments
Is linkerd not compatible with go 15? Because it compiles fine and the tests pass. |
I'm not 100% sure. I think this might be more of a documentation/upgrade issue. We upgraded a Linkerd installation from 2.7 to 2.8 and then 2.9. Our (automatically generated) certificates didn't have a SAN. If Linkerd officially supported go 1.15 they would possibly provide an upgrade path that generates new certificates with a SAN or prominently mention the issue in documentation. But Linkerd uses go 1.14 and the binaries on the linkerd2 releases are build with go 1.14. It took me a while to figure out why I was having this issue and other people didn't. Turned out it was because I installed the Linkerd CLI with Homebrew. I think it would make things easier if all Linkerd CLI binaries would behave the same. |
Is there an upstream issue report that we can look at? Based on what's written here it seems like this is more of something that upstream needs to handle. While we could move linkerd back to go 1.14, that version will be end of life pretty soon and it would only be a temporary band-aid. |
There is this related issue: linkerd/linkerd2#4945 I talked about this particular issue with @Pothulapati on the Linkerd Slack (the link to the discussion requires a login, not sure if I can get an anonymously accessible link). For me the temporary band-aid would have been helpful. But I can't estimate how many people may run into the same issue. It might not be worth it, because of the reason you mentioned. We can close the issue if you feel it's too much hassle for potentially little benefit. 🙂 |
This issue is now tracked upstream here: linkerd/linkerd2#5228 |
@SMillerDev @jonchang Yep, We are compatible with 1.15 but we have a cert upgrade thing that we wanted to follow a schedule i.e first, upgrade all the certs to use SAN, and then move to 1.15 in the next release and hence the official binaries are still built with 1.14. But we have completed the first phase and moving to 1.15 seems correct. We are not going to update homebrew to stick to a particular version. Thank you for all your time. Feel free to close the issue! :) |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
Bug report
The command
brew gist-logs linkerd
says "Error: No logs.". Here is the exact version of linkerd, that I have installed:In case this is relevant, here is also the output of
brew config
andbrew doctor
.Output
What you were trying to do (and why)
I'm using the
linkerd
CLI to configure Linkerd 2.9 on my Kubernetes cluster. Different situations trigger the same error:What happened (include command output)
On an older cluster:
On a new cluster when I try to update the issuer certificate:
This does not happen when I use the Linkerd CLI from here: https://github.com/linkerd/linkerd2/releases/tag/stable-2.9.0
The reason is likely that linkerd in Homebrew has been build using go 1.15, which added this certificate validation.
What you expected to happen
The commands should work, even if the certificate in question does not have a subject alternative name.
Step-by-step reproduction instructions (by running
brew install
commands)Assuming you have a Kubernetes cluster to test.
Follow steps 1-3 here to install Linkerd. Install the
linkerd
CLI using Homebrew: https://linkerd.io/2/getting-started/Follow the steps here to update the TLS credentials: https://linkerd.io/2/tasks/manually-rotating-control-plane-tls-credentials/
The important steps here are:
Verify using
step certificate inspect issuer-new.crt
, that the certificate does not have a subject alternative name.This should result in the error mentioned above.
The text was updated successfully, but these errors were encountered: