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", "name": "azure-acme-provisioner",
"version": "0.2.0", "version": "0.3.4",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "azure-acme-provisioner", "name": "azure-acme-provisioner",
"version": "0.2.0", "version": "0.3.4",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@azure/arm-dns": "^5.1.0", "@azure/arm-dns": "^5.1.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "azure-acme-provisioner", "name": "azure-acme-provisioner",
"version": "0.3.3", "version": "0.3.4",
"author": { "author": {
"name": "Sławomir Koszewski", "name": "Sławomir Koszewski",
"url": "https://github.com/skoszewski" "url": "https://github.com/skoszewski"
+11 -9
View File
@@ -25,18 +25,20 @@ export async function scanDnsZones(
if (!zone.name) continue; if (!zone.name) continue;
if (config.dnsZones && !config.dnsZones.includes(zone.name)) continue; if (config.dnsZones && !config.dnsZones.includes(zone.name)) continue;
const zoneName = zone.name;
if (isAcmeTagged(zone.tags)) { if (isAcmeTagged(zone.tags)) {
addDomain(results, seen, zone.name, rg, false); addDomain(results, seen, zoneName, rg, false);
addDomain(results, seen, `*.${zone.name}`, rg, true); addDomain(results, seen, `*.${zoneName}`, rg, true);
} }
for (const recordType of ['A', 'AAAA', 'CNAME'] as const) { for await (const record of client.recordSets.listByDnsZone(rg, zoneName)) {
for await (const record of client.recordSets.listByType(rg, zone.name, recordType)) { if (!record.name) continue;
if (!record.name) continue; if (!isAcmeTagged(record.metadata)) continue;
if (!isAcmeTagged(record.metadata)) continue; const recordType = record.type?.split('/').pop();
const fqdn = record.name === '@' ? zone.name : `${record.name}.${zone.name}`; if (recordType !== 'A' && recordType !== 'AAAA' && recordType !== 'CNAME') continue;
addDomain(results, seen, fqdn, rg, false); const fqdn = record.name === '@' ? zoneName : `${record.name}.${zoneName}`;
} addDomain(results, seen, fqdn, rg, false);
} }
} }
} }