• Stars
    star
    151
  • Rank 246,057 (Top 5 %)
  • Language
    Scala
  • License
    Other
  • Created about 9 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An open source, self hosted status page application for communicating service incidents to customers.

STATUS

If you're using status or have any feedback ideas I'd love to hear them. Pull requests and feature suggestions always welcome : )

An open source, self hosted status page application for communicating service incidents to customers.

It is heavily inspired by https://status.heroku.com and other status page applications such as https://developers.facebook.com/status. This is a very early first attempt put together over a day or two so obviously it's pretty rough. Feel free to submit suggestions, feature requests or fixes.

A demo is available at https://systemstatus.herokuapp.com/

Username: admin Password: password

Please feel free to contribute if you have ideas.

TODO

  • Service overview page
  • Web hook integrations (Slack)
  • Twitter Integration
  • Email notifications
  • SMS notifications

Getting started

The quickest way to get your own version running is to use Heroku. Assuming you have a Heroku account then the app can be deployed in under a minute.

git clone https://github.com/owainlewis/status.git && cd status
heroku create 
# Generate a random secret key and set as an environment variable
heroku config:set APPLICATION_SECRET="SECRETKEY"
heroku config:set STATUS_USERNAME="username"
heroku config:set STATUS_PASSWORD="password"
git push heroku master

Local development

Status is a standard Play framework application written in Scala. It requires PostgreSQL.

If you are familar with the Scala ecosystem (and have activator installed) then you can run with:

createdb status && activator run 

Configuration

Config Value Description
auth.username The admin username for login
auth.password The admin password for login

API

Status comes with a simple JSON REST api for adding data to your system and for integration with other services.

It uses basic authentication (I know) to keep things simple.

Example request to get all incidents

curl -u user:pass -i http://localhost:9000/api/v1/incidents

Delete an incident

curl -iXDELETE -u user:pass http://localhost:9000/api/v1/incidents/5

Integrations

Slack

When you create an incident you can configure status to send a notification to a Slack channel

slack.endpoint="https://hooks.slack.com/services/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"

See https://api.slack.com/incoming-webhooks for more information.

Coming Soon

  • SMS
  • Email

More Repositories

1

awesome-artificial-intelligence

A curated list of Artificial Intelligence (AI) courses, books, video lectures and papers.
10,789
star
2

emacs-color-themes

A collection of custom themes for Emacs. All the themes are named after famous programmers.
Emacs Lisp
498
star
3

clojure-mail

A Clojure library for parsing, downloading and reading email from IMAP servers.
Clojure
203
star
4

falkor

Open Source web scraping API. Falkor turns web pages into queryable JSON
Clojure
183
star
5

yaml

A fast, idiomatic and easy to use Clojure YAML library. Based on Snake YAML
Clojure
77
star
6

http-dispatch

A high level HTTP client for Haskell that focuses on ease of use
Haskell
63
star
7

ocaml-datastructures-algorithms

Data structures and algorithms in OCaml
OCaml
48
star
8

salesforce

A Clojure library for interacting with Salesforce.com
Clojure
48
star
9

digital-ocean

Idiomatic Clojure client for Digital Ocean that makes it easy to boot virtual servers from your REPL
Clojure
37
star
10

slack

Slack Web and RTM API
Haskell
32
star
11

apidoc

Generate professional looking, human readable documentation from Swagger or RAML
HTML
24
star
12

relay

Relay lets you write HTTP requests as easy to read, structured YAML and dispatch them easily using a CLI. Similar to tools like Postman
Go
23
star
13

sendgrid-clj

A Clojure library for SendGrid
Clojure
18
star
14

bridge

A type-safe, stack-based functional programming language
OCaml
16
star
15

lambda-calculus

Lambda calculus parser in Haskell
Haskell
14
star
16

yfinance

Haskell library for querying real time stock market data
Haskell
14
star
17

activator-akka-http

A Typesafe Activator template for Akka HTTP microservices
Scala
12
star
18

forth

A micro compiler for the FORTH programming language
OCaml
12
star
19

athena

A small but powerful library for mining data from web pages and HTML documents. Athena provides an easy to use DSL for crawling HTML pages and extracting information from them.
Clojure
11
star
20

x2

An in browser (AI) artificial agent that can automate tasks and perform actions based on voice input
Go
11
star
21

rage-db

A simple in memory no-sql database
Clojure
11
star
22

semver

Clojure implementation of the Semantic Versioning 2.0.0 spec. Parse, validate, sort and modify semantic version strings
Clojure
11
star
23

joy

Compiler for the functional stack based programming language Joy
Haskell
8
star
24

sendgrid-hs

Haskell library for delivering email via SendGrid
Haskell
7
star
25

variance

Statistics library
Clojure
7
star
26

swagger-gen

Swagger code generation tool to generate boilerplate code from your swagger specs.
Clojure
6
star
27

heroku-clj

Heroku API via Clojure
Clojure
6
star
28

daenerys

Daenerys is a tool that lets you execute HTTP requests from static files
Haskell
6
star
29

stocks

Clojure library for stock market analysis
Clojure
6
star
30

convoy

Convoy is a Kubernetes controller that allows your team to receive notifications about specific events in your cluster.
Go
5
star
31

software-engineering-management

Resources for software engineering management and software engineering leadership
4
star
32

oci-haskell-sdk

A Haskell SDK for working with Oracle Cloud Infrastructure
Haskell
4
star
33

scala-yaml

A YAML library for Scala
Scala
4
star
34

ava

Ava is a programming language exploring the idea of programs that can mutate and write themselves
Haskell
3
star
35

java-http-clj

A zero dependency HTTP library built on java.net.http.HttpClient.
Clojure
3
star
36

hof

Higher order functions for Golang
Go
3
star
37

oci-kubernetes-ingress

An Ingress Controller to enable full L7 load balancing on OCI Kubernetes.
Go
3
star
38

prototype

Automatically generate domain models in multiple languages from a single typed schema
Haskell
3
star
39

broadcaast

Broadcast lets you save and organise links, images and content into channels
Scala
3
star
40

akka-gateway

A library for writing bespoke API Gateways using Akka HTTP with support for AWS Lambda, Oracle Cloud Infrastructure, Google Cloud Functions, websockets and more.
Scala
2
star
41

frequency

A modular Continuous Integration (CI) platform built on top of Kubernetes.
Go
2
star
42

markets

An API for financial markets. Index, currency, stock and historical data.
Scala
2
star
43

oci-sdk-clj

Clojure SDK for Oracle Cloud Infrastructure
Clojure
2
star
44

circle-clj

Circle CI with Clojure
Clojure
2
star
45

akka-http-clj

A high performance HTTP client for Clojure built on Akka HTTP
Java
2
star
46

arch

Arch is a typed stack based functional programming language based on combinators
Java
2
star
47

rss2json

A small service that turns RSS feeds into JSON
Clojure
2
star
48

influx

An async client for Influx DB
Clojure
2
star
49

delighted

A Haskell client for using the Delighted.com API
Haskell
1
star
50

user-service

Demo application using Dropwizard, JWT authentication + MySQL
Java
1
star
51

polyfunctors

A collection of experimental polyfunctor instances (bimap, trimap and quadmap)
Haskell
1
star
52

shapes

Exotic shapes and types for Scala
Scala
1
star
53

emacs-theme-generator

A Haskell program that generates Emacs 24 colour themes
Haskell
1
star
54

validated

A data type for simple validation
Haskell
1
star
55

oci-kubeadm

Automation, documentation and tutorials for running Kubernetes on Oracle Cloud Infrastructure.
HCL
1
star
56

hdns

A DNS server written in Haskell
Haskell
1
star
57

props

A small Clojure library for working with java.util.Properties
Clojure
1
star
58

hashicorp-vault

Haskell interface for working with Hashicorp Vault
Haskell
1
star
59

emacs

My Emacs config
Emacs Lisp
1
star
60

forward

A fast, lightweight API Gateway written in Rust.
Rust
1
star
61

netty-reverse-proxy

A fast and extensible API Gateway based on netty. Supports configuration via YAML and a range of custom policies.
Java
1
star
62

countdown

Countdown puzzles (words and numbers) in Haskell
Haskell
1
star
63

development-environment

Setup development environment on Ubuntu 17.04
Shell
1
star
64

proof

A generic validation library for Scala
Scala
1
star
65

openapi

Parse, manipulate and construct OpenAPI specification documents using Haskell
Haskell
1
star
66

osc

Scheme compiler
Haskell
1
star
67

employee-service

Dropwizard example service using MySQL and JDBI
Java
1
star
68

artifactory-clj

Clojure tools for working with JFrog Artifactory
Clojure
1
star
69

akka-http-cloudant

A functional async client for IBM Cloudant based on Akka HTTP.
Scala
1
star
70

cloudant-hs

Haskell client for IBM Cloudant
Haskell
1
star