mglantz / bicycle

:bicyclist: If you need a bicycle instead of a satellite
GNU General Public License v3.0
14 stars 5 forks source link

Automatic bicycle server discovery via DNS #8

Open abradshaw opened 6 years ago

abradshaw commented 6 years ago

Locate preferred bicycle server via simply querying for a DNS SRV record

sspreitzer commented 6 years ago

Maybe also server loadbalancing aka "balanced tandem" via DNS TXT/SRV records

sspreitzer commented 6 years ago

Maybe also repository discovery (site specific) via DNS TXT/SRV.

eg.: myrepository._mysite._yum.example.com -> "https://biycle.mysite.example.com/repos/myrepository"

ldelouw commented 6 years ago

Implement site discovery as well. This automatically points the client to the next repo available.

Example:

[luc@f28 ~]$ dig _pkgrepo._tcp.example.com. SRV _pkgrepo._tcp.example.com. 86400 IN CNAME _ldap._tcp.NUE._locations.example.com. _pkgrepo._tcp.BER._locations.example.com. 86400 IN SRV 0 100 80 example.com.

Where 0 is the prio, 100 the weight and 80 the port.

Prototype needed....

sspreitzer commented 5 years ago

Let us do the resolving part on the bicycle server and set the URL in the client repo file. So we have no dependencies on the clients, like scripts or yum plugins. Simple wins.

Downside, how to discover the site a client belongs to?

Could use DNS lookup function from ansible or run "dig" via shell.