From 64b47b731ba1c704af599ef25c8aa2f1047f583a Mon Sep 17 00:00:00 2001 From: Manfred Touron <94029+moul@users.noreply.github.com> Date: Fri, 2 Jul 2021 11:47:01 +0200 Subject: [PATCH] Initial commit --- .github/ISSUE_TEMPLATE/bug_report.md | 40 ++ .github/ISSUE_TEMPLATE/config.yml | 8 + .github/workflows/graphs.yml | 32 ++ .github/workflows/response-time.yml | 33 ++ .github/workflows/setup.yml | 64 +++ .github/workflows/site.yml | 40 ++ .github/workflows/summary.yml | 40 ++ .github/workflows/update-template.yml | 32 ++ .github/workflows/updates.yml | 30 + .github/workflows/uptime.yml | 33 ++ .templaterc.json | 3 + .upptimerc.yml | 31 + LICENSE | 21 + README.md | 119 ++++ api/google/response-time-day.json | 1 + api/google/response-time-month.json | 1 + api/google/response-time-week.json | 1 + api/google/response-time-year.json | 1 + api/google/response-time.json | 1 + api/google/uptime-day.json | 1 + api/google/uptime-month.json | 1 + api/google/uptime-week.json | 1 + api/google/uptime-year.json | 1 + api/google/uptime.json | 1 + api/hacker-news/response-time-day.json | 1 + api/hacker-news/response-time-month.json | 1 + api/hacker-news/response-time-week.json | 1 + api/hacker-news/response-time-year.json | 1 + api/hacker-news/response-time.json | 1 + api/hacker-news/uptime-day.json | 1 + api/hacker-news/uptime-month.json | 1 + api/hacker-news/uptime-week.json | 1 + api/hacker-news/uptime-year.json | 1 + api/hacker-news/uptime.json | 1 + api/test-broken-site/response-time-day.json | 1 + api/test-broken-site/response-time-month.json | 1 + api/test-broken-site/response-time-week.json | 1 + api/test-broken-site/response-time-year.json | 1 + api/test-broken-site/response-time.json | 1 + api/test-broken-site/uptime-day.json | 1 + api/test-broken-site/uptime-month.json | 1 + api/test-broken-site/uptime-week.json | 1 + api/test-broken-site/uptime-year.json | 1 + api/test-broken-site/uptime.json | 1 + api/wikipedia/response-time-day.json | 1 + api/wikipedia/response-time-month.json | 1 + api/wikipedia/response-time-week.json | 1 + api/wikipedia/response-time-year.json | 1 + api/wikipedia/response-time.json | 1 + api/wikipedia/uptime-day.json | 1 + api/wikipedia/uptime-month.json | 1 + api/wikipedia/uptime-week.json | 1 + api/wikipedia/uptime-year.json | 1 + api/wikipedia/uptime.json | 1 + assets/upptime-icon.svg | 4 + graphs/google.png | Bin 0 -> 16200 bytes graphs/google/response-time-day.png | Bin 0 -> 11483 bytes graphs/google/response-time-month.png | Bin 0 -> 27455 bytes graphs/google/response-time-week.png | Bin 0 -> 17150 bytes graphs/google/response-time-year.png | Bin 0 -> 68377 bytes graphs/google/response-time.png | Bin 0 -> 68377 bytes graphs/hacker-news.png | Bin 0 -> 12250 bytes graphs/hacker-news/response-time-day.png | Bin 0 -> 10519 bytes graphs/hacker-news/response-time-month.png | Bin 0 -> 26831 bytes graphs/hacker-news/response-time-week.png | Bin 0 -> 18849 bytes graphs/hacker-news/response-time-year.png | Bin 0 -> 83976 bytes graphs/hacker-news/response-time.png | Bin 0 -> 83976 bytes graphs/test-broken-site/response-time-day.png | Bin 0 -> 1196 bytes .../test-broken-site/response-time-month.png | Bin 0 -> 1196 bytes .../test-broken-site/response-time-week.png | Bin 0 -> 1196 bytes .../test-broken-site/response-time-year.png | Bin 0 -> 9828 bytes graphs/test-broken-site/response-time.png | Bin 0 -> 9828 bytes graphs/wikipedia.png | Bin 0 -> 23004 bytes graphs/wikipedia/response-time-day.png | Bin 0 -> 7066 bytes graphs/wikipedia/response-time-month.png | Bin 0 -> 23400 bytes graphs/wikipedia/response-time-week.png | Bin 0 -> 18338 bytes graphs/wikipedia/response-time-year.png | Bin 0 -> 71287 bytes graphs/wikipedia/response-time.png | Bin 0 -> 71287 bytes history/LICENSE | 540 ++++++++++++++++++ history/google.yml | 7 + history/hacker-news.yml | 7 + history/summary.json | 152 +++++ history/test-broken-site.yml | 7 + history/wikipedia.yml | 7 + 84 files changed, 1290 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/workflows/graphs.yml create mode 100644 .github/workflows/response-time.yml create mode 100644 .github/workflows/setup.yml create mode 100644 .github/workflows/site.yml create mode 100644 .github/workflows/summary.yml create mode 100644 .github/workflows/update-template.yml create mode 100644 .github/workflows/updates.yml create mode 100644 .github/workflows/uptime.yml create mode 100644 .templaterc.json create mode 100644 .upptimerc.yml create mode 100644 LICENSE create mode 100644 README.md create mode 100644 api/google/response-time-day.json create mode 100644 api/google/response-time-month.json create mode 100644 api/google/response-time-week.json create mode 100644 api/google/response-time-year.json create mode 100644 api/google/response-time.json create mode 100644 api/google/uptime-day.json create mode 100644 api/google/uptime-month.json create mode 100644 api/google/uptime-week.json create mode 100644 api/google/uptime-year.json create mode 100644 api/google/uptime.json create mode 100644 api/hacker-news/response-time-day.json create mode 100644 api/hacker-news/response-time-month.json create mode 100644 api/hacker-news/response-time-week.json create mode 100644 api/hacker-news/response-time-year.json create mode 100644 api/hacker-news/response-time.json create mode 100644 api/hacker-news/uptime-day.json create mode 100644 api/hacker-news/uptime-month.json create mode 100644 api/hacker-news/uptime-week.json create mode 100644 api/hacker-news/uptime-year.json create mode 100644 api/hacker-news/uptime.json create mode 100644 api/test-broken-site/response-time-day.json create mode 100644 api/test-broken-site/response-time-month.json create mode 100644 api/test-broken-site/response-time-week.json create mode 100644 api/test-broken-site/response-time-year.json create mode 100644 api/test-broken-site/response-time.json create mode 100644 api/test-broken-site/uptime-day.json create mode 100644 api/test-broken-site/uptime-month.json create mode 100644 api/test-broken-site/uptime-week.json create mode 100644 api/test-broken-site/uptime-year.json create mode 100644 api/test-broken-site/uptime.json create mode 100644 api/wikipedia/response-time-day.json create mode 100644 api/wikipedia/response-time-month.json create mode 100644 api/wikipedia/response-time-week.json create mode 100644 api/wikipedia/response-time-year.json create mode 100644 api/wikipedia/response-time.json create mode 100644 api/wikipedia/uptime-day.json create mode 100644 api/wikipedia/uptime-month.json create mode 100644 api/wikipedia/uptime-week.json create mode 100644 api/wikipedia/uptime-year.json create mode 100644 api/wikipedia/uptime.json create mode 100644 assets/upptime-icon.svg create mode 100644 graphs/google.png create mode 100644 graphs/google/response-time-day.png create mode 100644 graphs/google/response-time-month.png create mode 100644 graphs/google/response-time-week.png create mode 100644 graphs/google/response-time-year.png create mode 100644 graphs/google/response-time.png create mode 100644 graphs/hacker-news.png create mode 100644 graphs/hacker-news/response-time-day.png create mode 100644 graphs/hacker-news/response-time-month.png create mode 100644 graphs/hacker-news/response-time-week.png create mode 100644 graphs/hacker-news/response-time-year.png create mode 100644 graphs/hacker-news/response-time.png create mode 100644 graphs/test-broken-site/response-time-day.png create mode 100644 graphs/test-broken-site/response-time-month.png create mode 100644 graphs/test-broken-site/response-time-week.png create mode 100644 graphs/test-broken-site/response-time-year.png create mode 100644 graphs/test-broken-site/response-time.png create mode 100644 graphs/wikipedia.png create mode 100644 graphs/wikipedia/response-time-day.png create mode 100644 graphs/wikipedia/response-time-month.png create mode 100644 graphs/wikipedia/response-time-week.png create mode 100644 graphs/wikipedia/response-time-year.png create mode 100644 graphs/wikipedia/response-time.png create mode 100644 history/LICENSE create mode 100644 history/google.yml create mode 100644 history/hacker-news.yml create mode 100644 history/summary.json create mode 100644 history/test-broken-site.yml create mode 100644 history/wikipedia.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000000..e705887d41 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,40 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: 'bug' +assignees: 'AnandChowdhary' + +--- + + + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000..5c1e200992 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: true +contact_links: + - name: Feature requests and ideas + url: https://github.com/upptime/upptime/discussions/new?category=ideas + about: Suggest an idea for this project + - name: Questions + url: https://github.com/upptime/upptime/discussions/new?category=q-a + about: Please ask and answer questions here diff --git a/.github/workflows/graphs.yml b/.github/workflows/graphs.yml new file mode 100644 index 0000000000..f47e8b8feb --- /dev/null +++ b/.github/workflows/graphs.yml @@ -0,0 +1,32 @@ +# This file was generated by upptime/uptime-monitor@v1.26.4 +# +# =============================== +# Do not edit this file directly! +# =============================== +# +# Your changes will be overwritten when the template updates (daily) +# Instead, change your .upptimerc.yml configuration: https://upptime.js.org/docs + +name: Graphs CI +on: + schedule: + - cron: "0 0 * * *" + repository_dispatch: + types: [graphs] + workflow_dispatch: +jobs: + release: + name: Generate graphs + runs-on: ubuntu-18.04 + steps: + - name: Checkout + uses: actions/checkout@v2.3.3 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_PAT }} + - name: Generate graphs + uses: upptime/uptime-monitor@v1.26.4 + with: + command: "graphs" + env: + GH_PAT: ${{ secrets.GH_PAT }} diff --git a/.github/workflows/response-time.yml b/.github/workflows/response-time.yml new file mode 100644 index 0000000000..d63a35a9f1 --- /dev/null +++ b/.github/workflows/response-time.yml @@ -0,0 +1,33 @@ +# This file was generated by upptime/uptime-monitor@v1.26.4 +# +# =============================== +# Do not edit this file directly! +# =============================== +# +# Your changes will be overwritten when the template updates (daily) +# Instead, change your .upptimerc.yml configuration: https://upptime.js.org/docs + +name: Response Time CI +on: + schedule: + - cron: "0 23 * * *" + repository_dispatch: + types: [response_time] + workflow_dispatch: +jobs: + release: + name: Check status + runs-on: ubuntu-18.04 + steps: + - name: Checkout + uses: actions/checkout@v2.3.3 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_PAT }} + - name: Update response time + uses: upptime/uptime-monitor@v1.26.4 + with: + command: "response-time" + env: + GH_PAT: ${{ secrets.GH_PAT }} + SECRETS_CONTEXT: ${{ toJson(secrets) }} diff --git a/.github/workflows/setup.yml b/.github/workflows/setup.yml new file mode 100644 index 0000000000..f3f5d151d4 --- /dev/null +++ b/.github/workflows/setup.yml @@ -0,0 +1,64 @@ +# This file was generated by upptime/uptime-monitor@v1.26.4 +# +# =============================== +# Do not edit this file directly! +# =============================== +# +# Your changes will be overwritten when the template updates (daily) +# Instead, change your .upptimerc.yml configuration: https://upptime.js.org/docs + +name: Setup CI +on: + push: + paths: + - ".upptimerc.yml" + repository_dispatch: + types: [setup] + workflow_dispatch: +jobs: + release: + name: Setup Upptime + runs-on: ubuntu-18.04 + steps: + - name: Checkout + uses: actions/checkout@v2.3.3 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_PAT }} + - name: Update template + uses: upptime/uptime-monitor@v1.26.4 + with: + command: "update-template" + env: + GH_PAT: ${{ secrets.GH_PAT }} + - name: Update response time + uses: upptime/uptime-monitor@v1.26.4 + with: + command: "response-time" + env: + GH_PAT: ${{ secrets.GH_PAT }} + SECRETS_CONTEXT: ${{ toJson(secrets) }} + - name: Update summary in README + uses: upptime/uptime-monitor@v1.26.4 + with: + command: "readme" + env: + GH_PAT: ${{ secrets.GH_PAT }} + - name: Generate graphs + uses: benc-uk/workflow-dispatch@v1 + with: + workflow: Graphs CI + token: ${{ secrets.GH_PAT }} + - name: Generate site + uses: upptime/uptime-monitor@v1.26.4 + with: + command: "site" + env: + GH_PAT: ${{ secrets.GH_PAT }} + - uses: peaceiris/actions-gh-pages@v3.7.3 + name: GitHub Pages Deploy + with: + github_token: ${{ secrets.GH_PAT }} + publish_dir: "site/status-page/__sapper__/export/" + user_name: "Upptime Bot" + user_email: "73812536+upptime-bot@users.noreply.github.com" diff --git a/.github/workflows/site.yml b/.github/workflows/site.yml new file mode 100644 index 0000000000..6d470a28e6 --- /dev/null +++ b/.github/workflows/site.yml @@ -0,0 +1,40 @@ +# This file was generated by upptime/uptime-monitor@v1.26.4 +# +# =============================== +# Do not edit this file directly! +# =============================== +# +# Your changes will be overwritten when the template updates (daily) +# Instead, change your .upptimerc.yml configuration: https://upptime.js.org/docs + +name: Static Site CI +on: + schedule: + - cron: "0 1 * * *" + repository_dispatch: + types: [static_site] + workflow_dispatch: +jobs: + release: + name: Build and deploy site + runs-on: ubuntu-18.04 + if: "!contains(github.event.head_commit.message, '[skip ci]')" + steps: + - name: Checkout + uses: actions/checkout@v2.3.3 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_PAT }} + - name: Generate site + uses: upptime/uptime-monitor@v1.26.4 + with: + command: "site" + env: + GH_PAT: ${{ secrets.GH_PAT }} + - uses: peaceiris/actions-gh-pages@v3.7.3 + name: GitHub Pages Deploy + with: + github_token: ${{ secrets.GH_PAT }} + publish_dir: "site/status-page/__sapper__/export/" + user_name: "Upptime Bot" + user_email: "73812536+upptime-bot@users.noreply.github.com" diff --git a/.github/workflows/summary.yml b/.github/workflows/summary.yml new file mode 100644 index 0000000000..b1c6a048e4 --- /dev/null +++ b/.github/workflows/summary.yml @@ -0,0 +1,40 @@ +# This file was generated by upptime/uptime-monitor@v1.26.4 +# +# =============================== +# Do not edit this file directly! +# =============================== +# +# Your changes will be overwritten when the template updates (daily) +# Instead, change your .upptimerc.yml configuration: https://upptime.js.org/docs + +name: Summary CI +on: + schedule: + - cron: "0 0 * * *" + repository_dispatch: + types: [summary] + workflow_dispatch: +jobs: + release: + name: Generate README + runs-on: ubuntu-18.04 + steps: + - name: Checkout + uses: actions/checkout@v2.3.3 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_PAT }} + - name: Update summary in README + uses: upptime/uptime-monitor@v1.26.4 + with: + command: "readme" + env: + GH_PAT: ${{ secrets.GH_PAT }} + - name: Run readme-repos-list + uses: koj-co/readme-repos-list@master + with: + token: ${{ secrets.GH_PAT }} + query: "topic:upptime" + size: 20 + max: 1000 + one-per-owner: true diff --git a/.github/workflows/update-template.yml b/.github/workflows/update-template.yml new file mode 100644 index 0000000000..2ab155ea98 --- /dev/null +++ b/.github/workflows/update-template.yml @@ -0,0 +1,32 @@ +# This file was generated by upptime/uptime-monitor@v1.26.4 +# +# =============================== +# Do not edit this file directly! +# =============================== +# +# Your changes will be overwritten when the template updates (daily) +# Instead, change your .upptimerc.yml configuration: https://upptime.js.org/docs + +name: Update Template CI +on: + schedule: + - cron: "0 0 * * *" + repository_dispatch: + types: [update_template] + workflow_dispatch: +jobs: + release: + name: Build + runs-on: ubuntu-18.04 + steps: + - name: Checkout + uses: actions/checkout@v2.3.3 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_PAT }} + - name: Update template + uses: upptime/uptime-monitor@master + with: + command: "update-template" + env: + GH_PAT: ${{ secrets.GH_PAT }} diff --git a/.github/workflows/updates.yml b/.github/workflows/updates.yml new file mode 100644 index 0000000000..d23f76d758 --- /dev/null +++ b/.github/workflows/updates.yml @@ -0,0 +1,30 @@ +# This file was generated by upptime/uptime-monitor@v1.26.4 +# +# =============================== +# Do not edit this file directly! +# =============================== +# +# Your changes will be overwritten when the template updates (daily) +# Instead, change your .upptimerc.yml configuration: https://upptime.js.org/docs + +name: Updates CI +on: + schedule: + - cron: "0 3 * * *" + repository_dispatch: + types: [updates] + workflow_dispatch: +jobs: + release: + name: Deploy updates + runs-on: ubuntu-18.04 + steps: + - name: Checkout + uses: actions/checkout@v2.3.3 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_PAT }} + - name: Update code + uses: upptime/updates@master + env: + GH_PAT: ${{ secrets.GH_PAT }} diff --git a/.github/workflows/uptime.yml b/.github/workflows/uptime.yml new file mode 100644 index 0000000000..5c4ae33319 --- /dev/null +++ b/.github/workflows/uptime.yml @@ -0,0 +1,33 @@ +# This file was generated by upptime/uptime-monitor@v1.26.4 +# +# =============================== +# Do not edit this file directly! +# =============================== +# +# Your changes will be overwritten when the template updates (daily) +# Instead, change your .upptimerc.yml configuration: https://upptime.js.org/docs + +name: Uptime CI +on: + schedule: + - cron: "*/5 * * * *" + repository_dispatch: + types: [uptime] + workflow_dispatch: +jobs: + release: + name: Check status + runs-on: ubuntu-18.04 + steps: + - name: Checkout + uses: actions/checkout@v2.3.3 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_PAT }} + - name: Check endpoint status + uses: upptime/uptime-monitor@v1.26.4 + with: + command: "update" + env: + GH_PAT: ${{ secrets.GH_PAT }} + SECRETS_CONTEXT: ${{ toJson(secrets) }} diff --git a/.templaterc.json b/.templaterc.json new file mode 100644 index 0000000000..3c6c2a1140 --- /dev/null +++ b/.templaterc.json @@ -0,0 +1,3 @@ +{ + "files": [".github/**/*"] +} diff --git a/.upptimerc.yml b/.upptimerc.yml new file mode 100644 index 0000000000..ef29512458 --- /dev/null +++ b/.upptimerc.yml @@ -0,0 +1,31 @@ +# Change these first +owner: upptime # Your GitHub organization or username, where this repository lives +repo: upptime # The name of this repository + +sites: + - name: Google + url: https://www.google.com + - name: Wikipedia + url: https://en.wikipedia.org + - name: Hacker News + url: https://news.ycombinator.com + - name: Test Broken Site + url: https://thissitedoesnotexist.koj.co + +status-website: + # Add your custom domain name, or remove the `cname` line if you don't have a domain + # Uncomment the `baseUrl` line if you don't have a custom domain and add your repo name there + cname: demo.upptime.js.org + # baseUrl: /your-repo-name + logoUrl: https://raw.githubusercontent.com/upptime/upptime.js.org/master/static/img/icon.svg + name: Upptime + introTitle: "**Upptime** is the open-source uptime monitor and status page, powered entirely by GitHub." + introMessage: This is a sample status page which uses **real-time** data from our [GitHub repository](https://github.com/upptime/upptime). No server required — just GitHub Actions, Issues, and Pages. [**Get your own for free**](https://github.com/upptime/upptime) + navbar: + - title: Status + href: / + - title: GitHub + href: https://github.com/$OWNER/$REPO + +# Upptime also supports notifications, assigning issues, and more +# See https://upptime.js.org/docs/configuration diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000..f76bb38c5d --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Anand Chowdhary + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000000..8a9a0cc890 --- /dev/null +++ b/README.md @@ -0,0 +1,119 @@ +# [![Upptime](https://raw.githubusercontent.com/upptime/upptime.js.org/master/static/img/logo.svg)](https://upptime.js.org) + + + +**Upptime** (https://upptime.js.org) is the open-source uptime monitor and status page, powered entirely by GitHub Actions, Issues, and Pages. It's made with 💚 by your friends at [Koj](https://koj.co). + +> I find Upptime an incredible clever usage of \[GitHub Actions]. You essentially get a free configurable uptime monitor for whatever you want. – [CSS Tricks](https://css-tricks.com/upptime/) + +Upptime is used by [**1,000+**](https://github.com/topics/upptime) people and teams to ensure they know when their endpoints go down. + + + +[![Uptime CI](https://github.com/upptime/upptime/workflows/Uptime%20CI/badge.svg)](https://github.com/upptime/upptime/actions?query=workflow%3A%22Uptime+CI%22) +[![Response Time CI](https://github.com/upptime/upptime/workflows/Response%20Time%20CI/badge.svg)](https://github.com/upptime/upptime/actions?query=workflow%3A%22Response+Time+CI%22) +[![Graphs CI](https://github.com/upptime/upptime/workflows/Graphs%20CI/badge.svg)](https://github.com/upptime/upptime/actions?query=workflow%3A%22Graphs+CI%22) +[![Static Site CI](https://github.com/upptime/upptime/workflows/Static%20Site%20CI/badge.svg)](https://github.com/upptime/upptime/actions?query=workflow%3A%22Static+Site+CI%22) +[![Summary CI](https://github.com/upptime/upptime/workflows/Summary%20CI/badge.svg)](https://github.com/upptime/upptime/actions?query=workflow%3A%22Summary+CI%22) + +## [📈 Live Status](https://demo.upptime.js.org): **🟧 Partial outage** + + + + + +| URL | Status | History | Response Time | Uptime | +| --- | ------ | ------- | ------------- | ------ | +| [Google](https://www.google.com) | 🟩 Up | [google.yml](https://github.com/upptime/upptime/commits/HEAD/history/google.yml) | | +| [Wikipedia](https://en.wikipedia.org) | 🟩 Up | [wikipedia.yml](https://github.com/upptime/upptime/commits/HEAD/history/wikipedia.yml) | | +| [Hacker News](https://news.ycombinator.com) | 🟩 Up | [hacker-news.yml](https://github.com/upptime/upptime/commits/HEAD/history/hacker-news.yml) | | +| [Test Broken Site](https://thissitedoesnotexist.koj.co) | 🟥 Down | [test-broken-site.yml](https://github.com/upptime/upptime/commits/HEAD/history/test-broken-site.yml) | | + + + + + +_This README is also available in [🇧🇷 Brazilian Portuguese](./README.pt-br.md)_ + +## ⭐ How it works + +- GitHub Actions is used as an uptime monitor + - Every 5 minutes, a workflow visits your website to make sure it's up + - Response time is recorded every 6 hours and committed to git + - Graphs of response time are generated every day +- GitHub Issues are used for incident reports + - An issue is opened if an endpoint is down + - People from your team are assigned to the issue + - Incidents reports are posted as issue comments + - Issues are locked so non-members cannot comment on them + - Issues are closed automatically when your site comes back up + - Slack notifications are sent on updates +- GitHub Pages are used for the status website + - A simple, beautiful, and accessible PWA is generated + - Built with Svelte and Sapper + - Fetches data from this repository using the GitHub API + +_Upptime is not affiliated to or endorsed by GitHub._ + +[![Screenshot of status website](https://raw.githubusercontent.com/upptime/upptime.js.org/master/static/img/screenshot-status.png)](https://upptime.js.org) + +## 👩💻 [Documentation](https://upptime.js.org) + +1. [How it works](https://upptime.js.org/docs) +1. [Getting started](https://upptime.js.org/docs/get-started) +1. [Configuration](https://upptime.js.org/docs/configuration) +1. [Triggers](https://upptime.js.org/docs/triggers) +1. [Notifications](https://upptime.js.org/docs/notifications) +1. [Badges](https://upptime.js.org/docs/badges) +1. [Packages](https://upptime.js.org/docs/packages) +1. [Contributing](https://upptime.js.org/docs/contributing) +1. [Frequently Asked Questions](https://upptime.js.org/docs/faq) + +### Concepts + +#### Issues as incidents + +When the GitHub Actions workflow detects that one of your URLs is down, it automatically opens a GitHub issue ([example issue #15](https://github.com/koj-co/upptime/issues/15)). You can add incident reports to this issue by adding comments. When your site comes back up, the issue will be closed automatically as well. + +
+ + | ++ + | +
+ + | ++ + | +
+ + + +
+
+ An open source project by Koj.
Furnish your home in style, for as low as CHF175/month →
+
n9s;8Vc4N0}zTFF YLHd7U=
zpqW?DG?WiEK9H;J!bN!KJ3=X`5fmv2%al$ 9x~D%=w4_sti1JvL`9ajZAXpBFqXY{)*pX0EC>okZu7`B4Gqbj>Cz7K
zq3I17pDH39Mg#3*7ujg-UQgAls92<84gIm xl-sxox+Zm-D@d{AleB
zvy^c8tx4Fka{`R7oL3h=fxO5)#J&6;d)_WT#c1b#=i=PzpzFi-(rLS&M6UWc#d!DY
zo-W3PTLM!XZl0n#0GP5Iv$9y7RMjb|m*??J6J_*Zuh)QUn92`%!`wcBMH2^3uW*c0
z9F6<&RfyuGNX$AG`+9}LMrBmX2Ur-Ldz^&9(16cxIgPvK1Glf6XBs!OGdJKuNx!F8
zvyZ)X(Y!LYJ{#Y$SW!Kn$Ma*|m-tE-gvnfCZNRaG_5`nVdR-?ahs_j3>8O%Vzxzp`
zK+nwf?qq95T=l+HuYD?po~Ro%&h_#$m~*c{wS|FcUxs%%i60qO<)I-57*2-rl;n6P
zkcwz<{aG5NNPlmb8X={7X
zE@DLMKt33j!F=Zx8OguBu(@h@i4Vimc^zohC&F=Yvy)WYh
z$B8y!pm)p|3vs$c{vMl@RBaSAErAx|s#Pg8OkC=aQAT0>Kj!m~g+o?3LZdOZ(dk$m
zphy{#uYW)D6)EX|N7QcWom>7KKb9^0D(?no4}65bz4{%im#Hvp?`D>#L7JS+)>Tfs
z(dzB$(40}Ny2sMZU#5lWi&P57Ezpx`Ef!UyNCH?}>85i{-TIqf%NClp6L?>#V^%-n$>PS6L}#I@3``BF7^Z+*?a5h&At(^^Xh$fvksdTh*9>)
za^6VS5;+qSeHUmc{Kl#@`aVy^%AgZO5Uk2Aw=iKsQM*}1=ef|RVjiyeQl&55=Ld#|
zj=N6ty{gK@OiVA$6okj>{^(gY`q5y$ysCg2k8(VCzVmzs$HisMVo
3l{t
z`|XEKK3^DhJD<_>0_=-W%;NWtiQh*4kvf6kp^tx+0il?EmRJv`2D58!4UK1OnmfEJ
zi141_w`}W8n>#Yp(@387C6uBfAv=4iqlv3kBjOq>C>avVwfiv>r2XnqFdjK|;@a_R4KWPo0tqqe@
*
zj=tLpmjvjhs7X&<%L0-{V8F4pHGi^@N@gaeB5ix#0G$OV-t&u)rt+15_meJ%n`>kL
z5;Gxqh`N%q-H0{=W&KisCH`aF;9)`B1f^-HKVZlrTnE~O`m`TguK|REBegne6nKw?
zN=mo3Hb