feat: initial VanityOnTour status page
- HTML dashboard with auto-refresh (5min countdown) - Python checker: HTTP status, SSL expiry, App Store data - GitHub Actions: runs every 5 min, deploys via FTP to Hostinger - Monitors 13 services + iOS app + 6 SSL certs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
commit
f0211e0e5c
5 changed files with 979 additions and 0 deletions
45
.github/workflows/update-status.yml
vendored
Normal file
45
.github/workflows/update-status.yml
vendored
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
name: Update Status Page
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "*/5 * * * *" # every 5 minutes
|
||||
workflow_dispatch: # manual trigger
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
update:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.12"
|
||||
|
||||
- name: Run status checks
|
||||
run: python3 scripts/check_status.py
|
||||
|
||||
- name: Commit updated status.json
|
||||
run: |
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git add public/status.json
|
||||
git diff --cached --quiet || git commit -m "chore: update status $(date -u '+%Y-%m-%d %H:%M UTC')"
|
||||
git push
|
||||
|
||||
- name: Deploy to Hostinger via FTP
|
||||
uses: SamKirkland/FTP-Deploy-Action@v4.3.5
|
||||
with:
|
||||
server: ${{ secrets.FTP_SERVER }}
|
||||
username: ${{ secrets.FTP_USERNAME }}
|
||||
password: ${{ secrets.FTP_PASSWORD }}
|
||||
local-dir: ./public/
|
||||
server-dir: /public_html/
|
||||
dangerous-clean-slate: false
|
||||
exclude: |
|
||||
**/.git*
|
||||
**/.git*/**
|
||||
Loading…
Add table
Add a link
Reference in a new issue