This is a Python 2.7/Flask/Bootstrap based 'status-page' service. It allows you to create one or more pages that list the condition of your company services.
It can be backed with any SQLAlchemy-supported relational database (Amazon's RDS is a good option). Administration requires a Google login, that can be restricted to your company's hosted domain.
- Python (2.7),
- PIP/easy_install libraries listed in requirements.txt.
Additionally, the following is required to be installed via apt-get or OSX Homebrew:
- uwsgi (if deploying, not needed for dev)
The service can be configured one of two ways:
- A .cfg file, based on the example dev.cfg or prod.cfg.
- Environment variables, prefixed with STATUSPAGE_, and using the names below.
The parameter names are hopefully self explanatory, but you'll need the following:
- DEBUG
- SQLALCHEMY_DATABASE_URI
- GOOGLE_LOGIN_CLIENT_ID
- GOOGLE_LOGIN_CLIENT_SECRET
- GOOGLE_LOGIN_REDIRECT_URI # URL of the server's oauth2 callback, like: http://status.blahblah.com/oauth2_callback
- GOOGLE_LOGIN_REDIRECT_SCHEME # 'http' or 'https'
- ADMIN_GOOGLE_IDS # array of email addresses, including domain, to make administrators
- RESTRICT_LOGIN_DOMAIN # hosted Google blahblah.com domain to restrict logins
Create your own config file...don't modify dev.cfg, you might accidentally commit it to the repo. Once set up, run the dev server via:
STATUSPAGE_CONFIG=../yourconfig.cfg python dev.py runserver
To administer the different status pages, visit /page/admin.
To view the pages you create, visit /page/PAGE_SLUG where page slug is what you set when creating the page.
The contents of this repository are subject to the BitTorrent Open Source License Version 1.2 (the License). You may not copy or use this file, in either source code or executable form, except in compliance with the License. You may obtain a copy of the License at http://www.bittorrent.com/license.
Software distributed under the License is distributed on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.