Skip to content

Latest commit

 

History

History
98 lines (74 loc) · 3.55 KB

README.md

File metadata and controls

98 lines (74 loc) · 3.55 KB

shelter

Build Status GoDoc Download

System created for registries to periodically validate and alert domains about DNS or DNSSEC misconfiguration.

The idea started at the roundtable "DNSSEC: cooperation for the uptake of regional initiatives" in LACTLD Tech Workshop occured in Panama City, Panama on September of 2013. The roundtable was leaded by Hugo Salgado (.cl); Rafael Dantas Justo (.br); Robert Martin- Legene (PCH). Many others participants from other registries of Latin America also contributed with ideas for the project.

For more information check the Wiki.

features

  • Automatically detect DNS/DNSSEC configuration problems of the registered domains
  • Automatically sends e-mails notifying domain's owners of the configuration problems
  • System can be deployed on registry or provider back-end infrastructure, not letting critical data to spread to other networks
  • Uses REST architecture to allow a distributted system and easy integration with other softwares
  • Multi-language support for notification's e-mails that can be distinct for each domain's owner
  • Built-in web client to manage domains easily without the necessity to develop a REST client
  • IDN support for domains' names
  • Optimized scan strategy to verify all registered domains configurations
  • On-the-fly domain verification interface
  • Allow a cluster of MongoDB servers for data persistency

installing

The install information can be found here.

building

The Shelter project was developed using the Go language

The objects are persisted using a MongoDB database. To install it check the webpage http://www.mongodb.org/

Also, to easy run the project tests you will need the following:

Remember that the project directory should respect the path bellow, because the source code dependencies can make references to this structure.

<GOPATH>/src/github.com/rafaeljusto/shelter

You can automatically retrieve the project with the desired structure using the following command:

go get -u github.com/rafaeljusto/shelter

And finally, to build the project, just run the following command on the project root:

go build shelter.go

Optionally you can run the tests executing the following command on the project root:

python3 test-all.py

deploying

To deploy the project you will need one or more programs bellow, depending on the operational system that you choose, and if you want a CI enviroment.

All necessary scripts to generate the packages are under the deploy folder in the project root.