This repository is the data source for the Loku Status Page and Loku Changelog.
All service incidents and product changelogs are published here as GitHub Issues and reflected on the public pages in real-time.
The status page reads GitHub Issues from this repository to display incident history, per-service availability, and auto-calculated SLA.
Live: loku.co.id/status.html
| Label | Required | Description |
|---|---|---|
incident |
β | Marks the issue as an incident. Required to appear on the status page. |
database-gateway |
optional | Affects Database Gateway status and SLA |
rest-api-gateway |
optional | Affects Rest API Gateway status and SLA |
web-app |
optional | Affects Web APP status and SLA |
billing-system |
optional | Affects Billing System status and SLA |
An issue labeled only with
incident(no service label) is treated as a system-wide incident β all services will be marked as disrupted and overall SLA will be impacted.
The Database Gateway is backed by multiple database cluster nodes. On the status page the Database Gateway row expands to show a per-node breakdown. To scope an incident to a single node, add the node label in addition to incident:
| Label | Affects |
|---|---|
database-gateway |
The whole gateway β all DB nodes marked disrupted |
database-gateway-db1 |
Node db-1 only |
database-gateway-db2 |
Node db-2 only |
database-gateway-db3 |
Node db-3 only |
Convention: the node label is the service slug with the node name as a suffix β
database-gateway-<node>. To report an outage on one node, open a new issue with labelsincident+database-gateway-db2(for example). A node-specific label keeps the incident isolated: other DB nodes and other services stay green, and per-node SLA is calculated independently. A baredatabase-gatewaylabel (no suffix) still disrupts every node. Adding a new node later only requires registering its slug in the status page config (DB_NODES).
SLA is calculated automatically from the duration of each incident within the last 30 days:
SLA = (total_minutes_30d - total_downtime_minutes) / total_minutes_30d Γ 100
- Downtime is measured from
created_attoclosed_at. Open incidents count until the current time. - Overall SLA is derived from all
incidentissues. - Per-service SLA is derived from
incidentissues that also carry the service label.
The 90-day uptime bar on the status page is color-coded per day:
| Color | Meaning |
|---|---|
| Green | No incidents that day |
| Yellow | Incident occurred and has been resolved |
| Red | Active incident (issue still open) |
The changelog page reads GitHub Issues from this repository labeled changelog.
Live: loku.co.id/changelog.html
| Label | Required | Description |
|---|---|---|
changelog |
β | Marks the issue as a changelog entry. Required to appear on the changelog page. |
feature |
optional | New feature β shown as β¨ Fitur baru |
fix |
optional | Bug fix β shown as π§ Perbaikan |
improvement |
optional | Enhancement β shown as β‘ Peningkatan |
security |
optional | Security update β shown as π Keamanan |
Watch this repository on GitHub to receive email notifications whenever a new incident or changelog is published.
π Watch this repo
For service inquiries, please reach us at halo@loku.co.id or visit loku.co.id.