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

[WIP] Add dynapi plugin #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

[WIP] Add dynapi plugin #1

wants to merge 1 commit into from

Conversation

syndbg
Copy link
Collaborator

@syndbg syndbg commented Sep 1, 2018

Intro:

The goal of this PR is to have the dynapi plugin moved from coredns/coredns#1822 to this repository.

The "dynamic registration" part will remain inside coredns/coredns since other "base" plugins need to implement it.

The dynamic CRUD API for DNS records will live here.

Why is this not in the coredns/coredns

* First, the plugin should be useful for other people. "Useful" is a subjective term. We will probably need to further refine this.
* It should be sufficiently different from other plugin to warrant inclusion.
* Current internet standards need be supported: IPv4 and IPv6, so A and AAAA records should be handled (if your plugin is in the business of dealing with address records that is).
* It must have tests.
* It must have a README.md for documentation.

First and foremost it must be observed how useful the plugin is to other people. Obviously there's some interest, but no clear stats are observed at the moment.

Lets get this started before jumping to the main repository (if ever).

Ref: https://github.com/coredns/coredns/blob/master/plugin.md#qualifying-for-main-repo

What needs to be done in github.com/coredns/dynapi

Action plan is based on common sense, https://github.com/coredns/coredns/blob/master/plugin.md and the quality of other CoreDNS plugins such as:

  • Extract only the dynapirest part from [WIP] Dynamic updates API with listen server coredns#1822
  • Add README.md that satisfies the criteria of:
    • Having a name that briefly explains the purpose
    • Having a description that goes into more detail regarding the purpose
    • Having an install section that explains how to use this plugin with CoreDNS.
    • Having a syntax section explaining the accepted arguments by the plugin
    • Having an examples section which shows basic Corefile(s) with usage of the plugin for different scenarios
    • Clear API documentation of what endpoints are provided and what request and response bodies are used
    • Bugs/edge-cases/notes explicitly mentioned and/or described
  • Have unit tests
  • Have logging via "github.com/coredns/coredns/plugin/pkg/log" that covers the INFO/DEBUG/ERR cases at least, to make debugging and traceability easier.

Signed-off-by: Anton Antonov anton.synd.antonov@gmail.com

Signed-off-by: Anton Antonov <anton.synd.antonov@gmail.com>
@syndbg syndbg self-assigned this Sep 1, 2018
@vtolstov
Copy link

any progress?

@syndbg
Copy link
Collaborator Author

syndbg commented Sep 14, 2018

@vtolstov Didn't start anything. Will do it this weekend.

@piaoyu
Copy link

piaoyu commented Oct 9, 2018

@syndbg it's very useful for us . And I put coredns/coredns#1822 merge into coredns and write the etcd plugin. Waiting for the dynapi plugin

@unixfox
Copy link

unixfox commented Nov 8, 2018

Any news? I'm also interested into this plugin for updating records with the dynamic IP of my home server.

@vtolstov
Copy link

ping, do you plan to finish this?

@syndbg
Copy link
Collaborator Author

syndbg commented Nov 27, 2018

@vtolstov Yes. I have this week free for Open-source work.

The reason why I haven't exactly finished this is cause in the last few months of production usage led me to make few changes. Will share more.

@mrueg
Copy link

mrueg commented Dec 21, 2018

Would be awesome to see progress on this one! Is your plan to be compliant with https://tools.ietf.org/html/rfc2136 ?

@gregorybrzeski
Copy link

@syndbg can you provide some update information on this ? is there any code you can share so we can try to help ?

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

Successfully merging this pull request may close these issues.

6 participants