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
ConsulCatalog StrictChecks #10388
ConsulCatalog StrictChecks #10388
Conversation
…ich health statuses should be included when determining which upstream containers to include in routing
Reference Issue: #10074 |
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 a lot for opening this PR 😃
I have some feedback, nothing critical.
will I need to add additional logic to properly handle the different configuration input methods or will the configuration handler automatically unmarshal the values into the provider?
The configuration will be automatically unmarshaled, there's nothing else to add in the code. But for updating the reference part of the documentation you will have to run make generate
.
… status, reorder properties in test for better visibility, remove unnecessary "defaultRule" from test config
The only thing I'm unsure of is whether the default values are applied when a user does not define |
Hi all, checking in if there are other items or actions needed? Thanks! |
@djenriquez No, sorry for the delay. I couldn't allocate time to review your changes recently. I will have a look at it later today. |
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.
Tested and works perfectly, just a few minor comments
Thanks for the review! Feedback applied 👍 . |
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.
Thank you for your contribution 👍
LGTM
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.
LGTM
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 a lot for this PR, LGTM 🚢
@djenriquez could you please rebase your PR. Our bot is not able to do it because the PR has been created from an GitHub Organisation fork. |
Definitely, sorry for the delay. Thanks! |
What does this PR do?
This PR allows users to define a
StrictChecks
config for theconsulcatalog
provider.StrictChecks
lets a user define which healthcheck statuses should be allowed when determining which upstreams to include in the upstream targets.StrictChecks
defaults to"passing", "warning"
to preserve the existing behavior, allowing this config to be backwards compatible.Fix #10074
Motivation
Our organization relies on "warning" health statuses to determine upstreams that are "starting up", which is a different state than "critical", but not yet ready for traffic. The existing build sends traffic immediately to "warning" upstreams, which causes 5XX errors for our use case.
With this config, users can choose what health status to allow based on the available statuses that Consul supports as their organization requires.
More
Additional Notes
Question: will I need to add additional logic to properly handle the different configuration input methods or will the configuration handler automatically unmarshal the values into the provider?