DYK Travis CI is no longer free?
If you aren't paying $69/month, you'd better move to GitHub Actions or CircleCI.
They have a free Plan, works for me.
Migration from .org is still going on, so I expect it to use OOS credits by then.
Travis free plan turns out to be 10000 credits one time. When you run out, it'll never be replenished.
As for OOS credits, you'll have to haggle with support every time you need more credits. It's not recurring.
Then I just ask.
SQL injection everywhere!
No, cli.php is only available to your locally, means only you have access to these commands.
Additional, every SQL query runs through SQLite3::escapeString.
What if my group name happen to contain a quotation sign? "idle" servers isn't too crazy, where "idle" needs quotation if the servers are only partially idle.
I filter any untrusted user input before I hand it over to sql, the cli is not filtered since I consider it trusted.
I do prefer prepared statements anytime no question, I was not aware of it and I will update it when I got time.
@Brueggus said:
So.. I finally managed to get my own instance of statibus up and running - and I love it for its simplicity. Great work @Neoon !
Two things I ran into:
adding an IPv6 address for the database host in config.php doesn't work for obvious reasons, but using the hostname works fine.
CentOS' ping doesn't support IPv6 addresses. One has to use ping6 instead. I felt lazy so I just changed the call in class/cron.php.
You can submit a pull request, so I can update the codebase to switch between ping and ping6 depending if IPv4 or IPv6.
Right now I am just using v4 but I added basic support so v6 will work too.
The biggest feature, is remotes, basically remote checks, as many as you want.
You can configure how many checks will be done plus the threshold, how many positive results are needed to mark it as online.
The remote tests will be done, with the same timeout and other parameters you configured.
Other than that, for some reason I used dates in the details history, which is completely fucked beyond.
This has been replaced with unix time stamp as it should be, means its BREAKING to any running instance if you update.
You wanna reset the details before updating with UPDATE details set detailed = "W10="
The details are different from the outages, you still keep those.
If there is need, we can add an option to regenerate the details from the outages.
As before statibus works fine with PHP 7.x or PHP 8, no changes here.
The other stuff are mostly fixes (css and display bugs), besides a clean up function, if you want to use it.
@yoursunny said:
Travis free plan turns out to be 10000 credits one time. When you run out, it'll never be replenished.
As for OOS credits, you'll have to haggle with support every time you need more credits. It's not recurring.
Since I ran low:
"I am pleased to notify you that 15K credits were added to your account allowing you to resume running OSS builds"
Even the reply times, this was done in 20 minutes, out side business hours, I can't complain.
I may setup my own build server once later but for now.
remotes have been added by request (optional)
You can add as many remote probes as you want, which will confirm outages.
By default the requests will be randomized in-between the probes and you can configure the parameters such as how many checks should be done and how many checks each service needs to be marked as online.
switched details to unix time stamp instead of dates
You will need to reset your details (90 days overview) since the new version won't work with dates anymore
use ping6 when IPv6 address is given, Thanks to @Brueggus
fixed a bug that caused statibus to use the incorrect endpoint with rqlite, which made it incompatible with 6.x versions
the details have a default window of 24 hours, means if a outage was longer than 24 hours, this wasn't displayed anymore in the details despite the outage was still going on, this has now been fixed, by allowing even if the outage exceeds the window, to keep track of it.
the uptime percentages will be now colored depending on downtime
a few css changes, primary mobile view, less spacing, loading fonts separate and preloading
a few html changes, make stuff that wasn't clickable clickable
I've setup Statibus like the minimalist and clean look of it, on Github you says this "rqlite has its limits at about 250 requests per second, due to the raft consensus. So you should setup some type of caching, 1s is enough to prevent rqlite from not responding to queries.".
Just wondering are you talking about adding caching to rqlite server or caching the status page so it doesn't call PHP on each request.
@Razza said:
I've setup Statibus like the minimalist and clean look of it, on Github you says this "rqlite has its limits at about 250 requests per second, due to the raft consensus. So you should setup some type of caching, 1s is enough to prevent rqlite from not responding to queries.".
Just wondering are you talking about adding caching to rqlite server or caching the status page so it doesn't call PHP on each request.
Finally got myself some time to give this a spin and first I gotta say I just love it! After you have setup, it just works and its blazing fast.
Setting it up in a new minimal Alpine VPS was quite easy eventho I've never try rqlite
Couple new features I would like to see:
Individual service page could also include that neat bar graphics
Groups could have own page so you would see overalls easily from different groups and how they are performing
Comments
Then I just ask.
I filter any untrusted user input before I hand it over to sql, the cli is not filtered since I consider it trusted.
I do prefer prepared statements anytime no question, I was not aware of it and I will update it when I got time.
Free NAT KVM | Free NAT LXC
Small Patch:
Free NAT KVM | Free NAT LXC
So.. I finally managed to get my own instance of statibus up and running - and I love it for its simplicity. Great work @Neoon !
Two things I ran into:
ping
doesn't support IPv6 addresses. One has to useping6
instead. I felt lazy so I just changed the call inclass/cron.php
.dnscry.pt - Public DNSCrypt resolvers hosted by LowEnd providers • Need a free NAT LXC? -> https://microlxc.net/
You can submit a pull request, so I can update the codebase to switch between ping and ping6 depending if IPv4 or IPv6.
Right now I am just using v4 but I added basic support so v6 will work too.
Free NAT KVM | Free NAT LXC
I did some houskeeping on the great statibus.
The biggest feature, is remotes, basically remote checks, as many as you want.
You can configure how many checks will be done plus the threshold, how many positive results are needed to mark it as online.
The remote tests will be done, with the same timeout and other parameters you configured.
Other than that, for some reason I used dates in the details history, which is completely fucked beyond.
This has been replaced with unix time stamp as it should be, means its BREAKING to any running instance if you update.
You wanna reset the details before updating with UPDATE details set detailed = "W10="
The details are different from the outages, you still keep those.
If there is need, we can add an option to regenerate the details from the outages.
As before statibus works fine with PHP 7.x or PHP 8, no changes here.
The other stuff are mostly fixes (css and display bugs), besides a clean up function, if you want to use it.
Which is one of the reasons, I ditched the dates format in favour for unix time stamps too.
You can try it in the experimental branch: https://github.com/Ne00n/statibus/tree/experimental
Or just watch it:
https://statibus.x8e.net/
I gonna merge it later, if it deemed to be stable enough.
Free NAT KVM | Free NAT LXC
Since I ran low:
"I am pleased to notify you that 15K credits were added to your account allowing you to resume running OSS builds"
Even the reply times, this was done in 20 minutes, out side business hours, I can't complain.
I may setup my own build server once later but for now.
Free NAT KVM | Free NAT LXC
Patch Notes:
remotes have been added by request (optional)
You can add as many remote probes as you want, which will confirm outages.
By default the requests will be randomized in-between the probes and you can configure the parameters such as how many checks should be done and how many checks each service needs to be marked as online.
switched details to unix time stamp instead of dates
You will need to reset your details (90 days overview) since the new version won't work with dates anymore
use ping6 when IPv6 address is given, Thanks to @Brueggus
If you have any suggestions lemme know.
Free NAT KVM | Free NAT LXC
Another interesting option for supporting remotes could be to lean on blackbox exporter endpoints. Pretty flexible and easy API call
Nah, I keep it Minimalistic.
Free NAT KVM | Free NAT LXC
I've setup Statibus like the minimalist and clean look of it, on Github you says this "rqlite has its limits at about 250 requests per second, due to the raft consensus. So you should setup some type of caching, 1s is enough to prevent rqlite from not responding to queries.".
Just wondering are you talking about adding caching to rqlite server or caching the status page so it doesn't call PHP on each request.
yea PHP caching.
Free NAT KVM | Free NAT LXC
Finally got myself some time to give this a spin and first I gotta say I just love it! After you have setup, it just works and its blazing fast.
Setting it up in a new minimal Alpine VPS was quite easy eventho I've never try rqlite
Couple new features I would like to see:
Can you make a css optimization personal challenge and optimize it like there is no tomorrow? Squeze it like watter from stone.
https://github.com/Ne00n/statibus/blob/main/content/css/style.css
Free NAT KVM | Free NAT LXC