248 lines
4.5 KiB
Groff
248 lines
4.5 KiB
Groff
.Dd 24 november 2024
|
|
.Dt "dnsmanagerctl" 1
|
|
.Os Linux "(Ubuntu and Alpine)"
|
|
|
|
.Sh Name
|
|
.Nm dnsmanagerctl
|
|
.Nd a client for the
|
|
.Xr dnsmanagerd 1
|
|
service.
|
|
|
|
.Sh Description
|
|
.Nm dnsmanagerctl
|
|
is a client for the
|
|
.Xr dnsmanagerd 1
|
|
service, a micro-service providing DNS domains and zones management.
|
|
|
|
.Sh Synopsis
|
|
.
|
|
.Nm dnsmanagerctl
|
|
.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 dnsmanagerctl
|
|
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 authctl 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 authctl
|
|
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 authctl 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
|