Add a Debian package and bash completion
make deb builds dist/jarl_<version>_<arch>.deb with dpkg-deb alone (no root), for the host or another architecture (DEB_ARCH=arm64). The package creates the jarl user and directories and an example jarl.yaml on the first install, restarts a running jarld on upgrades, never touches /etc/jarl/jarl.yaml, stops jarld on removal, and keeps Jarl's data even on purge. make install and the package install bash completion for jarl and jarld. Besides commands and flags it completes server and group names from the CLI configuration, zone, view, ACL, TSIG key and user names from the server, and record types. make dist includes the completion scripts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0f2c318aaf
commit
352c9cb394
13 files changed
+555
-30
No files matched your search
+20
-1
@@ -2,7 +2,26 @@
|
||||
|
||||
`jarl` talks to jarld's REST API with an API token. It runs on the DNS server
|
||||
or on any machine that can reach jarld. Every command has `--help` with
|
||||
examples, and `jarl completion bash|zsh|fish` prints shell completion.
|
||||
examples.
|
||||
|
||||
## Shell completion
|
||||
|
||||
`make install` and the Debian package install bash completion for `jarl`
|
||||
and `jarld`; it works in new shells (it needs the `bash-completion`
|
||||
package, which Debian and Ubuntu install by default). Elsewhere, or for
|
||||
zsh and fish, `jarl completion bash|zsh|fish` prints the script; for
|
||||
example `jarl completion bash > ~/.local/share/bash-completion/completions/jarl`.
|
||||
|
||||
Besides commands and flags, Tab completes:
|
||||
|
||||
* `-s/--server` and the `config` commands: the server and group names in
|
||||
your configuration file (and `all`; after a comma, the next name);
|
||||
* `ZONE`, `VIEW`, `ACL`, `USER` and TSIG `KEY` arguments, and the `--view`,
|
||||
`--zone` and `--user` flags: names from the server, asked with your
|
||||
token. A zone in several views is offered once, with its views shown.
|
||||
If the server can't be reached in 3 seconds, nothing is offered;
|
||||
* record `TYPE`s, with a short description of each;
|
||||
* `-o/--output`: `table`, `json`, `yaml`.
|
||||
|
||||
## Setup
|
||||
|
||||
|
||||
Reference in new issue
Block a user