fix record pre-processing
This commit is contained in:
+12
-4
@@ -3,6 +3,7 @@ const client = new Etcd3({
|
||||
hosts: 'http://127.0.0.1:2379',
|
||||
});
|
||||
|
||||
// Converts a FQDN to a path usable by CoreDNS
|
||||
function DomainToCoreDNS(domain) {
|
||||
const prefix = "/skydns/";
|
||||
const parts = domain.split(".");
|
||||
@@ -11,14 +12,19 @@ function DomainToCoreDNS(domain) {
|
||||
return prefix + path;
|
||||
}
|
||||
|
||||
async function GetAllRecords(domain) {
|
||||
console.log(`GetAllRecords for ${domain}`);
|
||||
// Inverse of DomainToCoreDNS
|
||||
function CoreDNSToDomain(corednsDomain) {
|
||||
corednsDomain = corednsDomain.substring(8);
|
||||
const parts = domain.split("/");
|
||||
if (parts.length < 2) return false;
|
||||
const path = parts.reverse().join(".");
|
||||
return path;
|
||||
}
|
||||
|
||||
async function GetAllRecords(domain) {
|
||||
const prefix = DomainToCoreDNS(domain);
|
||||
if (!prefix) throw new Error("Invalid domain");
|
||||
console.log(`Prefix is ${prefix}`);
|
||||
const kvs = await client.getAll().prefix(prefix).strings();
|
||||
console.log(`KVs are ${JSON.stringify(kvs)}`);
|
||||
return kvs;
|
||||
}
|
||||
|
||||
@@ -33,6 +39,8 @@ async function RegisterNewDomain(domain) {
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
CoreDNSToDomain,
|
||||
|
||||
GetAllRecords,
|
||||
RegisterNewDomain
|
||||
}
|
||||
Reference in New Issue
Block a user