Now bear with me on this one, but I’m going to talk about a subject that may sound like an absolute yawnfest, and that subject is Cost Governance. I know, I know, there are sexier things to talk about like Kubernetes Operators and OpenTelemetry, however, Cost Governance aligns rather nicely with a lot of the other skills an engineer possesses and uses on a daily basis. What cost governance…
Over the past few months I have been doing the typical thing of looking back at my old code and wincing (Terraform in this case). Reason being is that I’ve specified some static variables where I really shouldn’t have which then creates loads of overhead and lots of manual changes. Basically it doesn’t scale, and is really bad practise. After seeing the error in my approach I…
A little while back I was setting up Cloudwatch Logs for some containers, and did this via the use of CloudFormation templates, Puppet and Facter. Fortunately I was able to do all this with refs inside the CloudFormation template and echo it into a bootstrap.txt file through the EC2 instance’s User Data. The next step was to then store the CloudWatch Logs group as a custom fact to be picked…
Back in late 2013 I was tasked with figuring out a new solution to deploying and managing the Macs for my then role at Mind Candy. I initially posted this article back in 2015, so it’s a little out of date but all the technology is still valid and widely used. The whole project started life as small changes to our deployments which in turn evolved into an entire deployment/management suite,…
As soon as Amazon announced AWS Certificate Manager (ACM) we started planning on how we were going to move all of services over to using it. The fact that you don’t have to pay for them and it auto renews is just amazing. To automate this as much as possible we wanted to shove it all into a CloudFormation (CF) template along with our Elastic Load Balancer (ELB) configuration. The only part…
Having spent a handful of years managing multiple implementations of Puppet, I thought it’d be nice to dump some of my learnings into an article. After a couple years of writing and rewriting various modules, the main points I’ve taken away from it all is to make them agnostic and modular. By agnostic I mean the module should give you the ability to support multiple operating systems…
At the beginning of the year we moved over to Amazon’s Web Service’s Elasticsearch Service from our implementation of Elasticsearch hosted in EC2. The idea behind this was so we could utilise the service and abstract the operational work like maintaining the instances. We kept coming across OOM issues due the JVMMemoryPresure spiking and inturn the ES service kept crapping out. Aside…
At the time of writing this post I had been at my position for around 6 months, and was still learning some of the bespoke systems that had been written in-house. To help gain a greater understanding of the infrastructure and their relationships, I was tasked with fleshing out the documentation that’s in place, as well as creating docs for the systems that haven’t got any. While…
Along with every other every self respecting Sys Admin, I worry about security. The latest worry I had was around the way I supplied credentials for a sensu check to authenticate against a postgresql db. The check in question is called check_postgres_alive.rb from the Sensu Community Plugins. The check requires you to pass the credentials and other sensitive information as arguments, which…
As I mentioned in my previous article, I was looking to write some tests for my Pelican site deployment via CircleCi. I wasn’t looking for anything in depth, just a kind of placeholder test while I wet my feet. I had never written any sort of testing, and in all fairness this isn’t a particularly useful test. I just wanted a proof of concept. So my updated circle.yml looks like this:
As with most of my projects, the more and more I play with them, the harder I find to put them down. In this case, having successfully set up a Static site (this blog) via Pelican and gotten to grips with the deployment to S3 via a Makefile. I then decided…how can I automate this. CI/CD (in all of it’s various forms) isn’t particularly new however, I didn’t have anything…
I had only been at my current role for a few months when the glibc vulnerabilty reared it’s ugly head. Without going into the specifics, here’s what the exploit really meant. It was discovered that the GNU C Library incorrectly handled receiving responses while performing DNS resolution. A remote attacker could use this issue to cause the GNU C Library to crash, resulting in a denial…
Not a particularly extesive write up but, here’s a few points I thought I’d note about things I came across when setting up Pelican. Themes While this blog has only been set up for the sole purpose of giving my ramblings a platform and helping pass whatever knowledge I possess, I also want it to look nice. After trawling through pelicanthemes I found the theme that is currently in use…