From 86ce402f79bc2f0bb5d844ea877c9e97c68f0f0b Mon Sep 17 00:00:00 2001 From: So Jens <149686101+somehow22@users.noreply.github.com> Date: Fri, 23 Aug 2024 17:51:06 +0800 Subject: [PATCH] Initial commit --- .gitattributes | 9 + .github/ISSUE_TEMPLATE/bug_report.md | 40 + .github/ISSUE_TEMPLATE/config.yml | 8 + .github/ISSUE_TEMPLATE/maintainance-event.md | 17 + .github/workflows/graphs.yml | 39 + .github/workflows/response-time.yml | 40 + .github/workflows/setup.yml | 72 ++ .github/workflows/site.yml | 48 ++ .github/workflows/summary.yml | 39 + .github/workflows/update-template.yml | 39 + .github/workflows/updates.yml | 37 + .github/workflows/uptime.yml | 40 + .templaterc.json | 3 + .upptimerc.yml | 36 + LICENSE | 21 + README.md | 107 +++ 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/i-pv6-test/response-time-day.json | 1 + api/i-pv6-test/response-time-month.json | 1 + api/i-pv6-test/response-time-week.json | 1 + api/i-pv6-test/response-time-year.json | 1 + api/i-pv6-test/response-time.json | 1 + api/i-pv6-test/uptime-day.json | 1 + api/i-pv6-test/uptime-month.json | 1 + api/i-pv6-test/uptime-week.json | 1 + api/i-pv6-test/uptime-year.json | 1 + api/i-pv6-test/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 -> 12234 bytes graphs/google/response-time-month.png | Bin 0 -> 24920 bytes graphs/google/response-time-week.png | Bin 0 -> 14815 bytes graphs/google/response-time-year.png | Bin 0 -> 81609 bytes graphs/google/response-time.png | Bin 0 -> 75597 bytes graphs/hacker-news.png | Bin 0 -> 12250 bytes graphs/hacker-news/response-time-day.png | Bin 0 -> 11363 bytes graphs/hacker-news/response-time-month.png | Bin 0 -> 36619 bytes graphs/hacker-news/response-time-week.png | Bin 0 -> 20558 bytes graphs/hacker-news/response-time-year.png | Bin 0 -> 30524 bytes graphs/hacker-news/response-time.png | Bin 0 -> 30759 bytes graphs/i-pv6-test/response-time-day.png | Bin 0 -> 1196 bytes graphs/i-pv6-test/response-time-month.png | Bin 0 -> 1196 bytes graphs/i-pv6-test/response-time-week.png | Bin 0 -> 1196 bytes graphs/i-pv6-test/response-time-year.png | Bin 0 -> 18763 bytes graphs/i-pv6-test/response-time.png | Bin 0 -> 18763 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 -> 1196 bytes graphs/test-broken-site/response-time.png | Bin 0 -> 1196 bytes graphs/wikipedia.png | Bin 0 -> 23004 bytes graphs/wikipedia/response-time-day.png | Bin 0 -> 4032 bytes graphs/wikipedia/response-time-month.png | Bin 0 -> 31786 bytes graphs/wikipedia/response-time-week.png | Bin 0 -> 19419 bytes graphs/wikipedia/response-time-year.png | Bin 0 -> 33369 bytes graphs/wikipedia/response-time.png | Bin 0 -> 35652 bytes history/LICENSE | 540 ++++++++++++++ history/google.yml | 7 + history/hacker-news.yml | 7 + history/i-pv6-test.yml | 7 + history/summary.json | 688 ++++++++++++++++++ history/test-broken-site.yml | 7 + history/wikipedia.yml | 7 + 102 files changed, 1912 insertions(+) create mode 100644 .gitattributes create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/maintainance-event.md 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/i-pv6-test/response-time-day.json create mode 100644 api/i-pv6-test/response-time-month.json create mode 100644 api/i-pv6-test/response-time-week.json create mode 100644 api/i-pv6-test/response-time-year.json create mode 100644 api/i-pv6-test/response-time.json create mode 100644 api/i-pv6-test/uptime-day.json create mode 100644 api/i-pv6-test/uptime-month.json create mode 100644 api/i-pv6-test/uptime-week.json create mode 100644 api/i-pv6-test/uptime-year.json create mode 100644 api/i-pv6-test/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/i-pv6-test/response-time-day.png create mode 100644 graphs/i-pv6-test/response-time-month.png create mode 100644 graphs/i-pv6-test/response-time-week.png create mode 100644 graphs/i-pv6-test/response-time-year.png create mode 100644 graphs/i-pv6-test/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/i-pv6-test.yml create mode 100644 history/summary.json create mode 100644 history/test-broken-site.yml create mode 100644 history/wikipedia.yml diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..2a9eb71da --- /dev/null +++ b/.gitattributes @@ -0,0 +1,9 @@ +# Markdown +*.md linguist-detectable=true +*.md linguist-documentation=false + +# JSON +*.json linguist-detectable=true + +# YAML +*.yml linguist-detectable=true diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..651c5a1c7 --- /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 000000000..a07d0253b --- /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/orgs/upptime/discussions/new?category=ideas + about: Suggest an idea for this project + - name: Questions + url: https://github.com/orgs/upptime/discussions/new?category=q-a + about: Please ask and answer questions here diff --git a/.github/ISSUE_TEMPLATE/maintainance-event.md b/.github/ISSUE_TEMPLATE/maintainance-event.md new file mode 100644 index 000000000..7abcd2532 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/maintainance-event.md @@ -0,0 +1,17 @@ +--- +name: Maintenance Event +about: Schedule a work window +title: "[Scheduled Maintenance] Site down for Maintenance" +labels: maintenance +assignees: '' + +--- + + + +**Additional context** +Who/what/when/where/why is this maintenance happening diff --git a/.github/workflows/graphs.yml b/.github/workflows/graphs.yml new file mode 100644 index 000000000..018b3d373 --- /dev/null +++ b/.github/workflows/graphs.yml @@ -0,0 +1,39 @@ +# +# =============================== +# Do not edit this file directly! +# =============================== +# +# Your changes will be overwritten when the Upptime template updates (by default, weekly) +# Instead, change .upptimerc.yml configuration and the workflows will be generated accordingly. +# +# 🔼 Upptime @v1.38.0 +# GitHub-powered open-source uptime monitor and status page by Anand Chowdhary + +# * Source: https://github.com/upptime/upptime +# * Docs and more: https://upptime.js.org +# * More by Anand Chowdhary: https://anandchowdhary.com + + +name: Graphs CI +on: + schedule: + - cron: "0 0 * * *" + repository_dispatch: + types: [graphs] + workflow_dispatch: +jobs: + release: + name: Generate graphs + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_PAT || github.token }} + - name: Generate graphs + uses: upptime/uptime-monitor@v1.38.0 + with: + command: "graphs" + env: + GH_PAT: ${{ secrets.GH_PAT || github.token }} diff --git a/.github/workflows/response-time.yml b/.github/workflows/response-time.yml new file mode 100644 index 000000000..fd2599810 --- /dev/null +++ b/.github/workflows/response-time.yml @@ -0,0 +1,40 @@ +# +# =============================== +# Do not edit this file directly! +# =============================== +# +# Your changes will be overwritten when the Upptime template updates (by default, weekly) +# Instead, change .upptimerc.yml configuration and the workflows will be generated accordingly. +# +# 🔼 Upptime @v1.38.0 +# GitHub-powered open-source uptime monitor and status page by Anand Chowdhary + +# * Source: https://github.com/upptime/upptime +# * Docs and more: https://upptime.js.org +# * More by Anand Chowdhary: https://anandchowdhary.com + + +name: Response Time CI +on: + schedule: + - cron: "0 23 * * *" + repository_dispatch: + types: [response_time] + workflow_dispatch: +jobs: + release: + name: Check status + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_PAT || github.token }} + - name: Update response time + uses: upptime/uptime-monitor@v1.38.0 + with: + command: "response-time" + env: + GH_PAT: ${{ secrets.GH_PAT || github.token }} + SECRETS_CONTEXT: ${{ toJson(secrets) }} diff --git a/.github/workflows/setup.yml b/.github/workflows/setup.yml new file mode 100644 index 000000000..728a556e0 --- /dev/null +++ b/.github/workflows/setup.yml @@ -0,0 +1,72 @@ +# +# =============================== +# Do not edit this file directly! +# =============================== +# +# Your changes will be overwritten when the Upptime template updates (by default, weekly) +# Instead, change .upptimerc.yml configuration and the workflows will be generated accordingly. +# +# 🔼 Upptime @v1.38.0 +# GitHub-powered open-source uptime monitor and status page by Anand Chowdhary + +# * Source: https://github.com/upptime/upptime +# * Docs and more: https://upptime.js.org +# * More by Anand Chowdhary: https://anandchowdhary.com + + +name: Setup CI +on: + push: + paths: + - ".upptimerc.yml" + repository_dispatch: + types: [setup] + workflow_dispatch: +jobs: + release: + name: Setup Upptime + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_PAT || github.token }} + - name: Update template + uses: upptime/uptime-monitor@v1.38.0 + with: + command: "update-template" + env: + GH_PAT: ${{ secrets.GH_PAT || github.token }} + - name: Update response time + uses: upptime/uptime-monitor@v1.38.0 + with: + command: "response-time" + env: + GH_PAT: ${{ secrets.GH_PAT || github.token }} + SECRETS_CONTEXT: ${{ toJson(secrets) }} + - name: Update summary in README + uses: upptime/uptime-monitor@v1.38.0 + with: + command: "readme" + env: + GH_PAT: ${{ secrets.GH_PAT || github.token }} + - name: Generate graphs + uses: benc-uk/workflow-dispatch@v1 + with: + workflow: Graphs CI + token: ${{ secrets.GH_PAT || github.token }} + - name: Generate site + uses: upptime/uptime-monitor@v1.38.0 + with: + command: "site" + env: + GH_PAT: ${{ secrets.GH_PAT || github.token }} + - uses: peaceiris/actions-gh-pages@v4 + name: GitHub Pages Deploy + with: + github_token: ${{ secrets.GH_PAT || github.token }} + publish_dir: "site/status-page/__sapper__/export/" + force_orphan: "false" + 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 000000000..2f1859063 --- /dev/null +++ b/.github/workflows/site.yml @@ -0,0 +1,48 @@ +# +# =============================== +# Do not edit this file directly! +# =============================== +# +# Your changes will be overwritten when the Upptime template updates (by default, weekly) +# Instead, change .upptimerc.yml configuration and the workflows will be generated accordingly. +# +# 🔼 Upptime @v1.38.0 +# GitHub-powered open-source uptime monitor and status page by Anand Chowdhary + +# * Source: https://github.com/upptime/upptime +# * Docs and more: https://upptime.js.org +# * More by Anand Chowdhary: https://anandchowdhary.com + + +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-latest + if: "!contains(github.event.head_commit.message, '[skip ci]')" + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_PAT || github.token }} + - name: Generate site + uses: upptime/uptime-monitor@v1.38.0 + with: + command: "site" + env: + GH_PAT: ${{ secrets.GH_PAT || github.token }} + - uses: peaceiris/actions-gh-pages@v4 + name: GitHub Pages Deploy + with: + github_token: ${{ secrets.GH_PAT || github.token }} + publish_dir: "site/status-page/__sapper__/export/" + force_orphan: "false" + 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 000000000..d2f4e1bd3 --- /dev/null +++ b/.github/workflows/summary.yml @@ -0,0 +1,39 @@ +# +# =============================== +# Do not edit this file directly! +# =============================== +# +# Your changes will be overwritten when the Upptime template updates (by default, weekly) +# Instead, change .upptimerc.yml configuration and the workflows will be generated accordingly. +# +# 🔼 Upptime @v1.38.0 +# GitHub-powered open-source uptime monitor and status page by Anand Chowdhary + +# * Source: https://github.com/upptime/upptime +# * Docs and more: https://upptime.js.org +# * More by Anand Chowdhary: https://anandchowdhary.com + + +name: Summary CI +on: + schedule: + - cron: "0 0 * * *" + repository_dispatch: + types: [summary] + workflow_dispatch: +jobs: + release: + name: Generate README + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_PAT || github.token }} + - name: Update summary in README + uses: upptime/uptime-monitor@v1.38.0 + with: + command: "readme" + env: + GH_PAT: ${{ secrets.GH_PAT || github.token }} diff --git a/.github/workflows/update-template.yml b/.github/workflows/update-template.yml new file mode 100644 index 000000000..5ba4d07fa --- /dev/null +++ b/.github/workflows/update-template.yml @@ -0,0 +1,39 @@ +# +# =============================== +# Do not edit this file directly! +# =============================== +# +# Your changes will be overwritten when the Upptime template updates (by default, weekly) +# Instead, change .upptimerc.yml configuration and the workflows will be generated accordingly. +# +# 🔼 Upptime @v1.38.0 +# GitHub-powered open-source uptime monitor and status page by Anand Chowdhary + +# * Source: https://github.com/upptime/upptime +# * Docs and more: https://upptime.js.org +# * More by Anand Chowdhary: https://anandchowdhary.com + + +name: Update Template CI +on: + schedule: + - cron: "0 0 * * *" + repository_dispatch: + types: [update_template] + workflow_dispatch: +jobs: + release: + name: Build + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_PAT || github.token }} + - name: Update template + uses: upptime/uptime-monitor@master + with: + command: "update-template" + env: + GH_PAT: ${{ secrets.GH_PAT || github.token }} diff --git a/.github/workflows/updates.yml b/.github/workflows/updates.yml new file mode 100644 index 000000000..c4f9217f0 --- /dev/null +++ b/.github/workflows/updates.yml @@ -0,0 +1,37 @@ +# +# =============================== +# Do not edit this file directly! +# =============================== +# +# Your changes will be overwritten when the Upptime template updates (by default, weekly) +# Instead, change .upptimerc.yml configuration and the workflows will be generated accordingly. +# +# 🔼 Upptime @v1.38.0 +# GitHub-powered open-source uptime monitor and status page by Anand Chowdhary + +# * Source: https://github.com/upptime/upptime +# * Docs and more: https://upptime.js.org +# * More by Anand Chowdhary: https://anandchowdhary.com + + +name: Updates CI +on: + schedule: + - cron: "0 3 * * *" + repository_dispatch: + types: [updates] + workflow_dispatch: +jobs: + release: + name: Deploy updates + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_PAT || github.token }} + - name: Update code + uses: upptime/updates@master + env: + GH_PAT: ${{ secrets.GH_PAT || github.token }} diff --git a/.github/workflows/uptime.yml b/.github/workflows/uptime.yml new file mode 100644 index 000000000..71842e612 --- /dev/null +++ b/.github/workflows/uptime.yml @@ -0,0 +1,40 @@ +# +# =============================== +# Do not edit this file directly! +# =============================== +# +# Your changes will be overwritten when the Upptime template updates (by default, weekly) +# Instead, change .upptimerc.yml configuration and the workflows will be generated accordingly. +# +# 🔼 Upptime @v1.38.0 +# GitHub-powered open-source uptime monitor and status page by Anand Chowdhary + +# * Source: https://github.com/upptime/upptime +# * Docs and more: https://upptime.js.org +# * More by Anand Chowdhary: https://anandchowdhary.com + + +name: Uptime CI +on: + schedule: + - cron: "*/5 * * * *" + repository_dispatch: + types: [uptime] + workflow_dispatch: +jobs: + release: + name: Check status + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_PAT || github.token }} + - name: Check endpoint status + uses: upptime/uptime-monitor@v1.38.0 + with: + command: "update" + env: + GH_PAT: ${{ secrets.GH_PAT || github.token }} + SECRETS_CONTEXT: ${{ toJson(secrets) }} diff --git a/.templaterc.json b/.templaterc.json new file mode 100644 index 000000000..3c6c2a114 --- /dev/null +++ b/.templaterc.json @@ -0,0 +1,3 @@ +{ + "files": [".github/**/*"] +} diff --git a/.upptimerc.yml b/.upptimerc.yml new file mode 100644 index 000000000..9eeecf2c4 --- /dev/null +++ b/.upptimerc.yml @@ -0,0 +1,36 @@ +# 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 + - name: IPv6 test + url: forwardemail.net + port: 80 + check: "tcp-ping" + ipv6: true + +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 000000000..f76bb38c5 --- /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 000000000..2c1745f93 --- /dev/null +++ b/README.md @@ -0,0 +1,107 @@ +# [![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 [Anand Chowdhary](https://anandchowdhary.com), supported by [Pabio](https://pabio.com). + +> 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) | | +| [IPv6 test](forwardemail.net) | 🟥 Down | [i-pv6-test.yml](https://github.com/upptime/upptime/commits/HEAD/history/i-pv6-test.yml) | | + + + + + +## ⭐ 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 is 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 is 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 #67](https://github.com/upptime/upptime/issues/67)). 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. + +
+ + | ++ + | +
+ + | ++ + | +
n9s;8Vc4N0}zTFF OW384j9%D+
z y;D>fJ_x#+Y}r3|L$HoFLe>ZQS_JL1**)IPVa
z`?nRzXw`L|*2X>Uh14z<3vNmM3M;~9x~)giW)Y4$5-a{_foC}5N42ltshfoeAIg31
z&@NONwH|*0exr=e4pZGcm@ExhcT%3#P9X%&cB*6AcQFm)2yp@njpGu}VdEvI%zb-m
z^1D7$!g_JN>Xt9Y!bJ*a7c`@ka)xFT&-W-NEpO)xr(^UATNxjLxCiOV{rbgGpC~2a
zaAnSIklmR)1N;8Mg0{Z*V720uVt0Zc*^fjTHWBH|*{Z+cT_{mD$Mkt{c%#1V@ HeTY9uXTY1G0DUM9sVDz2lh>H2}^nS?F=q0IZaX;IV)
zcwz<{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
l>sdM4VHF6
zu=wR*m;)kUEi{NOS!|Ozz)|+o98d;JJ1+L)T0Ak*99ZEs5(0jyKOFMuM$(P&Xf5p#
zUl>Ao=9e#lfcFoN{K8C3yhK;KZ$WNw@*4?RK+g!{S0(G;ZYGBaz(Ko7VEZqyv_ud0
z6`G4~4s0dnL&D~b!}2nfLH7aV>yOaVoZ}W^n2QF^B^gVA50djA(@?AOu{6{6Ekrq2
z7$z0jsO22B1
iwOtv)*%1bPB`3wfpDlC(4Dnxw7n`s{kaVXwa8OsU@aByTQuRkgC@fPUWx
zm!JEAB}U6K!4tX{(I!#ylJmo6QSv<9tNm?{pGa!ym%cNLI*UGN)6X}FB&U+>i}KN^
zH<*ewo>H=~I8kyOypowHd|BmITw8H+<9U}Zt25_lqN&>GHsFwgMnL%g`J*@*?WPAJ
zB;-qJe%86{wsqZ^;g{$zEy};UeoBS7$-b?bpOE^^P7V(W>Uwtcckgrbrv|63y(dRM{Zm!CQ{rVsS`muH;-#+zXbuhZwpaHsDZ`w5&|_3}9{k?oo6x*|
zHMrMeoye)Jfxv|}R-)+0`b=HWvw`SiW{qm=oLUvOM&<)0;2Ni!$lyQ-+6-pl2=Eze
z2tix%6paV2v3u57Yi1Cl36{mn2brNq-#!l&=ntEdP|oHLJ+a=a>#lJkiN#tAn=f?3
zU_YYb87^hQbF+FnO@6Kc_--L1f|mZ*2F5Dz>0MQJ!b?_YzbIL85sDmd2ueO4A`bM#
zBpwB54=cC#48;HHrWI_JHKZ4Cp}4-E9YhI3XG3;Rerce(Kxw=wnO2Vwom+S4o#j)M
z07|j-yN9y+{DkW7TBy*|v$D6|zri&*4}PD8@`-+7rY0e?_2pL@_BRguPYbk~dITnP
z!>^Z0Te~kG6p$`V!)c0or9LPt)$EAQ?>0lR*|Ba@qc2*1R)EX>vL21Af~Z#Yew!;!
zLFJvFTC2gUc3sS!t$yJKN(e~T9xB@ss8+h38jU^e!!OEs43{)Do#s5%n;KRvRH%^3
z_|U#jz9n|ueHk;(rc&h-Gy1~W{caO;g$43c?1h-twGo|kwN#Rt!rb
z6zohG9;V^L>EW|!*#uVWD;-wWW-8Av+q07M#^mTws;QN?!}O^x4WT6EeYxRv27C9y
z>B>=M2*?8hpI{$nk=!*=
I~y~iT(siU;On&g$eTH~^V2bLWK$d}3p=jv^mLf-`Bq-kj3%N_
zNTJGvW=@=VM>Te^^sg}RIWC}YtnhMQjctt|yI8y$fh)lUnxt
qd|NAHy{947yLA?d!c#E*
zZt$p};+*SUZJ~f&Dn4;r