Add a README.
This commit is contained in:
		
							parent
							
								
									88b6ae7ce3
								
							
						
					
					
						commit
						20134a3c05
					
				
					 1 changed files with 71 additions and 0 deletions
				
			
		
							
								
								
									
										71
									
								
								README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								README.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,71 @@
 | 
				
			||||||
 | 
					# dnsmanagerd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`dnsmanagerd` is a DNS management micro-service enabling users to ask for a domain and handle their own DNS zones.
 | 
				
			||||||
 | 
					This software is based on [libipc][libipc] and uses [authd][authd] for authentication, authorization and user profile management.
 | 
				
			||||||
 | 
					`dnsmanagerd` stores data such as domains (and their owners), zone resource records and various *tokens*.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					No SQL, the entire database is stored in plain files, thanks to [the DODB database library][dodb].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The [netlibre service][netlibre] is the first to use `dnsmanagerd` in a real-life deployment.
 | 
				
			||||||
 | 
					See [the netlibre's webclient][webclient].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`dnsmanagerd` is written in Crystal.
 | 
				
			||||||
 | 
					You’ll need the following tools to build it: `crystal`, `shards` and `make`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					make
 | 
				
			||||||
 | 
					make install
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Run
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					$ dnsmanagerd --help
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					For a more extensive documentation, please read the manual for both [dnsmanagerd][dnsmanagerdmanual] and [dnsmanagerctl][dnsmanagerctlmanual].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					See the [configuration example][configuration-example] to avoid long command-line parameters.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Also, some usage examples are available in the makefiles.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Administration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					# Add a domain for a user.
 | 
				
			||||||
 | 
					dnsmanagerctl provide-domain login domain
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					For a comprehensive list of available commands, please read the [dnsmanagerctl manual][dnsmanagerctlmanual].
 | 
				
			||||||
 | 
					This command-line-interface application is mainly used for administrative purposes, users should access `dnsmanagerd` through another client instead.
 | 
				
			||||||
 | 
					See [the netlibre's webclient][webclient].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Backup and migration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					# Database backup.
 | 
				
			||||||
 | 
					tar cfz db.tar.gz ./db-dnsmanagerd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Database migration.
 | 
				
			||||||
 | 
					tar xfz db.tar.gz
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Wasn't that hard, isn't it?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Contributing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Pull requests are welcome.
 | 
				
			||||||
 | 
					For major changes, please open an issue first to discuss what you would like to change.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Please make sure to update tests as appropriate.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[libipc]: https://git.baguette.netlib.re/Baguette/libipc
 | 
				
			||||||
 | 
					[authd]: https://git.baguette.netlib.re/Baguette/authd
 | 
				
			||||||
 | 
					[netlibre]: https://www.netlib.re
 | 
				
			||||||
 | 
					[configuration-example]: ./configuration-example.yml
 | 
				
			||||||
 | 
					[dnsmanagerdmanual]: ./man/dnsmanagerd.1
 | 
				
			||||||
 | 
					[dnsmanagerctlmanual]: ./man/dnsmanagerctl.1
 | 
				
			||||||
 | 
					[dodb]: https://git.baguette.netlib.re/Baguette/dodb.cr
 | 
				
			||||||
 | 
					[webclient]: https://git.baguette.netlib.re/Baguette/dnsmanager-webclient
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue