dnsmanager man-pages: client is now documented (most useful parts done).

This commit is contained in:
Philippe Pittoli 2024-12-02 12:46:42 +01:00
parent 956fe47e63
commit 81e5fbdc4c
2 changed files with 260 additions and 3 deletions

247
man/dnsmanager-client.1 Normal file
View File

@ -0,0 +1,247 @@
.Dd 24 november 2024
.Dt "dnsmanager-client" 1
.Os Linux "(Ubuntu and Alpine)"
.Sh Name
.Nm dnsmanager-client
.Nd a client for the
.Xr dnsmanagerd 1
service.
.Sh Description
.Nm dnsmanager-client
is a client for the
.Xr dnsmanagerd 1
service, a micro-service providing DNS domains and zones management.
.Sh Synopsis
.
.Nm dnsmanager-client
.Op Fl h
.Ar COMMAND No
.Op Ar help
.Op Fl v Ar verbosity
.Op Fl -project Ar project-name
.in
.Ar COMMAND No
can be:
.Bl -tag -width " print functions" -compact
.It Li admin
Admin operations
.It Li user
Simple user operations
.El
For
.Ar admin
COMMAND:
.Bl -tag -width " print functions"
.It Li maintenance
Maintenance operation of the website
Example:
.Ar admin maintenance Subject
.Op value
Subject can be:
.Ar Verbosity , SanityCheck .
.br
.Ar Value
for Verbosity is the verbosity-level [0-4].
.It Li genzone
Generate a zone file
Usage:
.Ar admin genzone domain
.br
Example:
.Ar admin genzone example.netlib.re
.It Li genall
Generate all zone files
Usage:
.Ar admin genall
.It Li provide-domain
Create a domain for someone
Usage:
.Ar admin provide-domain login domain
.br
Example:
.Ar admin provide-domain login example.netlib.re
.It Li migration-script
Migrate domains from dnsmanager v1; this shouldn't be a concern for anyone.
Usage:
.Ar admin migration-script user-db.txt
.br
The
.Em user-db
file must be formated as:
.in +4
nb-domains login domain1 domain2 domain3...
.in -4
See
.Pa migration.mk
for more information.
.El
For
.Ar user
COMMAND:
.Bl -tag -width " print functions"
.It Li domain
Domain operations
Available commands:
.br
.Em user domain add domain No [domain...]
.br
.Em user domain del domain No [domain...]
.br
.Em user domain list
.It Li zonefile
Get a the generated zonefile
Usage:
.Em user zonefile domain No [domain...]
.It Li zone
Zone operations
Usage:
.br
.Em user zone add No <file> [<file>...]
.br
.Em user zone del domain No [domain...]
.br
.Em user zone get domain No [domain...]
.br
.Em user zone list
.It Li rr
Zone Resource Record operations
Usage:
.br
.Em user rr add No [A|AAAA|CNAME|MX|SRV|TXT|NS]
.br
.Em user rr update No [A|AAAA|CNAME|MX|SRV|TXT|NS|SOA]
.br
.Em user rr del No <domain> <rrid>
.El
After the command is passed, you can always put the
.Ar -h No
flag to learn about the next parameters to give.
.Sh Configuration
Configuration for
.Xr dnsmanager-client
is split into two files: the one related to the authentication dans the one related to dnsmanagerd.
Some parameters will reasonably come from a configuration file instead of the command-line interface, at least for
.Dq login
and
.Dq password .
By default, authentication configuration is read from
.Pa $XDG_CONFIG_HOME/baguette/auth.yml
or
.Pa /etc/baguette/auth.yml ,
exactly as the
.Xr authd 1
daemon and its
.Xr authc 1
client.
Configuration file is in YAML, see the following example:
.in +4
Authentication configuration, by default in
.Pa $XDG_CONFIG_HOME/baguette/auth.yml :
.nf
login: john42
password: banana
.fi
.in
In this example, the login and password of the user are set.
The
.Xr authc
application won't require them as command-line parameters for performing authenticated actions.
.Sh Configuration file variables
The following presents the complete list of configuration file variables.
Configuration for authentication, by default in
.Pa $XDG_CONFIG_HOME/baguette/auth.yml :
.Bl -tag -width "Li password" -compact
.It Li verbosity
Int32, 4 ([0-4],
.Dq 0
being quiet and
.Dq 4
meaning printing debug values)
.
.It Li login
String, empty by default.
.
.It Li password
String, empty by default.
.El
TODO: expand the documentation
.Sh Options
.Bl -tag -width "-t activation-template-name,"
.It Li -v No verbosity , Li --verbosity No level
Verbosity level. From 0 to 4. Default: 4.
.
.It Li -h , --help
Show some help, but won't cover as much as the actual manual.
.El
.Sh Detailed command arguments
TODO: expand the documentation
.Sh Detailed description
The code is based on the
.Xr libipc 7
library and (trivial) JSON requests, enabling a simple API to exchange messages between two applications on the same machine.
.Sh See also
TODO: expand the documentation
.Bl -bullet -compact
.
.It
.Xr libipc 7
the documentation of the way libipc works
.
.It
.Xr authd 1
the authentication and authorization daemon related to this client.
.
.It Xr authc 1
a command-line-interface client for
.Xr authd
.
.It
.Xr dnsmanagerd 1
a DNS manager service using
.Xr authd
to handle users (authentication, authorization, preferences and profile)
.
.It
.Xr dodb 7
a document database library used in
.Xr authd .
.El
.Sh Limitations
TODO: expand the documentation

View File

@ -1,6 +1,3 @@
.\" .Xr = application with a manual page
.\" . = application with a manual page
.\" Recent mdoc style:
.Dd 24 november 2024 .Dd 24 november 2024
.Dt "dnsmanagerd" 1 .Dt "dnsmanagerd" 1
.Os Linux "(Ubuntu and Alpine)" .Os Linux "(Ubuntu and Alpine)"
@ -237,5 +234,18 @@ a document database library used in
.Xr authd . .Xr authd .
.El .El
The online service
.Dq netlib.re
provides an interface for the
.Xr dnsmanagerd
daemon.
.br
.Lk https://netlib.re netlib.re
The source code of the web interface:
.br
.Lk https://git.baguette.netlib.re/Baguette/dnsmanager-webclient web-client
.Sh Limitations .Sh Limitations
TODO: expand the documentation TODO: expand the documentation