Sonar is a an app for collecting network debugging information from customers. It's largely inspired by Fastly's debug page.
Each debug session has a uniquie link generated through the admin. In addition to debug data, you can store notes related to the issue.
Debug sessions can be inspected, created, and searched by going to
/admin. Authentication is managed with Google OAuth and validated by the
All configuration lives in
config/settings.yml. There are 4 configuration values, 3 of which are required (and marked as such). For simplifying deployment to Heroku, you can also set the above config values through environment variables.
Note: Environment variables take priority over values defined in
title (REQUIRED): The title of the debug page (i.e. inserted into the page's
<title>). Can also be set with the environment variable
header (REQUIRED): The header on the debug page, typically the name of your company. Can also be set with the environment variable
permitted_login_emails (REQUIRED): The regex with which emails are checked when logging into the admin. Can also be set with the environment variable
logo_url: If present, an
img pointing at
logo_url will be included before the
header on the debug page. Note, the logo & header are displayed on the same line. Can also be set with the environment variable
The config the demo app uses:
title: "Acme Co. | Debug" header: "Acme Co. | Debug" permitted_login_emails: .*
Auth is done with Google OAuth. The client ID and secret need to be present as environment variables (
GOOGLE_CLIENT_SECRET respectively). Generate a new pair in the Google Developer Console. Use
http(s)://SITE_DOMAIN/auth/google_oauth2/callback as the redirect URI.
To develop the app locally, copy
.env and fill in the missing values.