Merge the logic of ToUrlMap() and IngressToNodePorts() #257
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.
This PR attempts to merge the logic of two function in the translator. Right now, ToUrlMap() and IngressToNodePorts() both iterate over an Ingress spec in very similar ways. In order to reduce complexity of having two similar code paths being executed at different times, we can merge these two functions together to ensure easier testing and maintainability.
This also gives us the opportunity to store all config in one place (GCEURLMap). Now, this struct uses a ServicePort to denote a backend rather than the backend's name. (credit to @nicksardo for this idea)
If this approach looks reasonable, I will add tests for it (there are no tests for any of this currently).
This PR is a prerequisite for condensing backend pool's (#242).
/assign @nicksardo