bin/build
to fetch and install all dependencies.
bin/console
to launch console, then type in console:
Pigeon.Http.check_all_hosts
- DNS "A record" resolve for each defined domain.
- SSL certificate validity for each defined domain.
- Expectations (content checks) for each defined page.
- Availability checks for each defined page.
- Elixir 1.5+
- OTP 19+
- Libressl 2.7+ (
openssl
available in PATH) - Curl 7+ (
curl
available in PATH) for Slack notifications
-
config/config.exs
-
config/globals.json
. Example:
{
"alert_channel":"#critical-channel",
"alert_webhook":"https://hooks.slack.com/services/MyShinyWebURL"
}
config/checks.json
. Example:
[
{
"client": "myfavplace",
"domains": ["myfavplace.com", "www.myfavplace.com"],
"pages": ["https://www.myfavplace.com/"],
"expected": ["title", "content", "footer"],
"alert_channel": "#my-private-alert-channel",
"alert_webhook": "https://hooks.slack.com/services/MyOwnShinyWebhookURL"
},
{
"client": "youtfavplace",
"domains": ["youtfavplace.se", "www.youtfavplace.se"],
"pages": ["https://www.youtfavplace.se/"],
"expected": ["title", "content", "footer"],
"alert_channel": "#some-channel",
"alert_webhook": "https://hooks.slack.com/services/MyOwnShinyWebhookURL"
},
// ...
]
Pigeon has ability to generate csv document file from current Agencies list:
bin/console
Pigeon.ExportServers.export_csv()
will generate agencies-servers-list.csv
in project directory.
MIT/BSD