Skip to content

Commit 389a2c4

Browse files
Remove externalized DNS provider config and unused SDK dependencies
DNS providers are now separate plugins, so the ACME plugin no longer needs their SDKs or per-provider config fields. Drop the AWS, Azure, ARSoft (RFC2136), and Nager.PublicSuffix package references (all unused in code) and remove the DnsProvider selector plus every per-provider config entry from the integration manifest. Keep the ACME-level fields, AccountStoragePath (still used for account storage), and DnsVerificationServer (used for propagation checks and CNAME resolution). DnsClient is retained for CNAME delegation and TXT propagation.
1 parent a19cce6 commit 389a2c4

2 files changed

Lines changed: 3 additions & 111 deletions

File tree

AcmeCaPlugin/AcmeCaPlugin.csproj

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,32 +22,8 @@
2222
<PackageReference Include="System.Drawing.Common" Version="10.0.2" />
2323
<PackageReference Include="System.Net.Http.WinHttpHandler" Version="9.0.5" />
2424
<PackageReference Include="System.Security.Cryptography.ProtectedData" Version="9.0.5" />
25-
26-
<!-- DNS Provider dependencies - REMOVE THESE after migrating all providers to plugins -->
27-
<!-- TODO: These should be removed once all DNS providers are moved to separate plugin projects -->
28-
<!-- Google DNS - MIGRATED to Keyfactor.DnsProvider.Google plugin -->
29-
<!-- <PackageReference Include="Google.Apis.Dns.v1" Version="1.69.0.3753" /> -->
30-
31-
<!-- AWS Route53 - TODO: Migrate to plugin -->
32-
<PackageReference Include="AWSSDK.Core" Version="4.0.3.11" />
33-
<PackageReference Include="AWSSDK.Route53" Version="4.0.8.8" />
34-
35-
<!-- Azure DNS - TODO: Migrate to plugin -->
36-
<PackageReference Include="Azure.Identity" Version="1.14.0" />
37-
<PackageReference Include="Azure.ResourceManager.Cdn" Version="1.4.0" />
38-
<PackageReference Include="Azure.ResourceManager.Dns" Version="1.1.1" />
39-
40-
<!-- RFC2136 - TODO: Migrate to plugin -->
41-
<PackageReference Include="ARSoft.Tools.Net" Version="3.6.0" />
42-
43-
<!-- Cloudflare - TODO: Migrate to plugin (uses standard HTTP client) -->
44-
45-
<!-- NS1 - TODO: Migrate to plugin (uses standard HTTP client) -->
46-
47-
<!-- Infoblox - TODO: Migrate to plugin (uses standard HTTP client) -->
48-
49-
<!-- Public Suffix - TODO: Evaluate if needed in core or per-provider -->
50-
<PackageReference Include="Nager.PublicSuffix" Version="3.5.0" />
25+
<!-- DnsClient (above) is used for CNAME delegation resolution and TXT propagation checks.
26+
DNS provider SDKs now live in their own externalized DNS provider plugins. -->
5127
</ItemGroup>
5228
<ItemGroup>
5329
<None Update="manifest.json">

integration-manifest.json

Lines changed: 1 addition & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -37,97 +37,13 @@
3737
"name": "SignerEncryptionPhrase",
3838
"description": "Used to encrypt singer information when account is saved to disk (optional)"
3939
},
40-
{
41-
"name": "DnsProvider",
42-
"description": "DNS Provider to use for ACME DNS-01 challenges (options: Google, Cloudflare, AwsRoute53, Azure, Ns1, Rfc2136, Infoblox)"
43-
},
44-
{
45-
"name": "Google_ServiceAccountKeyPath",
46-
"description": "Google Cloud DNS: Path to service account JSON key file only if using Google DNS (Optional)"
47-
},
48-
{
49-
"name": "Google_ServiceAccountKeyJson",
50-
"description": "Google Cloud DNS: Service account JSON key content (alternative to file path for containerized deployments)"
51-
},
52-
{
53-
"name": "Google_ProjectId",
54-
"description": "Google Cloud DNS: Project ID only if using Google DNS (Optional)"
55-
},
5640
{
5741
"name": "AccountStoragePath",
5842
"description": "Path for ACME account storage. Defaults to %APPDATA%\\AcmeAccounts on Windows or ./AcmeAccounts in containers."
5943
},
60-
{
61-
"name": "Cloudflare_ApiToken",
62-
"description": "Cloudflare DNS: API Token only if using Cloudflare DNS (Optional)"
63-
},
64-
{
65-
"name": "Azure_ClientId",
66-
"description": "Azure DNS: ClientId only if using Azure DNS and Not Managed Itentity in Azure (Optional)"
67-
},
68-
{
69-
"name": "Azure_ClientSecret",
70-
"description": "Azure DNS: ClientSecret only if using Azure DNS and Not Managed Itentity in Azure (Optional)"
71-
},
72-
{
73-
"name": "Azure_SubscriptionId",
74-
"description": "Azure DNS: SubscriptionId only if using Azure DNS and Not Managed Itentity in Azure (Optional)"
75-
},
76-
{
77-
"name": "Azure_TenantId",
78-
"description": "Azure DNS: TenantId only if using Azure DNS and Not Managed Itentity in Azure (Optional)"
79-
},
80-
{
81-
"name": "AwsRoute53_AccessKey",
82-
"description": "Aws DNS: Access Key only if not using AWS DNS and default AWS Chain Creds on AWS (Optional)"
83-
},
84-
{
85-
"name": "AwsRoute53_SecretKey",
86-
"description": "Aws DNS: Secret Key only if using AWS DNS and not using default AWS Chain Creds on AWS (Optional)"
87-
},
88-
{
89-
"name": "Ns1_ApiKey",
90-
"description": "Ns1 DNS: Api Key only if Using Ns1 DNS (Optional)"
91-
},
92-
{
93-
"name": "Rfc2136_Server",
94-
"description": "RFC 2136 DNS: Server hostname or IP address (Optional)"
95-
},
96-
{
97-
"name": "Rfc2136_Port",
98-
"description": "RFC 2136 DNS: Server port (default 53) (Optional)"
99-
},
100-
{
101-
"name": "Rfc2136_Zone",
102-
"description": "RFC 2136 DNS: Zone name (e.g., example.com) (Optional)"
103-
},
104-
{
105-
"name": "Rfc2136_TsigKeyName",
106-
"description": "RFC 2136 DNS: TSIG key name for authentication (Optional)"
107-
},
108-
{
109-
"name": "Rfc2136_TsigKey",
110-
"description": "RFC 2136 DNS: TSIG key (base64 encoded) for authentication (Optional)"
111-
},
112-
{
113-
"name": "Rfc2136_TsigAlgorithm",
114-
"description": "RFC 2136 DNS: TSIG algorithm (default hmac-sha256) (Optional)"
115-
},
11644
{
11745
"name": "DnsVerificationServer",
118-
"description": "DNS server to use for verifying TXT record propagation. For private/local DNS zones, set this to your authoritative DNS server IP (e.g., 10.3.10.37). Leave empty to use public DNS servers (Google, Cloudflare, etc.)."
119-
},
120-
{
121-
"name": "Infoblox_Host",
122-
"description": "Infoblox DNS: API URL (e.g., https://infoblox.example.com/wapi/v2.12) only if using Infoblox DNS (Optional)"
123-
},
124-
{
125-
"name": "Infoblox_Username",
126-
"description": "Infoblox DNS: Username for authentication only if using Infoblox DNS (Optional)"
127-
},
128-
{
129-
"name": "Infoblox_Password",
130-
"description": "Infoblox DNS: Password for authentication only if using Infoblox DNS (Optional)"
46+
"description": "DNS server used to verify TXT record propagation and to resolve CNAME delegation chains. For private/local DNS zones, set this to your authoritative DNS server IP (e.g., 10.3.10.37). Leave empty to use public DNS servers (Google, Cloudflare, etc.)."
13147
}
13248
],
13349
"enrollment_config": [],

0 commit comments

Comments
 (0)