pdns-cli 0.0.3

Rust client library and CLI for the PowerDNS Authoritative Server API
Documentation

Table of Contents

Overview

This project provides two components:

  1. Library — A Rust client library/SDK for interacting with the PowerDNS Authoritative Server API.
  2. 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:

  1. The webser url

This url specifies the API endpoint to hit and can be specified in 2 ways

  • PDNS_WEBSERVER_URL environment variable
  • webserver-url cli parameter

See pdns_client::Client::new for restrictions on the url

  1. 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_KEY environment variable
  • api-key cli parameter

Examples

export PDNS_WEBSERVER_URL=http://127.0.0.1:8081/
export PDNS_API_KEY=changeme

pdns-cli servers list

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