A library connecting status platforms into a single glorious integration
TODO: Insert Badges
This branch of the project is currently under construction, production usage isn't recommended but possible with some work. Contributions are welcome.
If you're here for a status page then you'll want to look at our React Frontend
This project uses a Monorepo structure managed with LernaJS
Package | Description |
---|---|
core | Core Connection Library |
loki | Loki Incident Provider |
next | Deprecated NextJS Frontend |
react | React Frontend |
uptimerobot | UptimeRobot Metric Providers |
- Platform Agnostic Structure
- Incident Reporting
- Component Grouping
- Support for Downtime, Latency, and Custom Metrics
- Support for Custom Attributes
$ yarn bootstrap
$ yarn build
Then follow individual package documentation.
Read through our contributing guidelines to learn about the contribution process and style guides.
Configuration is currently mainly supported through a builder pattern; however, this is not enforced.
const builder = new Builder()
.groups([
group()
.name('Group 1')
.description('Group 1 Description')
.components([
component('component-1')
.name('Component 1')
.description('Component 1 Description'),
component('component-2')
.name('Component 2')
]),
group()
.name('Group 2')
.components([
component('component-3')
.name('Component 3')
.description('Test Component 3 Description'),
]),
])
.severities([
runnableSeverity('operational')
.name('Operational')
.runnable(async (component) => true),
runnableSeverity('partial')
.name('Partial')
.runnable(async (component) => false),
runnableSeverity('minor')
.name('Minor')
.runnable(async (component) => false),
runnableSeverity('major')
.name('Major')
.runnable(async (component) => false),
])
;
export const statusify = new Statusify({
componentProvider: builder,
severityProvider: builder,
incidentProvider: new ArrayIncidentProvider(),
severityCalculator: new AchievedSeverityCalculator(),
});