diff --git a/man/dnsmanager-client.1 b/man/dnsmanager-client.1 new file mode 100644 index 0000000..4849dc3 --- /dev/null +++ b/man/dnsmanager-client.1 @@ -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 [...] +.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 +.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 diff --git a/man/dnsmanagerd.1 b/man/dnsmanagerd.1 index ddd4a87..14821f7 100644 --- a/man/dnsmanagerd.1 +++ b/man/dnsmanagerd.1 @@ -1,6 +1,3 @@ -.\" .Xr = application with a manual page -.\" . = application with a manual page -.\" Recent mdoc style: .Dd 24 november 2024 .Dt "dnsmanagerd" 1 .Os Linux "(Ubuntu and Alpine)" @@ -237,5 +234,18 @@ a document database library used in .Xr authd . .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 TODO: expand the documentation