From c49d32d9674d1ccf500479b5c4aed59346dda268 Mon Sep 17 00:00:00 2001 From: hazardous waste <107384053+a48zhang@users.noreply.github.com> Date: Sat, 20 Jul 2024 23:03:56 +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 -> 12282 bytes graphs/google/response-time-month.png | Bin 0 -> 24502 bytes graphs/google/response-time-week.png | Bin 0 -> 17415 bytes graphs/google/response-time-year.png | Bin 0 -> 74162 bytes graphs/google/response-time.png | Bin 0 -> 74853 bytes graphs/hacker-news.png | Bin 0 -> 12250 bytes graphs/hacker-news/response-time-day.png | Bin 0 -> 15723 bytes graphs/hacker-news/response-time-month.png | Bin 0 -> 35884 bytes graphs/hacker-news/response-time-week.png | Bin 0 -> 21878 bytes graphs/hacker-news/response-time-year.png | Bin 0 -> 30499 bytes graphs/hacker-news/response-time.png | Bin 0 -> 30640 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 -> 10954 bytes graphs/wikipedia/response-time-month.png | Bin 0 -> 32097 bytes graphs/wikipedia/response-time-week.png | Bin 0 -> 19872 bytes graphs/wikipedia/response-time-year.png | Bin 0 -> 32862 bytes graphs/wikipedia/response-time.png | Bin 0 -> 35596 bytes history/LICENSE | 540 +++++++++++++++ history/google.yml | 7 + history/hacker-news.yml | 7 + history/i-pv6-test.yml | 7 + history/summary.json | 654 ++++++++++++++++++ history/test-broken-site.yml | 7 + history/wikipedia.yml | 7 + 102 files changed, 1878 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..f4a5891f8 --- /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.37.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.37.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..4a703411a --- /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.37.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.37.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..cc52c0cff --- /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.37.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.37.0 + with: + command: "update-template" + env: + GH_PAT: ${{ secrets.GH_PAT || github.token }} + - name: Update response time + uses: upptime/uptime-monitor@v1.37.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.37.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.37.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..af7e59826 --- /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.37.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.37.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..dfce0152c --- /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.37.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.37.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..f39e0118c --- /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.37.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..cd1d8e11c --- /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.37.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..1a920ac39 --- /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.37.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.37.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..1bb82a8f7 --- /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 %
z%k%S2?}Zqg!-cDm^hdg=bqAUIOV=u}jLKuedzIhcRtqqj?x+(qQ-trwls4TS#E6p;
z<6p*W92r6qd*jody{zf{bJkVVA%*fa*z=z{ttnb%QypbT^_ioWea}|sU4oS$@n%g?
zRawgPA+-TA$ef79-`@Dd+Mtzveqj{B0X6*D&Joyi ZyK1lZ)Yq;;h#2o4XP5$9#t-
zx7`$0$89VApXl^LnHo&$;ha*tqkczxWB+#+AUaDJg`CfzMg_to%N9sn)Fl%1Q>{id
zurNtg_zS$T07f_w7{+bIBL*Odlw?*}o6In%PhNsf3s*O?CW_K9ohA18GJh|>AG{!<
zs5yC4i9Oy#93(6<7iiy}O68Y{8`1nxk7^HkL%ajxM$1*%8BvISMnr{7DZF3``1PL1
zV2T@Rs*o}S;xe2?@{UL}2FBMJ#oJdHQ!mdyPTE%%Z#tP rM$M$nDzE?gycPX|L2HuFOw>zU)<&w3Y&Y$4y3799
z;D(eYtlx&$$=bd5abZ8KJKLzFfH#eE3o;f%6BQL2n|vmD;-ezqHFf8Nl^ljD01
zv!T9$a_+o8q`GC{S&p&3i*EQiJ>%Ffu;O(Kv_G7QpRDcREMAQvVRj(CkFsf_id*V8
ztpMFRv<|?W+nZs3e)Agascby#3JfJ3WOZyjphXDF7>*{3hh1v04}~1A^e_t&G?vz(
z#e96j<3h3`{DrK*%yf(deXY2DSv%yDRdjZyaJXHE7wll%1PgD4AbQ37G$!;aT~zUS
z&Lg^Hl6QUolg0Sc-#<3gZw?>W>OAi()lDApU|PeT8ZCrf3QI)+MKoo+KFcwz<{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
nafUW2V@joJDi&>%lT24I+@~kGIY%~yNfl(=k!hh1Y;;RW
z$t4d?I#Y&gqLUiWb7f*bmz}_rKTvl;>vmvoMD&}g;=_{CLL_k3o0uKPSCzIND5Hs*
zdIJMf$fVu`t0^##Bl)iFo#NKYGOztZI5})?qi3&Mxww$j5^MpR4(Jn4M?3@1VEp$=
zjgc(tX@ifEOoc+7&s14*YR$6f3#hI#;@xJ}#d|$oVF)Cw^7ajGjc@;GBancBLW{hi
z&_aUsHd@(gYO8TxB6vlzg@Qj}J9)m%o0sU=)8LFpyUa;+2JrcEMU>;fzM!w{l;{;1
zLV*UgQ5>7SAV(VNZD21tLqUZ)i+dX_@BvPBa^fbrqKnV5r4>-xDu1!s(&xr^V(@
`8v^4#z6#BTKduU@%_aeey6t5A~GaUosulH-*}
zu{FzI8DN3Q@%B*7ab!;3luQh_dZK;CCCl#IU!tw^Rr$gD)d8cq2Pa-1(JHf{7^DW#
z>W+jeWgECDenjxS`}des_4y4>8E?Di`roM)K_B;PFrS-KKE0E^7Z46RTyZWTyr?e>
zr+WKZ9qC5;H(Ozy{>d)Va<|Lr{E2oKU=_Z*BJ4q&vvMHZp37}<{JX)}Ih7f?hMdJ;
zyKJZVH17n`ub;*Xg{TheW8*S=o(+rs%qyd;Fh2@!q_`P5eV2hdI2ZeUDT+4*huHY(
z6XIM)MId8o(XZM5YrsoK`w*vqG3$O#r$YoApb`?DAi$Du*A>4s@4v=fylSs1j-DCg
zZ}%qWN@I@GIpQWNI-YdTAe0z(wKuip)$?5M?Hs}ZR#>mS+FGRf(&n})<#s2WzG$)g
zIQ}zvo|%U1NA~NV6L8J;C|k^reU}Ng^t+aw)52Bj4f1X=A?4!nc9yc+qz&DN@4$3I11S)
z05kW|B1X>soh8Fnba`-zI)a!O3)bgGG>fX#&gN9mcZFSA05<*Y1Ld}Qg5DKu-`UB6
z^H~