Table of Contents
Overview
This project provides two components:
- Library — A Rust client library/SDK for interacting with the PowerDNS Authoritative Server API.
- CLI — A command-line application built on top of the client library.
CLI
Installation
Like any rust crate, it can be installed via cargo install pdns-cli
Connecting the to API
The CLI expects 2 parameters:
- The webser url
This url specifies the API endpoint to hit and can be specified in 2 ways
PDNS_WEBSERVER_URLenvironment variablewebserver-urlcli parameter
See pdns_client::Client::new for restrictions on the url
- The webserver API key
This is used for authenticating to the API (specified in the header of requests as X-API-Key) and can be specified in 2 ways
PDNS_API_KEYenvironment variableapi-keycli parameter
Examples
Client Library
Documentation for the library crate is published to docs.rs and can be found at: https://docs.rs/pdns-cli/latest/pdns_client/.
Project Status
This is a personal learning project, which leads to certain limitations, such as:
- Development is maintained on a best-effort basis. There is no guaranteed release schedule.
- The public API and supported feature set may remain intentionally minimal.
- Cross-platform support is limited and may not be actively tested.
- APIs and internal implementation details may not always be idiomatic.
Development Notes
- This project is developed and tested only on Ubuntu
- Rust patterns in internal code and ecosystem tooling may be in constant flux and may not always be idiomatic for Rust