fix: refactor DNS record retrieval logic to optimize zone scanning.
This commit is contained in:
Generated
+2
-2
@@ -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
@@ -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
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user