Nothing really major, got a few updates/improvements/fixes since last time and I try to be completely transparent.
Mildly interesting for users
The cache gets invalidated when deleting droplets, snapshots, or SSH keys. Not sure why this wasn’t done earlier. This fixes some display/information issues for users. Forge 1.8 has also been added to the list of Minecraft flavours - version 1.8-184.108.40.2062 which is the recommended build as of the update. With refactored error code (which makes it not-messy to implement this), you won’t get stupid errors from Gamocosm stopping a server that is already off.
Some bugs have been fixed in the background workers. Most notably, the droplet shutdown action is literally just the attempt; the droplet may still be in the process of “gracefully shutting down”. So as a race condition, sometimes the action would be “completed” but the droplet not off yet.
Mildly interesting for developers
Instead of returning error strings, functions return error objects with error messages (which are displayed through
to_s) and error data.
This way, the message can be shown to the user, or a calling function can further inspect and handle the error.
Considering what to do with the
error? methods in
ServerRemote though; before
error! could be used to mark any object as an error (without distinction between error messages and error objects).
Sysadmin scripts have been updated - no changes for users, but if anyone ever wants to set up their own Gamocosm server it does :P
They were actually faulty at first; I was using RVM, but not sourcing
"$HOME/.rvm/scripts/rvm" so that RVM would be loaded as a function in bash, instead of as an executable on the path.
Gamocosm runs on Ruby 2.2.
RVM needs to be a function in the shell so it can actually modify the shell process’
$PATH and other environment variables as needed.
Because it was the only Ruby installed on the server, it didn’t really matter even though I always got complaints that RVM wasn’t loaded properly.
Also, starting Sidekiq in production sleeps for a second after starting the daemon so that the pidfile gets created before systemd complains about it.
Still can’t get rid of the pidfile complaints for Nginx though.
Just some mildly interesting stuff for server admins.
Finally, I’ve set up and enabled Disqus comments for this blog.
PS: Be sure to check out GitHub’s Student Developer Pack! You get $100 of credit on Digital Ocean just for being a student in a diploma/degree granting program.