fix record pre-processing

This commit is contained in:
2026-05-14 16:00:59 -04:00
parent b064fdb07c
commit f160d661f0
3 changed files with 16 additions and 8 deletions
+12 -4
View File
@@ -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
}