Skip to content
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

Namecheap DNS support #520

Closed
dkvdm opened this issue Oct 29, 2014 · 10 comments
Closed

Namecheap DNS support #520

dkvdm opened this issue Oct 29, 2014 · 10 comments

Comments

@dkvdm
Copy link

dkvdm commented Oct 29, 2014

https://www.namecheap.com/support/api/intro.aspx

@lukehoersten
Copy link

Any progress on this?

@mitchellh
Copy link
Contributor

Not yet, would love any contributions though. :)

@rgl
Copy link
Contributor

rgl commented Jun 23, 2015

I would like to chip in! What's the best way to contribute? fork terraform and add the provider there? or do it externally?

@rgl
Copy link
Contributor

rgl commented Jul 6, 2015

I've took a closer look at the API but I'm afraid this is going to be quite painful to implement in the same vain as the dnsimple provider... :-(

The namecheap API only has a setHosts method that sets the entire set of DNS RRs. There is no way to directly identify each RR or modify them individually.

So, how should we implement this?

I'm seeing two possibilities:

  1. a single namecheap_dns_hosts resource with multiple namecheap_dns_record child resouces? which, I'm hopping, can be translated into a single call to setHosts.
  2. or a complex solution that has multiple top-level namecheap_dns_record resources, each identified by its (type,name) (with the complexity that we can have multiple RR for the same (type,name) pair... so somehow this has to be handled) that translates into multiple calls to getHosts/transform/setHosts (atomically).

Thoughts?

@lukehoersten
Copy link

Actually it's different but it's not too bad. Sending Namecheap a full DNS hosts snapshot every time removes the complexity of uniquely identifying things on our end and their and (and what happens when those get out of sink).

So really the task is just how best to represent the full DNS records table in Terraform syntax.

I like your solution #2 because it makes it a hell of a lot easier to have a module register all your hosts. Is there any way to defer the getHosts/transform/setHosts until the end so they can all be collected up and run as a single snapshot?

@HX-Rd
Copy link

HX-Rd commented Mar 2, 2016

Hi.
I have implemented this provider and created a [WIP] pull request.
I'm not really a go developer any comments on the code is appreciated. I haven't really been committing to the open source community so sorry in advance if i messed up the pull request. But enough excuses.
I tried keeping the implementation in the same fashion as the other DNS providers.
Acceptance tests run fine on my dev build.

@artburkart
Copy link
Contributor

Since they're not linked: #5846

@OranguTech
Copy link

Bumping here as well. Note that the NC API appears to have not been touched since 2014: https://www.namecheap.com/support/api/change-log.aspx

feedback@namecheap.com seems to be most frictionless method to ask for changes. Might be worth it for customers (and Hashi) to start (politely) raising tickets as well?

@mildwonkey
Copy link
Contributor

Hi @flxfxp and everyone else who has chimed in on this request!

Our Provider Development Program is the process by which new providers can be brought into that organization and published into the HashiCorp-maintained plugin repository. This process is primarily aimed at vendors who wish to develop plugins for their own services (in this case, for Namecheap themselves to develop a provider to this service) and we acknowledge that this process is more "heavy" than ideal for a third-party developer, but we are open to discussing bringing in a community-maintained provider if the maintainer(s) are willing to support the provider and to collaborate with the vendor on maintenance if they later wish to join the program themselves.

I did find https://github.com/adamdecaf/terraform-provider-namecheap, referenced in #5846, and perhaps the maintainer of that repository might be interested in onboarding into the HashiCorp-maintained plugin repository.

Since the provider onboarding process happens outside of the Terraform repository, and so there's no further action we could take here on this, I'm going to close this out.

@ghost
Copy link

ghost commented Apr 3, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@ghost ghost locked and limited conversation to collaborators Apr 3, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

10 participants