Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Proposed changes
This change introduces a layer between the Synchronizer and the Border Servers (NGINX Plus running outside the Cluster in our main use case). It further supports Annotations on the Service that determine if the Upstream to be updated is a Stream ("tcp"), or HTTP ("tcp") Upstream block.
The Annotations are key/value pairs on the Service itself, the key is the Port Name (and the Upstream name at this time), and the value is one of "tcp" or "http". A value other than these results in a
NullBorderClient
implementation being created (to avoid panics). An accompanying error indicates the problem. Check your errors..."TCP" will update the Border Servers using the
Update/DeleteStreamUpstreamServers
methods on the NGINX Plus client."HTTP" will update the Border Servers using the
Update/DeleteHttpUpstreamServer
methods on the NGINX Plus client.This implementation also provides a foundation on which other Border Servers can be created. **This is not a goal of the project at present.
Checklist
Before creating a PR, run through this checklist and mark each as complete.
CONTRIBUTING
documentREADME.md
andCHANGELOG.md
)