-
Notifications
You must be signed in to change notification settings - Fork 154
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
Fix internal/pkg/agent/cmd.TestEnroll
#5741
Conversation
fix the mock fleet server used on TestEnroll. It was using the root certificate instead its own certificate.
This pull request does not have a backport label. Could you fix it @AndersonQ? 🙏
|
|
|
fix the mock fleet server used on internal/pkg/agent/cmd.TestEnroll was using the root certificate instead its own TLS certificate. As soon as elasitc-agent-libs is updated to v1.12.0+ it becomes a problem as the root certificates do not come with IPs and SANs anymore. Therefore the client cannot verify the certificate indeed belongs to the server. (cherry picked from commit ae48b95)
fix the mock fleet server used on internal/pkg/agent/cmd.TestEnroll was using the root certificate instead its own TLS certificate. As soon as elasitc-agent-libs is updated to v1.12.0+ it becomes a problem as the root certificates do not come with IPs and SANs anymore. Therefore the client cannot verify the certificate indeed belongs to the server. (cherry picked from commit ae48b95) Co-authored-by: Anderson Queiroz <anderson.queiroz@elastic.co>
fix the mock fleet server used on TestEnroll. It was using the root certificate instead its own certificate.
What does this PR do?
It fixes
internal/pkg/agent/cmd.TestEnroll
by starting the mock fleet-server with the intended TLS certificate istead of using the CA as its certificate.Why is it important?
The TLS server mocking fleet-server is using the root certificate as its own certificate. It has worked so far because
elasitc-agent-libs
was adding SANs and IPs to the root certificates. However fromelasitc-agent-libs v1.12.0
onwards the root certificates do not include IPs and SANs. This change makesinternal/pkg/agent/cmd.TestEnroll
to fail as the agent cannot validate the mock fleet-server certificate as it does not contain any IP or SANs ifelasitc-agent-libs
is updated. Which is happening in at least 2 PRs:Checklist
[ ] I have commented my code, particularly in hard-to-understand areas[ ] I have made corresponding changes to the documentation[ ] I have made corresponding change to the default configuration files[ ] I have added tests that prove my fix is effective or that my feature works[ ] I have added an entry in./changelog/fragments
using the changelog tool[ ] I have added an integration test or an E2E testDisruptive User Impact
N/A
How to test this PR locally
go get github.com/elastic/elastic-agent-libs@v0.12.0 go test -v -run TestEnroll$ ./internal/pkg/agent/cmd
Related issues
Questions to ask yourself