First stab at a dnsmanagerd man-page.
This commit is contained in:
		
							parent
							
								
									33283f81ca
								
							
						
					
					
						commit
						956fe47e63
					
				
					 1 changed files with 241 additions and 0 deletions
				
			
		
							
								
								
									
										241
									
								
								man/dnsmanagerd.1
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										241
									
								
								man/dnsmanagerd.1
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,241 @@
 | 
			
		|||
.\" .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)"
 | 
			
		||||
 | 
			
		||||
.Sh Name
 | 
			
		||||
.Nm dnsmanagerd
 | 
			
		||||
.Nd the DNS manager daemon.
 | 
			
		||||
 | 
			
		||||
.Sh Description
 | 
			
		||||
The
 | 
			
		||||
.Nm dnsmanagerd
 | 
			
		||||
daemon is a micro-service providing DNS domains and zones management.
 | 
			
		||||
 | 
			
		||||
.Sh Synopsis
 | 
			
		||||
.
 | 
			
		||||
.Nm dnsmanagerd
 | 
			
		||||
.Op Fl snREh
 | 
			
		||||
.Op Fl v Ar verbosity
 | 
			
		||||
.Op Fl -project Ar project-name
 | 
			
		||||
.
 | 
			
		||||
.Op Fl s Ar service-name
 | 
			
		||||
.Op Fl r Ar path
 | 
			
		||||
.Op Fl l Ar login
 | 
			
		||||
.Op Fl p Ar password
 | 
			
		||||
 | 
			
		||||
.Sh Configuration
 | 
			
		||||
Most of the actual configuration will reasonably come from a configuration file, not from command line parameters.
 | 
			
		||||
 | 
			
		||||
By default, configuration is read from
 | 
			
		||||
.Pa $XDG_CONFIG_HOME/baguette/dnsmanager.yml
 | 
			
		||||
or
 | 
			
		||||
.Pa /etc/baguette/dnsmanager.yml .
 | 
			
		||||
 | 
			
		||||
Configuration file is in YAML, see the following example:
 | 
			
		||||
 | 
			
		||||
.in +4
 | 
			
		||||
.nf
 | 
			
		||||
recreate_indexes: true
 | 
			
		||||
accepted_domains:
 | 
			
		||||
  - netlib.re
 | 
			
		||||
  - codelib.re
 | 
			
		||||
.fi
 | 
			
		||||
.in
 | 
			
		||||
 | 
			
		||||
In this example, indexes are recreated, which is related to the
 | 
			
		||||
.Xr dodb 7
 | 
			
		||||
document database, see the related manual page to learn more.
 | 
			
		||||
Also, there is a list of accepted domains for
 | 
			
		||||
.Xr dnsmanagerd
 | 
			
		||||
to handle.
 | 
			
		||||
 | 
			
		||||
.Sh Configuration file variables
 | 
			
		||||
The following presents the complete list of configuration file variables.
 | 
			
		||||
 | 
			
		||||
Generic
 | 
			
		||||
.Xr libipc 7
 | 
			
		||||
related variables:
 | 
			
		||||
.
 | 
			
		||||
.Bl -tag -width " print functions" -compact
 | 
			
		||||
.It Li ipc_timer
 | 
			
		||||
Int32, 30_000 (30 seconds)
 | 
			
		||||
.
 | 
			
		||||
.It Li verbosity
 | 
			
		||||
Int32, 4 ([0-4],
 | 
			
		||||
.Dq 0
 | 
			
		||||
being quiet and
 | 
			
		||||
.Dq 4
 | 
			
		||||
meaning printing debug values)
 | 
			
		||||
.
 | 
			
		||||
.It Li print functions
 | 
			
		||||
Print functions enable to select messages to print, for example by printing a message each time a message is received while ignoring keepalive messages.
 | 
			
		||||
 | 
			
		||||
.Bl -tag -width " print_ipc_message_received" -compact
 | 
			
		||||
.It Li print_ipc_timer
 | 
			
		||||
Bool, false
 | 
			
		||||
.It Li print_ipc_connection
 | 
			
		||||
Bool, false
 | 
			
		||||
.It Li print_ipc_disconnection
 | 
			
		||||
Bool, false
 | 
			
		||||
.It Li print_ipc_extra_socket
 | 
			
		||||
Bool, false
 | 
			
		||||
.It Li print_ipc_message_received
 | 
			
		||||
Bool, false
 | 
			
		||||
.It Li print_ipc_message_sent
 | 
			
		||||
Bool, false
 | 
			
		||||
.It Li print_ipc_switch
 | 
			
		||||
Bool, false
 | 
			
		||||
.It Li print_ipc_error
 | 
			
		||||
Bool, true
 | 
			
		||||
.It Li print_ipc_exception
 | 
			
		||||
Bool, true
 | 
			
		||||
.It Li print_keepalive
 | 
			
		||||
Bool, false
 | 
			
		||||
.El
 | 
			
		||||
.
 | 
			
		||||
.El
 | 
			
		||||
 | 
			
		||||
Specific
 | 
			
		||||
.Xr dnsmanagerd
 | 
			
		||||
variables:
 | 
			
		||||
.Bl -tag -width "template_directory" -compact
 | 
			
		||||
.It Li service_name
 | 
			
		||||
String,
 | 
			
		||||
.Dq dnsmanager
 | 
			
		||||
(\c
 | 
			
		||||
.Xr libipc 7
 | 
			
		||||
unix socket name)
 | 
			
		||||
 | 
			
		||||
.It Li recreate_indexes
 | 
			
		||||
Bool, false (see
 | 
			
		||||
.Xr dodb 7
 | 
			
		||||
man-page)
 | 
			
		||||
.It Li storage_directory
 | 
			
		||||
String,
 | 
			
		||||
.Pa ./storage
 | 
			
		||||
(see
 | 
			
		||||
.Xr dodb 7
 | 
			
		||||
man-page)
 | 
			
		||||
 | 
			
		||||
.It Li login
 | 
			
		||||
.Xr dnsmanagerd
 | 
			
		||||
needs to connect itself to
 | 
			
		||||
.Xr authd 1
 | 
			
		||||
with an admin account to then authenticate its users.
 | 
			
		||||
 | 
			
		||||
String,
 | 
			
		||||
.Dq dnsmanager
 | 
			
		||||
.It Li pass
 | 
			
		||||
String?,
 | 
			
		||||
.Em none
 | 
			
		||||
 | 
			
		||||
.It Li template_directory
 | 
			
		||||
New domains require to load a template so users won't have to enter some necessary entries themselves.
 | 
			
		||||
For example, SOA and NS RRs are pre-loaded and updated by an administrator when required.
 | 
			
		||||
.br
 | 
			
		||||
See
 | 
			
		||||
.Pa tools/write-template-zone-file.cr
 | 
			
		||||
 | 
			
		||||
String,
 | 
			
		||||
.Pa /etc/dnsmanager/templates
 | 
			
		||||
 | 
			
		||||
.It Li accepted_domains
 | 
			
		||||
List of all accepted domains. Example: netlib.re.
 | 
			
		||||
 | 
			
		||||
Array of String, []
 | 
			
		||||
.El
 | 
			
		||||
 | 
			
		||||
.Sh Options
 | 
			
		||||
.Bl -tag -width "-t activation-template-name,"
 | 
			
		||||
.It Li -s , --simulation
 | 
			
		||||
Print configuration then quit.
 | 
			
		||||
.
 | 
			
		||||
.It Li -n , --no-configuration
 | 
			
		||||
No configuration file should be read.
 | 
			
		||||
.
 | 
			
		||||
.It Li -v No verbosity , Li --verbosity No level
 | 
			
		||||
Verbosity level. From 0 to 4. Default: 4.
 | 
			
		||||
.
 | 
			
		||||
.It Li --project No project-name
 | 
			
		||||
Project name, used for slotting to enable several instances of
 | 
			
		||||
.Nm authd
 | 
			
		||||
to run at the same time.
 | 
			
		||||
Will search in
 | 
			
		||||
.Pa $XDG_CONFIG_HOME/baguette/<project-name>/auth.yml
 | 
			
		||||
then
 | 
			
		||||
.Pa /etc/baguette/<project-name>/auth.yml .
 | 
			
		||||
.
 | 
			
		||||
.It Li -h , --help
 | 
			
		||||
Show some help, but won't cover as much as the actual manual.
 | 
			
		||||
.
 | 
			
		||||
.It Li --service_name No name
 | 
			
		||||
Name of the
 | 
			
		||||
.Xr libipc 7
 | 
			
		||||
unix socket used by
 | 
			
		||||
.Xr dnsmanagerd
 | 
			
		||||
to be contacted.
 | 
			
		||||
 | 
			
		||||
.It Fl r No storage-directory , Fl -root No directory
 | 
			
		||||
Path of the directory where the
 | 
			
		||||
.Xr dnsmanagerd
 | 
			
		||||
database is stored.
 | 
			
		||||
See
 | 
			
		||||
.Xr dodb 7
 | 
			
		||||
for more information.
 | 
			
		||||
.
 | 
			
		||||
.El
 | 
			
		||||
 | 
			
		||||
Options related to the
 | 
			
		||||
.Xr authd 1
 | 
			
		||||
service used by
 | 
			
		||||
.Xr dnsmanagerd
 | 
			
		||||
to authenticate users (see
 | 
			
		||||
.Sx Configuration file variables ) .
 | 
			
		||||
Of course, it is preferable to get these parameters from a private configuration file.
 | 
			
		||||
 | 
			
		||||
.Bl -tag -width "template_directory" -compact
 | 
			
		||||
.It Fl l No login , Fl -login No login
 | 
			
		||||
.
 | 
			
		||||
.It Fl p No password , Fl -pass No password
 | 
			
		||||
.El
 | 
			
		||||
.
 | 
			
		||||
.Sh Detailed description
 | 
			
		||||
The code is based on the
 | 
			
		||||
.Nm libipc
 | 
			
		||||
library and (trivial) JSON requests, enabling a simple API.
 | 
			
		||||
 | 
			
		||||
TODO: expand the documentation
 | 
			
		||||
.Sh See also
 | 
			
		||||
TODO: expand the documentation
 | 
			
		||||
 | 
			
		||||
.Bl -tag -width "Xr libipc" -compact
 | 
			
		||||
.
 | 
			
		||||
.It Xr libipc 7
 | 
			
		||||
the documentation of the way libipc works
 | 
			
		||||
.
 | 
			
		||||
.It Xr dnsmanager-client 1
 | 
			
		||||
a command-line-interface client for
 | 
			
		||||
.Xr dnsmanagerd
 | 
			
		||||
.
 | 
			
		||||
.It Xr authd 1
 | 
			
		||||
an authentication and authorization micro-service used by
 | 
			
		||||
.Xr dnsmanagerd
 | 
			
		||||
to handle users (authentication, authorization, preferences and profile)
 | 
			
		||||
.
 | 
			
		||||
.It Xr authc 1
 | 
			
		||||
a command-line-interface client for
 | 
			
		||||
.Xr authd
 | 
			
		||||
.
 | 
			
		||||
.It Xr mailer 1
 | 
			
		||||
a simple executable to send mails based on templates
 | 
			
		||||
.
 | 
			
		||||
.It Xr dodb 7
 | 
			
		||||
a document database library used in
 | 
			
		||||
.Xr authd .
 | 
			
		||||
.El
 | 
			
		||||
 | 
			
		||||
.Sh Limitations
 | 
			
		||||
TODO: expand the documentation
 | 
			
		||||
		Loading…
	
	Add table
		
		Reference in a new issue