summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--default.nix4
-rw-r--r--powerdns-record-types.patch29
-rw-r--r--shell.nix4
3 files changed, 36 insertions, 1 deletions
diff --git a/default.nix b/default.nix
new file mode 100644
index 0000000..896cc57
--- /dev/null
+++ b/default.nix
@@ -0,0 +1,4 @@
+{ pkgs ? (import <nixpkgs> { }) }:
+pkgs.dnscontrol.overrideAttrs (old: {
+  patches = [ ./powerdns-record-types.patch ];
+})
diff --git a/powerdns-record-types.patch b/powerdns-record-types.patch
new file mode 100644
index 0000000..0f831dc
--- /dev/null
+++ b/powerdns-record-types.patch
@@ -0,0 +1,29 @@
+diff --git a/documentation/providers.md b/documentation/providers.md
+index b1d6618d..351b2558 100644
+--- a/documentation/providers.md
++++ b/documentation/providers.md
+@@ -57,7 +57,7 @@ If a feature is definitively not supported for whatever reason, we would also li
+ | [`OVH`](provider/ovh.md) | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❔ | ❔ | ❔ | ❔ | ❌ | ❔ | ✅ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ✅ | ❌ | ✅ |
+ | [`PACKETFRAME`](provider/packetframe.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❌ | ❔ |
+ | [`PORKBUN`](provider/porkbun.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ❔ | ❌ | ❔ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❔ | ✅ | ❌ | ❔ | ❔ | ❔ | ❌ | ❌ | ✅ |
+-| [`POWERDNS`](provider/powerdns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❔ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ❔ | ✅ | ✅ | ✅ |
++| [`POWERDNS`](provider/powerdns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ | ✅ | ✅ | ✅ |
+ | [`REALTIMEREGISTER`](provider/realtimeregister.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❔ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ✅ | ❌ | ❌ | ❔ | ❔ | ❌ | ✅ | ✅ |
+ | [`ROUTE53`](provider/route53.md) | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❔ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ✅ | ✅ | ✅ |
+ | [`RWTH`](provider/rwth.md) | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❔ | ❔ | ❌ | ❌ | ✅ | ❔ | ✅ | ✅ | ❔ | ❌ | ❔ | ❔ | ❔ | ❔ | ❌ | ❌ | ✅ |
+diff --git a/providers/powerdns/powerdnsProvider.go b/providers/powerdns/powerdnsProvider.go
+index 0f386d90..0d1f96bc 100644
+--- a/providers/powerdns/powerdnsProvider.go
++++ b/providers/powerdns/powerdnsProvider.go
+@@ -20,8 +20,11 @@ var features = providers.DocumentationNotes{
+ 	providers.CanUseAlias:            providers.Can("Needs to be enabled in PowerDNS first", "https://doc.powerdns.com/authoritative/guides/alias.html"),
+ 	providers.CanUseCAA:              providers.Can(),
+ 	providers.CanUseDS:               providers.Can(),
++	providers.CanUseDNAME:            providers.Can(),
+ 	providers.CanUseDHCID:            providers.Can(),
+ 	providers.CanUseLOC:              providers.Unimplemented("Normalization within the PowerDNS API seems to be buggy, so disabled", "https://github.com/PowerDNS/pdns/issues/10558"),
++	providers.CanUseHTTPS:            providers.Can(),
++	providers.CanUseSVCB:             providers.Can(),
+ 	providers.CanUseNAPTR:            providers.Can(),
+ 	providers.CanUsePTR:              providers.Can(),
+ 	providers.CanUseSRV:              providers.Can(),
diff --git a/shell.nix b/shell.nix
index 4cf1d9a..40929d0 100644
--- a/shell.nix
+++ b/shell.nix
@@ -1,4 +1,6 @@
-{ pkgs ? (import <nixpkgs> { }) }:
+{ pkgs ? (import <nixpkgs> { })
+, dnscontrol ? (import ./. { inherit pkgs; })
+}:
 pkgs.mkShell {
   packages = with pkgs; [
     dnscontrol