shelter

command module
v0.0.0-...-73d3301 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2016 License: GPL-2.0 Imports: 17 Imported by: 0

README

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.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Godeps
_workspace/src/code.google.com/p/go.net/idna
Package idna implements IDNA2008 (Internationalized Domain Names for Applications), defined in RFC 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894.
Package idna implements IDNA2008 (Internationalized Domain Names for Applications), defined in RFC 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894.
_workspace/src/github.com/codegangsta/cli
Package cli provides a minimal framework for creating and organizing command line Go applications.
Package cli provides a minimal framework for creating and organizing command line Go applications.
_workspace/src/github.com/miekg/dns
Package dns implements a full featured interface to the Domain Name System.
Package dns implements a full featured interface to the Domain Name System.
_workspace/src/github.com/miekg/dns/idn
Package idn implements encoding from and to punycode as speficied by RFC 3492.
Package idn implements encoding from and to punycode as speficied by RFC 3492.
_workspace/src/github.com/nsf/termbox-go
termbox is a library for creating cross-platform text-based interfaces
termbox is a library for creating cross-platform text-based interfaces
_workspace/src/gopkg.in/mgo.v2
Package mgo offers a rich MongoDB driver for Go.
Package mgo offers a rich MongoDB driver for Go.
_workspace/src/gopkg.in/mgo.v2/bson
Package bson is an implementation of the BSON specification for Go: http://bsonspec.org It was created as part of the mgo MongoDB driver for Go, but is standalone and may be used on its own without the driver.
Package bson is an implementation of the BSON specification for Go: http://bsonspec.org It was created as part of the mgo MongoDB driver for Go, but is standalone and may be used on its own without the driver.
_workspace/src/gopkg.in/mgo.v2/internal/scram
Pacakage scram implements a SCRAM-{SHA-1,etc} client per RFC5802.
Pacakage scram implements a SCRAM-{SHA-1,etc} client per RFC5802.
_workspace/src/gopkg.in/mgo.v2/testserver
WARNING: This package was replaced by mgo.v2/dbtest.
WARNING: This package was replaced by mgo.v2/dbtest.
_workspace/src/gopkg.in/mgo.v2/txn
The txn package implements support for multi-document transactions.
The txn package implements support for multi-document transactions.
Package config defines the Shelter configuration parameters
Package config defines the Shelter configuration parameters
Package dao manage the objects persistence layer Package dao manage the objects persistence layer Package dao manage the objects persistence layer
Package dao manage the objects persistence layer Package dao manage the objects persistence layer Package dao manage the objects persistence layer
database
mongodb
Package mongodb is an interface to initialize a mgo connection
Package mongodb is an interface to initialize a mgo connection
deploy
easyconf/conf
Package conf is responsable for creating an interactive menu to fill configuration variables Package conf is responsable for creating an interactive menu to fill configuration variables
Package conf is responsable for creating an interactive menu to fill configuration variables Package conf is responsable for creating an interactive menu to fill configuration variables
Package log is a centralized log of the Shelter system
Package log is a centralized log of the Shelter system
Package model describes the objects of the system Package model describes the objects of the system Package model describes the objects of the system Package model describes the objects of the system Package model describes the objects of the system Package model describes the objects of the system Package model describes the objects of the system
Package model describes the objects of the system Package model describes the objects of the system Package model describes the objects of the system Package model describes the objects of the system Package model describes the objects of the system Package model describes the objects of the system Package model describes the objects of the system
net
http/client
Package client is the web client service
Package client is the web client service
http/client/handler
Package handler store the web client handlers of specific URI Package handler store the web client handlers of specific URI Package handler store the web client handlers of specific URI Package handler store the web client handlers of specific URI Package handler store the web client handlers of specific URI Package handler store the web client handlers of specific URI Package handler store the web client handlers of specific URI Package handler store the web client handlers of specific URI
Package handler store the web client handlers of specific URI Package handler store the web client handlers of specific URI Package handler store the web client handlers of specific URI Package handler store the web client handlers of specific URI Package handler store the web client handlers of specific URI Package handler store the web client handlers of specific URI Package handler store the web client handlers of specific URI Package handler store the web client handlers of specific URI
http/client/interceptor
interceptor add steps to the Web request before calling the handler
interceptor add steps to the Web request before calling the handler
http/rest
Package rest is the REST service
Package rest is the REST service
http/rest/check
Package check verify REST policies Package check verify REST policies Package check verify REST policies Package check verify REST policies
Package check verify REST policies Package check verify REST policies Package check verify REST policies Package check verify REST policies
http/rest/handler
Package handler store the REST handlers of specific URI Package handler store the REST handlers of specific URI Package handler store the REST handlers of specific URI Package handler store the REST handlers of specific URI Package handler store the REST handlers of specific URI Package handler store the REST handlers of specific URI Package handler store the REST handlers of specific URI
Package handler store the REST handlers of specific URI Package handler store the REST handlers of specific URI Package handler store the REST handlers of specific URI Package handler store the REST handlers of specific URI Package handler store the REST handlers of specific URI Package handler store the REST handlers of specific URI Package handler store the REST handlers of specific URI
http/rest/interceptor
interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler
interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler interceptor add steps to the REST request before calling the handler
http/rest/messages
Package messages manage the REST messages in a specific language
Package messages manage the REST messages in a specific language
http/rest/protocol
Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol
Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol Package protocol describes the REST protocol
mail/notification
Package notification is the notification service Package notification is the notification service
Package notification is the notification service Package notification is the notification service
mail/notification/protocol
Package protocol describes the objects used in e-mail templates
Package protocol describes the objects used in e-mail templates
scan
Package scan is the scan service Package scan is the scan service Package scan is the scan service Package scan is the scan service Package scan is the scan service Package scan is the scan service
Package scan is the scan service Package scan is the scan service Package scan is the scan service Package scan is the scan service Package scan is the scan service Package scan is the scan service
scan/dnsutils
Package dnsutils contains useful features to manage DNS structures
Package dnsutils contains useful features to manage DNS structures
scan/dspolicy
Package dspolicy store the DS record policies for DNSSEC configuration checks
Package dspolicy store the DS record policies for DNSSEC configuration checks
scan/nspolicy
Package nspolicy store the NS record policies for DNS configuration checks
Package nspolicy store the NS record policies for DNS configuration checks
Package scheduler is responsable for executing jobs periodically
Package scheduler is responsable for executing jobs periodically
testing
utils
utils add features to make the test life easier utils add features to make the test life easier utils add features to make the test life easier utils add features to make the test life easier utils add features to make the test life easier utils add features to make the test life easier utils add features to make the test life easier utils add features to make the test life easier utils add features to make the test life easier
utils add features to make the test life easier utils add features to make the test life easier utils add features to make the test life easier utils add features to make the test life easier utils add features to make the test life easier utils add features to make the test life easier utils add features to make the test life easier utils add features to make the test life easier utils add features to make the test life easier
utils

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL