-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Gandi provider #2037
Add Gandi provider #2037
Conversation
/kind feature |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for adding Gandi as new provider, I've only some small nits nothing biggie. As soon as we got this out of the way, I'm happy to merge it ❤️
g := gandi.Config{ | ||
SharingID: sharingID, | ||
Debug: false, | ||
// dry-run doesn't work but it won't hurt passing the flag |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this confuses me 😆 , why is the dry-run not working?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apparently it's only for payment related functions which we're not using at all. The parameter-name is a bit misleading...
provider/gandi/client.go
Outdated
} | ||
|
||
// StandardResponse copied from go-gandi/internal/gandi.go | ||
type StandardResponse struct { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would suggest to lower-case all structs, this should only used withing the provider gandi, no need to expose it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah neat, learning something new every time I use go ;)
provider/gandi/client.go
Outdated
} | ||
|
||
// StandardError copied from go-gandi/internal/gandi.go | ||
type StandardError struct { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same here
provider/gandi/gandi_test.go
Outdated
{ | ||
FQDN: "example.com", | ||
FQDNUnicode: "example.com", | ||
Href: "https://api.gandi.net/v5/domain/domains/example.com", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd suggest adding this as a const or something, so in case the version gets updates, you don't need to update on each line 🙂
Feedback implemented, let me know if I need to rebase the branch or if I should stash the commits. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok I don't want to block this anymore. Thank you @packi for being so patient 🙏🏻 .
I'll merge it now. We only need to create a follow PR to adjust the external-dns version, this needs to be updated it should be >=0.8.0. Gandi should be in v0.9.0
/lgtm
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: njuettner, packi The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Description
This adds support for domains/zones managed using Gandi LiveDNS using the go-gandi/go-gandi library.
The library has some internal structs that it's using as return values, that makes the mocking a bit cumbersome. I've opended-up a pull-request for that (go-gandi/go-gandi#18).
In the documentation I'm not sure to which release to refer to as the minimal requirement. I've referenced the, as of yet, non-existing release 0.7.7.
Fixes #789
Checklist