No description
Find a file
2023-06-26 09:18:26 +02:00
scripts Catch json decode error 2023-06-26 09:18:26 +02:00
.gitignore Initial commit 2022-10-24 09:10:09 +00:00
LICENSE Initial commit 2022-10-24 09:10:09 +00:00
README.md Update 'README.md' 2022-11-10 12:53:44 +00:00
requirements.txt Better error handling 2022-10-25 09:10:11 +02:00
setup.py V 0.0.6 2023-01-09 08:40:29 +01:00
stdeb.cfg Better error handling 2022-10-25 09:10:11 +02:00

knotctl

This is a commandline tool for knotapi: https://gitlab.nic.cz/knot/knot-dns-rest

Build and install

To install using pip, run the following command:

pip3 install git+https://code.smolnet.org/micke/knotctl

To build and install as a deb-package

sudo apt install python3-stdeb
git clone https://code.smolnet.org/micke/knotctl
cd knotctl
python3 setup.py --command-packages=stdeb.command bdist_deb
sudo dpkg -i deb_dist/knotctl_*_all.deb

A prebuilt deb-package is also available from the release page: https://code.smolnet.org/micke/knotctl/releases/

Shell completion

For bash: add this to .bashrc

source <(knotctl completion)

For fish, run:

knotctl completion --shell fish > ~/.config/fish/completions/knotctl.fish

For tcsh: add this to .cshrc

complete "knotctl" 'p@*@`python-argcomplete-tcsh "knotctl"`@' ;

For zsh: add this to .zshrc

autoload -U bashcompinit
bashcompinit
source <(knotctl completion)

Usage

usage: knotctl [-h] [--json | --no-json]
               {add,completion,config,delete,list,update} ...

positional arguments:
  {add,completion,config,delete,list,update}

options:
  -h, --help            show this help message and exit
  --json, --no-json

ADD

usage: knotctl add [-h] -d DATA -n NAME -r RTYPE [-t TTL] -z ZONE

options:
  -h, --help            show this help message and exit
  -d DATA, --data DATA
  -n NAME, --name NAME
  -r RTYPE, --rtype RTYPE
  -t TTL, --ttl TTL
  -z ZONE, --zone ZONE

COMPLETION

usage: knotctl completion [-h] [-s SHELL]

options:
  -h, --help            show this help message and exit
  -s SHELL, --shell SHELL

CONFIG

usage: knotctl config [-h] [-b BASEURL] [-p PASSWORD] [-u USERNAME]

options:
  -h, --help            show this help message and exit
  -b BASEURL, --baseurl BASEURL
  -p PASSWORD, --password PASSWORD
  -u USERNAME, --username USERNAME

DELETE

usage: knotctl delete [-h] [-d DATA] [-n NAME] [-r RTYPE] -z ZONE

options:
  -h, --help            show this help message and exit
  -d DATA, --data DATA
  -n NAME, --name NAME
  -r RTYPE, --rtype RTYPE
  -z ZONE, --zone ZONE

LIST

usage: knotctl list [-h] [-d DATA] [-n NAME] [-r RTYPE] [-z ZONE]

options:
  -h, --help            show this help message and exit
  -d DATA, --data DATA
  -n NAME, --name NAME
  -r RTYPE, --rtype RTYPE
  -z ZONE, --zone ZONE

UPDATE

usage: knotctl update [-h] -a [ARGUMENT ...] -d DATA -n NAME -r RTYPE [-t TTL]
                      -z ZONE

options:
  -h, --help            show this help message and exit
  -a [ARGUMENT ...], --argument [ARGUMENT ...]
                        Specify key - value pairs to be updated:
                        name=dns1.example.com.
  -d DATA, --data DATA
  -n NAME, --name NAME
  -r RTYPE, --rtype RTYPE
  -t TTL, --ttl TTL
  -z ZONE, --zone ZONE