CLI parameters update for consistency.
This commit is contained in:
		
							parent
							
								
									f0d9104e56
								
							
						
					
					
						commit
						217211ea27
					
				
					 4 changed files with 66 additions and 16 deletions
				
			
		| 
						 | 
				
			
			@ -14,12 +14,17 @@ daemon is a micro-service providing DNS domains and zones management.
 | 
			
		|||
.Sh Synopsis
 | 
			
		||||
.
 | 
			
		||||
.Nm dnsmanagerd
 | 
			
		||||
.Op Fl snREh
 | 
			
		||||
.Op Fl snh
 | 
			
		||||
.Op Fl v Ar verbosity
 | 
			
		||||
.Op Fl -project Ar project-name
 | 
			
		||||
.
 | 
			
		||||
.Op Fl s Ar service-name
 | 
			
		||||
.Op Fl r Ar path
 | 
			
		||||
.Op Fl -service-name Ar name
 | 
			
		||||
.Op Fl -storage-directory Ar path
 | 
			
		||||
.Op Fl -recreate-indexes
 | 
			
		||||
.
 | 
			
		||||
.Op Fl -accepted-domains Ar domains
 | 
			
		||||
.Op Fl -template-directory Ar dir
 | 
			
		||||
.
 | 
			
		||||
.Op Fl l Ar login
 | 
			
		||||
.Op Fl p Ar password
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -112,7 +117,7 @@ Bool, false (see
 | 
			
		|||
man-page)
 | 
			
		||||
.It Li storage_directory
 | 
			
		||||
String,
 | 
			
		||||
.Pa ./storage
 | 
			
		||||
.Pa ./db-dnsmanagerd
 | 
			
		||||
(see
 | 
			
		||||
.Xr dodb 7
 | 
			
		||||
man-page)
 | 
			
		||||
| 
						 | 
				
			
			@ -168,14 +173,17 @@ then
 | 
			
		|||
.It Li -h , --help
 | 
			
		||||
Show some help, but won't cover as much as the actual manual.
 | 
			
		||||
.
 | 
			
		||||
.It Li --service_name No name
 | 
			
		||||
.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
 | 
			
		||||
.It Fl -recreate-indexes
 | 
			
		||||
Recreate database indexes (symbolic links).
 | 
			
		||||
 | 
			
		||||
.It Fl -storage-directory No dir
 | 
			
		||||
Path of the directory where the
 | 
			
		||||
.Xr dnsmanagerd
 | 
			
		||||
database is stored.
 | 
			
		||||
| 
						 | 
				
			
			@ -183,6 +191,23 @@ See
 | 
			
		|||
.Xr dodb 7
 | 
			
		||||
for more information.
 | 
			
		||||
.
 | 
			
		||||
 | 
			
		||||
.It Fl -accepted-domains No domains
 | 
			
		||||
Accepted domains, coma separated.
 | 
			
		||||
.br
 | 
			
		||||
For example: netlib.re,example.com
 | 
			
		||||
 | 
			
		||||
.It Fl -template-directory No dir
 | 
			
		||||
Directory containing domain templates which are used when creating a new domain.
 | 
			
		||||
Templates can be generated by
 | 
			
		||||
.Xr write-template-zone-file .
 | 
			
		||||
.br
 | 
			
		||||
See the following command:
 | 
			
		||||
.Nm "write-template-zone-file netlib.re"
 | 
			
		||||
.br
 | 
			
		||||
This command generates a file
 | 
			
		||||
.Pa netlib.re.json
 | 
			
		||||
that can be used as a template.
 | 
			
		||||
.El
 | 
			
		||||
 | 
			
		||||
Options related to the
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										14
									
								
								mk/setup.mk
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								mk/setup.mk
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,6 +1,16 @@
 | 
			
		|||
DBDIR=/tmp/DATA-dnsmanagerd
 | 
			
		||||
DBDIR        ?= /tmp/db-dnsmanagerd
 | 
			
		||||
TEMPLATE_DIR ?= ./templates
 | 
			
		||||
PASS         ?= xxx
 | 
			
		||||
run-dnsmanagerd:
 | 
			
		||||
	$(Q)$(LOC)dnsmanagerd -v $(VERBOSITY) -r $(DBDIR)
 | 
			
		||||
	@# Usage example. For real deployments, use a configuration file.
 | 
			
		||||
	$(Q)$(LOC)dnsmanagerd -n -v $(VERBOSITY) \
 | 
			
		||||
		--storage-directory $(DBDIR) \
 | 
			
		||||
		--recreate-indexes \
 | 
			
		||||
		--service-name "dnsmanager" \
 | 
			
		||||
		--accepted-domains "netlib.re,example.com" \
 | 
			
		||||
		--template-directory $(TEMPLATE_DIR) \
 | 
			
		||||
		--login $(LOGIN) \
 | 
			
		||||
		--pass $(PASS)
 | 
			
		||||
 | 
			
		||||
PORT ?= 8082
 | 
			
		||||
ADDR ?=
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,7 +5,7 @@ class Baguette::Configuration
 | 
			
		|||
		property login             : String  = "dnsmanager"
 | 
			
		||||
		property pass              : String?
 | 
			
		||||
		property recreate_indexes  : Bool    = false
 | 
			
		||||
		property storage_directory : String  = "storage"
 | 
			
		||||
		property storage_directory : String  = "db-dnsmanagerd"
 | 
			
		||||
 | 
			
		||||
		# List of all accepted domains. Example: netlib.re.
 | 
			
		||||
		property accepted_domains : Array(String)? = nil
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										29
									
								
								src/main.cr
									
										
									
									
									
								
							
							
						
						
									
										29
									
								
								src/main.cr
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -26,28 +26,43 @@ end
 | 
			
		|||
 | 
			
		||||
OptionParser.parse do |parser|
 | 
			
		||||
	parser.on "-v verbosity-level", "--verbosity level", "Verbosity." do |opt|
 | 
			
		||||
		Baguette::Log.info "Verbosity level: #{opt}"
 | 
			
		||||
		Baguette::Log.info "Verbosity level: #{opt}."
 | 
			
		||||
		configuration.verbosity = opt.to_i
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	# IPC Service options
 | 
			
		||||
	parser.on "-s service_name", "--service_name service_name", "Service name (IPC)." do |service_name|
 | 
			
		||||
		Baguette::Log.info "Service name: #{service_name}"
 | 
			
		||||
	parser.on "--service-name service_name", "Service name (IPC)." do |service_name|
 | 
			
		||||
		Baguette::Log.info "Service name: #{service_name}."
 | 
			
		||||
		configuration.service_name = service_name
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	parser.on "-r storage_directory", "--root storage_directory", "Storage directory." do |storage_directory|
 | 
			
		||||
		Baguette::Log.info "Storage directory: #{storage_directory}"
 | 
			
		||||
	parser.on "--storage-directory dir", "Storage directory." do |storage_directory|
 | 
			
		||||
		Baguette::Log.info "Storage directory: #{storage_directory}."
 | 
			
		||||
		configuration.storage_directory = storage_directory
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	parser.on "--recreate-indexes", "Recreate database indexes (symbolic links)." do
 | 
			
		||||
		Baguette::Log.info "Recreate database indexes (symlinks)."
 | 
			
		||||
		configuration.recreate_indexes = true
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	parser.on "--accepted-domains domains", "Accepted domains (coma separated)." do |doms|
 | 
			
		||||
		Baguette::Log.info "Accepted domains: #{doms}."
 | 
			
		||||
		configuration.accepted_domains = doms.split ','
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	parser.on "--template-directory domains", "Default domain template directory." do |dir|
 | 
			
		||||
		Baguette::Log.info "Default domain template directory: #{dir}."
 | 
			
		||||
		configuration.template_directory = dir
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	parser.on "-l login", "--login login", "DNS manager authd login." do |login|
 | 
			
		||||
		Baguette::Log.info "Authd login for dnsmanager: #{login}"
 | 
			
		||||
		Baguette::Log.info "Authd login for dnsmanager: #{login}."
 | 
			
		||||
		configuration.login = login
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	parser.on "-p pass", "--pass pass", "DNS manager authd pass." do |pass|
 | 
			
		||||
		Baguette::Log.info "Authd pass (not echoed)"
 | 
			
		||||
		Baguette::Log.info "Authd pass (not echoed)."
 | 
			
		||||
		configuration.pass = pass
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue