Show HN: Host your status page on GitHub
github.com
github.com
Not something I use for websites/web apps I develop for clients, but for my own irrelevant website, I go as far as to cheat and use the following:
<img src="https://des.tination.server/img/1px.gif"
onload="statusOk()"
onerror="statusDown()"
alt="">
<script>
function statusOk()
{
// do something involving green and check marks
}
function statusDown()
{
// do something involving red... and crosses
}
</script>
(Obviously you have to prevent caching)With Gitboard I use the Github API in this way to display issues in a Kanban board, which works really nicely: https://adewes.github.io/gitboard
> ... With proper E-Tag checking, Github won't even count repeated API queries against the rate limit ...
Does this behavior rely only on the browser side? Did you add something in javascript?
I missed that part:
https://developer.github.com/v3/#conditional-requests
"Also note: making a conditional request and receiving a 304 response does not count against your Rate Limit, so we encourage you to use it whenever possible."
I found that:
(Analogy: GitHub pages is like creating a new directory, putting files there, then renaming the directory to the old name; S3 — putting files into the old directory.)
> An atomic transaction is an indivisible and irreducible series of database operations such that either all occur, or nothing occurs. A guarantee of atomicity prevents updates to the database occurring only partially, which can cause greater problems than rejecting the whole series outright.
That is, if I update index.html on S3, only some of their actual servers get the update right away, and some do no. Thus if I start downloading index.html from different parts of the world I will see either the old or the new version.
Atomic does not necessarily imply multiple actions being bundled together, which is what you may be thinking of. For example the mv command on Linux is atomic: it renames a file and returns once the rename is complete. This is not the case with S3.
Another way to think of it: atomic update to all the S3 servers at once instead of to just some of them.
- index.html - style.css - milligram.min.css
and, if you need the logo/favicon
- favicon.png - logo.png
Not to mention GitHub has had more than its fair share of outages.
This looks very similar to Cachet [1]. Did you take inspiration from it?
If you take a look at statuspage.io [1], status.io [2] or cachet [3] they look more or less the same.
[1] https://www.statuspage.io/ [2] https://status.io/ [3] https://cachethq.io/
That uptime measure is for the application server, which I suspect does not include GitHub Pages which is hosted separately on static content servers.
Lastly, 99.9% uptime over a month means 43 minutes of downtime. To me, that sounds like quite a lot.
Ofcourse, if one does a sharding, it's bound not to be repo by repo, so there might be adjacent ones suffering. But I use GH everyday, can't remember a time when it was offline.
"All of these factors combine to make CocoaPods/Specs one of the top five most resource-costly repositories that we host on all of GitHub.com. And that is why it is rate-limited; otherwise it would consume even more resources and cause service interruptions for other GitHub users. The symptoms of the rate limiting for you and your users are that your repository accesses (clones, fetches, pushes) have to wait in a queue on our end, sometimes for a long time, before being processed. This causes fetches/clones to take much longer than they would otherwise, and might cause timeouts at your end. Moreover, if the load on our servers becomes too overwhelming, a fraction of the accesses might be rejected altogether."
From: https://github.com/CocoaPods/CocoaPods/issues/4989#issuecomm...