diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 2f9aebf127ec..d67be3b87242 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -19797,6 +19797,12 @@ github = "Reputable2772"; githubId = 153411261; }; + ret2pop = { + email = "ret2pop@gmail.com"; + github = "ret2pop"; + githubId = 135050157; + name = "Preston Pan"; + }; rettetdemdativ = { email = "michael@koeppl.dev"; github = "rettetdemdativ"; diff --git a/pkgs/tools/networking/octodns/providers/cloudflare/default.nix b/pkgs/tools/networking/octodns/providers/cloudflare/default.nix new file mode 100644 index 000000000000..11e924e57a10 --- /dev/null +++ b/pkgs/tools/networking/octodns/providers/cloudflare/default.nix @@ -0,0 +1,48 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + octodns, + pytestCheckHook, + pythonOlder, + requests, + requests-mock, + setuptools, +}: + +buildPythonPackage rec { + pname = "octodns-cloudflare"; + version = "0.0.9"; + pyproject = true; + + src = fetchFromGitHub { + owner = "octodns"; + repo = "octodns-cloudflare"; + tag = "v${version}"; + hash = "sha256-VHmi/ClCZCruz0wSSZC81nhN7i31vK29TsYzyrRJNTY="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + octodns + requests + ]; + + pythonImportsCheck = [ "octodns_cloudflare" ]; + + nativeCheckInputs = [ + pytestCheckHook + requests-mock + ]; + + meta = { + description = "Cloudflare API provider for octoDNS"; + homepage = "https://github.com/octodns/octodns-cloudflare/"; + changelog = "https://github.com/octodns/octodns-cloudflare/blob/${version}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ ret2pop ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a8da5800d902..ba2d6be341c9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -369,6 +369,7 @@ with pkgs; gandi = python3Packages.callPackage ../tools/networking/octodns/providers/gandi { }; hetzner = python3Packages.callPackage ../tools/networking/octodns/providers/hetzner { }; powerdns = python3Packages.callPackage ../tools/networking/octodns/providers/powerdns { }; + cloudflare = python3Packages.callPackage ../tools/networking/octodns/providers/cloudflare { }; }; oletools = with python3.pkgs; toPythonApplication oletools;