-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Add Traefik Mesh integration #17585
Add Traefik Mesh integration #17585
Conversation
The |
The |
The |
The |
The |
Hi, I've created a docs review ticket, so the team can follow up when this is ready for a final editorial review. Thank you! |
Co-authored-by: Austin Lai <76412946+alai97@users.noreply.github.com>
Co-authored-by: Austin Lai <76412946+alai97@users.noreply.github.com>
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.
First impressions: one suggestion, one question.
super().check(_) | ||
|
||
finally: | ||
if self.traefik_controller_api_endpoint: |
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.
What's the motivation for submitting an extra service check? Is it cuz the extras integration had it?
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.
One service check gives us the health status of the Traefik Proxy /metrics endpoint. The other is a health status on the actually Mesh controller which can't be verified from the proxy. In general though, the metrics from the controller are only avialable if self.traefik_controller_api_endpoint
is present.
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.
I think I follow. Next question: does the order in which we submit checks matter here? Also, what do we gain by using try:...finally:
? Could we also just do this?
if self.traefik_controller_api_endpoint:
self.submit_controller_readiness_service_check()
traefik_node_status = self.get_mesh_ready_status()
self.submit_mesh_ready_status(traefik_node_status)
self._submit_version()
super().check(_)
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.
Yea we could - I was simply using other integrations that do similar things as a template and that was what they do. If you have a strong opinion of using this way over the way it's currently written, I can definitely change.
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.
nah 🤷
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.
just a few minor touches left
super().check(_) | ||
|
||
finally: | ||
if self.traefik_controller_api_endpoint: |
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.
nah 🤷
* Initial commit * Add unit and end to end tests * added more test and assets to integration * sync CI * fix dashboard and E2E tests * fix metadata types * added more Traefik config metrics * Add changelog and readme * remove additional changelog added * apply readme suggestions Co-authored-by: Austin Lai <76412946+alai97@users.noreply.github.com> * apply suggestions to readme Co-authored-by: Austin Lai <76412946+alai97@users.noreply.github.com> * added logo and fixed nits * removed unneeded PY2 import and made tests more readable --------- Co-authored-by: Austin Lai <76412946+alai97@users.noreply.github.com> 7fb0a90
What does this PR do?
Motivation
Additional Notes
Review checklist (to be filled by reviewers)
qa/skip-qa
label if the PR doesn't need to be tested during QA.backport/<branch-name>
label to the PR and it will automatically open a backport PR once this one is merged