• Till Klocke's avatar
    Implementation of multiple targets based on PR #404 and #396 (#418) · 5d548496
    Till Klocke authored
    * Endpoint.Target is now Endpoint.Targets. This is its own type representing mutliple targets for a single DNS name while adding some convenience for sorting and comparing
    
    * Made everything compile and tests run through with the new Endpoint.Targets
    
    * The ingress source can now properly handle multiple target ips per host
    
    * Added custom conflict resolver, to better understand how conflict resolution has to work for me
    
    * My custom conflict resolver behaves a bit different than the PerResource resolver, therefore I needed to modify the expected test result
    
    Removed unnecessary FIXME
    
    * The ingress source now creates CNAME endpoints with multiple targets to let the DNS provider decide how to handle multiple CNAME targets. This could be interesting for weighted targets etc.
    
    * Adopted the expected results to the new way we create endpoints for CNAMEs
    
    * Removed Add method from Targets since manipulating the slice through here is unnecessary complicated and doesn't deliver enough convenience
    
    * Reverted ConflictResolver to the original one. There is some discussing to do what the best way is to handle conflicts
    
    * Added missing documenting comment to IsLess of Targets
    
    * Added documenting comments to Targets,Targets.Same and NewTargets to clarify their intention and usage
    
    * Service source now also generates endpoints with multiple targets
    
    * Service and Ingress source now sort all Targets for every Endpoint to make order of Targets predictable
    
    * Endpoints generated by the Google Cloud DNS provider now also have sorted Targets to make order of Targets predictable
    
    * Modified provider dyn to be able to compile with multi target changes
    
    * Fixed small nitpicks, so my code is acceptable
    
    * Fixed merge method after updating to new Targets. Replacing '!=' with .Same of course needs a boolean negation
    
    * Tests for dyn provider now also use the new Targets instead of Target
    
    * Simplified extractServiceIps as implied by linki to make it more readable
    
    * ref: change service ClusterIP retrieval again
    
    * Added entry to CHANGELOG.md describing the new features contained in this PR
    5d548496