253 lines
		
	
	
	
		
			4.7 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			253 lines
		
	
	
	
		
			4.7 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
 | 
						|
.br
 | 
						|
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
 | 
						|
.br
 | 
						|
Usage:
 | 
						|
.Ar admin genzone domain
 | 
						|
.br
 | 
						|
Example:
 | 
						|
.Ar admin genzone example.netlib.re
 | 
						|
 | 
						|
.It Li genall
 | 
						|
Generate all zone files
 | 
						|
.br
 | 
						|
Usage:
 | 
						|
.Ar admin genall
 | 
						|
 | 
						|
.It Li exit
 | 
						|
Kill the service.
 | 
						|
.br
 | 
						|
Usage:
 | 
						|
.Ar admin exit
 | 
						|
 | 
						|
.It Li provide-domain
 | 
						|
Create a domain for someone
 | 
						|
.br
 | 
						|
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.
 | 
						|
.br
 | 
						|
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
 | 
						|
.br
 | 
						|
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
 | 
						|
.br
 | 
						|
Usage:
 | 
						|
.Em user zonefile domain No [domain...]
 | 
						|
.It Li zone
 | 
						|
Zone operations
 | 
						|
.br
 | 
						|
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
 | 
						|
.br
 | 
						|
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)
 | 
						|
.El
 | 
						|
 | 
						|
The Document-oriented DataBase (DoDB) library used in
 | 
						|
.Xr dnsmanagerd .
 | 
						|
.br
 | 
						|
.Lk https://git.baguette.netlib.re/Baguette/dodb.cr dodb
 | 
						|
 | 
						|
.Sh Limitations
 | 
						|
TODO: expand the documentation
 |