{"action":"created","issue":{"url":"https://api.github.com/repos/StackExchange/dnscontrol/issues/304","repository_url":"https://api.github.com/repos/StackExchange/dnscontrol","labels_url":"https://api.github.com/repos/StackExchange/dnscontrol/issues/304/labels{/name}","comments_url":"https://api.github.com/repos/StackExchange/dnscontrol/issues/304/comments","events_url":"https://api.github.com/repos/StackExchange/dnscontrol/issues/304/events","html_url":"https://github.com/StackExchange/dnscontrol/pull/304","id":289561018,"node_id":"MDExOlB1bGxSZXF1ZXN0MTYzNjYxMDAy","number":304,"title":"Add gandi live DNS api provider","user":{"login":"tjamet","id":6061440,"node_id":"MDQ6VXNlcjYwNjE0NDA=","avatar_url":"https://avatars1.githubusercontent.com/u/6061440?v=4","gravatar_id":"","url":"https://api.github.com/users/tjamet","html_url":"https://github.com/tjamet","followers_url":"https://api.github.com/users/tjamet/followers","following_url":"https://api.github.com/users/tjamet/following{/other_user}","gists_url":"https://api.github.com/users/tjamet/gists{/gist_id}","starred_url":"https://api.github.com/users/tjamet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tjamet/subscriptions","organizations_url":"https://api.github.com/users/tjamet/orgs","repos_url":"https://api.github.com/users/tjamet/repos","events_url":"https://api.github.com/users/tjamet/events{/privacy}","received_events_url":"https://api.github.com/users/tjamet/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":31,"created_at":"2018-01-18T09:35:05Z","updated_at":"2018-08-14T14:31:29Z","closed_at":"2018-02-24T19:01:25Z","author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/StackExchange/dnscontrol/pulls/304","html_url":"https://github.com/StackExchange/dnscontrol/pull/304","diff_url":"https://github.com/StackExchange/dnscontrol/pull/304.diff","patch_url":"https://github.com/StackExchange/dnscontrol/pull/304.patch"},"body":"As discussed in https://github.com/tjamet/gandi-api/pull/2 here is a PR to add the gandi live DNS provider\r\nI have updated the initial changes I made to have a more testable code and actually have some automated tests for the mapping logic.\r\n\r\nThere are still things I am not completely sure like the calls around `dc.CombineCAAs()` (the base code is inherited from the current gandi provider) and I did not have time to test it against production system yet.\r\n\r\nI have added a test dependency to `github.com/stretchr/testify` being used to this assertion library but I am happy to move to any other assertion library if needed, to have a coherent testing harness.\r\n\r\nI hope tests are readable enough to explain what are the conversions that are done by the library\r\n\r\nThe main idea when applying the correction is to create a new empty zone with the same characteristics as the current one, add all required records and finally migrate the domain to use this zone.\r\n\r\nHappy to edit this PR with any feedback or idea\r\n\r\nSigned-off-by: Thibault Jamet <tjamet@users.noreply.github.com>"},"comment":{"url":"https://api.github.com/repos/StackExchange/dnscontrol/issues/comments/412892594","html_url":"https://github.com/StackExchange/dnscontrol/pull/304#issuecomment-412892594","issue_url":"https://api.github.com/repos/StackExchange/dnscontrol/issues/304","id":412892594,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMjg5MjU5NA==","user":{"login":"tlimoncelli","id":6293917,"node_id":"MDQ6VXNlcjYyOTM5MTc=","avatar_url":"https://avatars3.githubusercontent.com/u/6293917?v=4","gravatar_id":"","url":"https://api.github.com/users/tlimoncelli","html_url":"https://github.com/tlimoncelli","followers_url":"https://api.github.com/users/tlimoncelli/followers","following_url":"https://api.github.com/users/tlimoncelli/following{/other_user}","gists_url":"https://api.github.com/users/tlimoncelli/gists{/gist_id}","starred_url":"https://api.github.com/users/tlimoncelli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tlimoncelli/subscriptions","organizations_url":"https://api.github.com/users/tlimoncelli/orgs","repos_url":"https://api.github.com/users/tlimoncelli/repos","events_url":"https://api.github.com/users/tlimoncelli/events{/privacy}","received_events_url":"https://api.github.com/users/tlimoncelli/received_events","type":"User","site_admin":false},"created_at":"2018-08-14T14:31:29Z","updated_at":"2018-08-14T14:31:29Z","author_association":"CONTRIBUTOR","body":"That's a good question!  My recollection is that yes, the sharing ID came back from that call, so we used that. I think we saw it work on one domain, so we merged the code and didn't give it much thought.  Maybe it was a fluke, or maybe we imagined it! :-)\r\n\r\n\"Copy the ID from a website\" is not what I would consider an API best practice. :-(\r\n\r\nAnyway...\r\n\r\nWe could put the sharing Id in creds.json file.  Managing multiple organizations would be done by having one entry per org. Thoughts?\r\n"}}
{"actor":{"display_login":"tlimoncelli"}}