Re: put-dns - Abstraction of external DNS record creation

2021-01-06 Thread John Lines
> 
> Seems there's a standard protocol https://www.domainconnect.org/
> 
> Their reference code is in Python as well, like octopress, in case 
> that's relevant.
> 
> 
>  - Jonas
> 
I have
written https://gitlab.com/JohnLines/put-dns/-/wikis/Similar-or-Related-Projects
 to describe where I think these projects fit.

The idea behind put-dns is that if someone was packaging,
say Libravatar the could put into their postinst

put-dns "_avatars._tcp.example.com. IN SRV 0 0 80 avatars.example.com"
put-dns "_avatars-sec._tcp.example.com. IN SRV 0 0 443
avatars.example.com"

with appropriate values for avatars.example.com, and if put-dns was
already configured with a working provider then the end user would not
need to do that step.

Complex cases, with multiple redundant servers, load balancing etc will
require much more planning and understanding of the configuration
possibilities and are out of the scope of put-dns.

John


Re: put-dns - Abstraction of external DNS record creation

2021-01-03 Thread Jonas Smedegaard
Quoting John Lines (2021-01-03 19:03:26)
> On Sun, 2021-01-03 at 08:11 +0200, Steve Kemp wrote:
> > It's an interesting idea, but I suspect in order to be useful it will
> > need to handle a wider number of sites.
> > 
> > There are several projects out there which attempt to abstract DNS
> > entries across systems, allowing you to mirror zones, etc.  For
> > example you might consult:
> > 
> > https://github.com/octodns/octodns
> > 
> > Steve
> > 
> Thank you, Octodns looks very interesting, although it seems to be
> aimed at rolling out a full set of DNS records for a domain, whereas
> for a use in a Debian package it would be more a case of adding, for
> example an SRV record in the postinst, so that the user did not have do
> do that by hand.
> 
> It does have a nice collection of providers, and it would be good to be
> able to use them to add a single record without replacing the entire
> zone, which may be possible, with some further investigation.

Seems there's a standard protocol https://www.domainconnect.org/

Their reference code is in Python as well, like octopress, in case 
that's relevant.


 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

signature.asc
Description: signature


Re: put-dns - Abstraction of external DNS record creation

2021-01-03 Thread John Lines
On Sun, 2021-01-03 at 08:11 +0200, Steve Kemp wrote:
> It's an interesting idea, but I suspect in order to be useful it will
> need to handle a wider number of sites.
> 
> There are several projects out there which attempt to abstract DNS
> entries across systems, allowing you to mirror zones, etc.  For
> example you might consult:
> 
> https://github.com/octodns/octodns
> 
> Steve
> 
Thank you, Octodns looks very interesting, although it seems to be
aimed at rolling out a full set of DNS records for a domain, whereas
for a use in a Debian package it would be more a case of adding, for
example an SRV record in the postinst, so that the user did not have do
do that by hand.

It does have a nice collection of providers, and it would be good to be
able to use them to add a single record without replacing the entire
zone, which may be possible, with some further investigation.

John



Re: put-dns - Abstraction of external DNS record creation

2021-01-02 Thread Steve Kemp
It's an interesting idea, but I suspect in order to be useful it will
need to handle a wider number of sites.

There are several projects out there which attempt to abstract DNS
entries across systems, allowing you to mirror zones, etc.  For
example you might consult:

https://github.com/octodns/octodns

Steve



put-dns - Abstraction of external DNS record creation

2021-01-02 Thread John Lines
While working towards the creation of a Small Organisation Server,
based around federated and open protocols I needed a way to create DNS
records on an external DNS server.

I could not find an existing general way to do this, so I created a
command put-dns, which is just a shell script which is passed a DNS
record in RFC 1034 format, and then passes this on to a provider-
specific script which does the actual update.

I have this implemented for one real provider, a hosting/DNS provider
called Mythic Beasts, and a 'none' provider which simply outputs the
request to a text file.

Having got this far I thought this might be useful for other projects,
so I have split it off into https://gitlab.com/JohnLines/put-dns

If something which does the same job already exists then please let me
know, and I will use that, and package it if not already packaged.

I have no desire to reinvent the wheel, but have noticed there are
several projects where the instructions for installation contain 'now
set up a DNS record', but there is not much to help an average end user
with this.
There is the namecheap package, which I have not looked at beyond the
description, but that is tied to a single provider, and does more than
is needed.

I would welcome feedback as to whether abstracting external DNS updates
seems a good idea, even if only in a crude way, would other projects
find this useful as an option ?

John