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

Update terraform sdk to v2 #84

Open
selfuryon opened this issue May 20, 2021 · 5 comments
Open

Update terraform sdk to v2 #84

selfuryon opened this issue May 20, 2021 · 5 comments

Comments

@selfuryon
Copy link

How about updating terraform sdk (and maybe other packages) to v2 version?

Can do it in future PRs

@mbag
Copy link
Collaborator

mbag commented May 24, 2021

Hi @selfuryon yes, this is something we should definitively do. I would however, like to migrte the outstanding PRs so that we avoid potential conflicts with the new SDK.

@selfuryon
Copy link
Author

Yeah, I'm going to make separate PR for that.
How about migrate communication with PowerDNS to separate go-binding library for PowerDNS (need to create it) for separating logic of communication with powerdns and provider logic?

@mbag
Copy link
Collaborator

mbag commented May 24, 2021

How about migrate communication with PowerDNS to separate go-binding library for PowerDNS (need to create it) for separating logic of communication with powerdns and provider logic?

After adopting this provider, we were looking for go library that would do that. I know there are mutliple libraries out there doing this. However, we didn't find anything that was maintained actively, but most important we didn't find lirbary that would be officially promoted/endorsed by core PowerDNS team. As you might have noticed, this provider, is not created/maintained by the comapny doing development on the core PowerDNS.

I don't mind using third party PowerDNS library, but we use subset of the PowerDNS API features. It would be an overkill to maintain such client, that would have general usability outside of this provider @splashx what are your thoughts on this?

@selfuryon
Copy link
Author

In our company we want to manage our PowerDNS servers completely through terraform, so I want to create implementation for almost all aspect of API endpoints for auth/recursor PowerDNS servers.
For this task I thought to create simple go-bindings, it will be really much simpler to add functionality via such approach.

@jbe-dw
Copy link
Contributor

jbe-dw commented May 25, 2021

I used go-swagger to create our PowerDNS Admin provider, but I really don't like the generated code. It uses the publicly available swagger API definition to create a ready to use client (any language, including go). All naming relies on the api itself. It works if the API matches the swagger yaml.

Rewriting the bindings is a long way to go, unless you're not alone and have full time to do so.

I have talked to PDNS team and the API is a plus, not the cornerstone of their software, so they won't spend time on it. I would have said that they have a master card to play about automation to sip Bind customers which does not offer any API and automation at all (or poorly). If I was their lead I would have invest efforts to deliver tooling around automation topics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants