fix: refactor DNS record retrieval logic to optimize zone scanning.

This commit is contained in:
2026-05-22 12:00:22 +02:00
parent e2fc2718dc
commit 40ec41da28
3 changed files with 14 additions and 12 deletions
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "azure-acme-provisioner",
"version": "0.2.0",
"version": "0.3.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "azure-acme-provisioner",
"version": "0.2.0",
"version": "0.3.4",
"license": "MIT",
"dependencies": {
"@azure/arm-dns": "^5.1.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "azure-acme-provisioner",
"version": "0.3.3",
"version": "0.3.4",
"author": {
"name": "Sławomir Koszewski",
"url": "https://github.com/skoszewski"
+8 -6
View File
@@ -25,21 +25,23 @@ export async function scanDnsZones(
if (!zone.name) continue;
if (config.dnsZones && !config.dnsZones.includes(zone.name)) continue;
const zoneName = zone.name;
if (isAcmeTagged(zone.tags)) {
addDomain(results, seen, zone.name, rg, false);
addDomain(results, seen, `*.${zone.name}`, rg, true);
addDomain(results, seen, zoneName, rg, false);
addDomain(results, seen, `*.${zoneName}`, rg, true);
}
for (const recordType of ['A', 'AAAA', 'CNAME'] as const) {
for await (const record of client.recordSets.listByType(rg, zone.name, recordType)) {
for await (const record of client.recordSets.listByDnsZone(rg, zoneName)) {
if (!record.name) continue;
if (!isAcmeTagged(record.metadata)) continue;
const fqdn = record.name === '@' ? zone.name : `${record.name}.${zone.name}`;
const recordType = record.type?.split('/').pop();
if (recordType !== 'A' && recordType !== 'AAAA' && recordType !== 'CNAME') continue;
const fqdn = record.name === '@' ? zoneName : `${record.name}.${zoneName}`;
addDomain(results, seen, fqdn, rg, false);
}
}
}
}
return results;
}