Hi Daniel, I spent some time trying to create a similar patch for the refactored geoip module, but it would become very awkward, obsoleting the reason why I implemented it in there in the first place. Would you accept a patch adding a new module as well?
Thanks a lot, Conrad On 2/19/19 2:29 PM, Daniel Salzman wrote: > Hi Conrad, > > First, please wait until we finish some optimizations in the module (in the > order of weeks) :-) > Then our Gitlab is the best place for further collaboration. Just your > account has to be authorized. > > Daniel > > On 2/19/19 2:02 PM, Conrad Hoffmann wrote: >> Hi Daniel, >> >> thanks for the support. I am happy to try to create a real patch, >> including documentation and stuff. What would be the procedure for this? >> Stick to this mailing list? Or would your Gitlab instance be the place >> to handle such things? >> >> Thanks a lot, >> Conrad >> >> On 2/19/19 11:03 AM, Daniel Salzman wrote: >>> Hi Conrad, >>> >>> Thanks for the patch :-) If such a feature is useful for someone, we could >>> extend >>> the geoip module. I think it would be better than creating another module >>> with >>> similar functionality. >>> >>> Best, >>> Daniel >>> >>> On 2/18/19 6:18 PM, Conrad Hoffmann wrote: >>>> Hi there! >>>> >>>> At work, we make use something often referred to as "weighted records", >>>> a feature offered by many managed DNS vendors. We use it to implement >>>> e.g. a canary environment, where we test changes on a small portion of >>>> production traffic. >>>> >>>> I played around with knot-dns for a bit (quite impressed), and figured >>>> it might be nice to implement such a feature for it. Turns out, the code >>>> is so amazing that if you abuse the infrastructure of the geoip module, >>>> it only takes an hour (very impressed). >>>> >>>> If you are interested in trying it, read on further below, but just to >>>> state my intention: I was wondering if such a feature would be of >>>> interest at all? >>>> >>>> I realize the geoip module may not be the appropriate for such an >>>> implementation, consider this merely a demo of sorts. >>>> >>>> So here goes nothing: >>>> >>>> 1. apply attached patch >>>> 2. config file snippet: >>>> >>>> mod-geoip: >>>> - id: test >>>> config-file: /etc/knot/test.conf >>>> ttl: 600 >>>> mode: weighted >>>> >>>> zone: >>>> - domain: example.com. >>>> file: "/var/lib/knot/example.com.zone" >>>> module: mod-geoip/test >>>> >>>> 3. /etc/knot/test.conf: >>>> >>>> lb.example.com: >>>> - weight: 10 >>>> CNAME: www1.example.com. >>>> - weight: 5 >>>> CNAME: www2.example.com. >>>> >>>> Results in this: >>>> >>>> conrad@deltree ~/hack/knot-dns $ for i in $(seq 1 100); do dig >>>> @192.168.1.242 A lb.example.com +short; done | sort | uniq -c >>>> 68 www1.example.com. >>>> 32 www2.example.com. >>>> conrad@deltree ~/hack/knot-dns $ for i in $(seq 1 100); do dig >>>> @192.168.1.242 A lb.example.com +short; done | sort | uniq -c >>>> 72 www1.example.com. >>>> 28 www2.example.com. >>>> conrad@deltree ~/hack/knot-dns $ for i in $(seq 1 100); do dig >>>> @192.168.1.242 A lb.example.com +short; done | sort | uniq -c >>>> 66 www1.example.com. >>>> 34 www2.example.com. >>>> >>>> >>>> You get the idea. Anyways, any thoughts and feedback would be greatly >>>> appreciated. >>>> >>>> Thanks a lot, >>>> Conrad >>>> >>>> >>> > -- https://lists.nic.cz/cgi-bin/mailman/listinfo/knot-dns-users
