Huge Furnace Update

Intro Hi folks. In the past couple of months I’ve been slowly updating Furnace. There are three major changes that happened. Let’s take a look at them, shall we? Google Cloud Platform Furnace now supports Google Cloud Platform (GCP). It provides the same API to handle GCP resource as with AWS. Namely, create, delete, status, update. I opted to leave out push because Google mostly works with git based repositories, meaning a push is literary just a push, than Google handles distributing the new code by itself. ...

January 13, 2018 · 6 min · hannibal

Commit-Build-Deploy With AWS CodeBuild and Lambda

Intro Hi All. Today I would like to write about an AWS finger practice. Previously, I wrote about how I build and deploy my blog with Wercker. Since, I’m a cloud engineer and I dislike Oracle and it’s ever expending tenctacles into the abyss, I wanted to switch to use something else. My build and deploy cycle is simple. Commit to Blogsource Repo -> Wercker WebHook -> Builds my blog using Hugo -> Pushed to a Different Repository which my Github Blog. ...

December 4, 2017 · 4 min · hannibal

Furnace - The building of an AWS CLI Tool for CloudFormation and CodeDeploy - Part 4

Intro Hi folks. Previously on this blog: Part 1. Part 2. Part 3. In this part we are going to talk about Unit Testing Furnace and how to work some magic with AWS and Go. Mock Stub Fake Dummy Canned Unit testing in Go usually follows the Dependency Injection model of dealing with Mocks and Stubs. ## DI Dependency Inject in short is one object supplying the dependencies of another object. In a longer description, it’s ideal to be used for removing the lock on a third party library, like the AWS client. Imaging having code which solely depends on the AWS client. How would you unit test that code without having to ACTUALLY connect to AWS? You couldn’t. Every time you try to test the code it would run the live code and it would try and connect to AWS and perform the operations it’s design to do. The Ruby library with it’s metaprogramming allows you to set the client globally to stub responses, but, alas, this is not the world of Ruby. ...

April 16, 2017 · 6 min · hannibal

Furnace - The building of an AWS CLI Tool for CloudFormation and CodeDeploy - Part 3

Intro Hi folks. Previously on this blog: Part 1. Part 2. Part 4. In this part, I’m going to talk about the experimental plugin system of Furnace. Go Experimental Plugins Since Go 1.8 was released, an exciting and new feature was introduced called a Plug-in system. This system works with dynamic libraries built with a special switch to go build. These libraries, .so or .dylib (later), are than loaded and once that succeeds, specific functions can be called from them (symbol resolution). ...

March 22, 2017 · 3 min · hannibal

Furnace - The building of an AWS CLI Tool for CloudFormation and CodeDeploy - Part 2

Intro Hi folks. Previously on this blog: Part 1, Part 3, Part 4 In this part, I’m going to talk about the AWS Go SDK and begin do dissect the intricacies of Furnace. AWS SDK Fortunately, the Go SDK for AWS is quiet verbose and littered with examples of all sorts. But that doesn’t make it less complex and less cryptic at times. I’m here to lift some of the early confusions, in hopes that I can help someone to avoid wasting time. ...

March 19, 2017 · 9 min · hannibal

Furnace - The building of an AWS CLI Tool for CloudFormation and CodeDeploy - Part 1

Other posts: Part 2, Part 3, Part 4. Building Furnace: Part 1 Intro Hi folks. This is the first part of a 4 part series which talks about the process of building a middlish sized project in Go, with AWS. Including Unit testing and a experimental plugin feature. The first part will talk about the AWS services used in brief and will contain a basic description for those who are not familiar with them. The second part will talk about the Go SDK and the project structure itself, how it can be used, improved, and how it can help in everyday life. The third part will talk about the experimental plugin system, and finally, we will tackle unit testing AWS in Go. ...

March 16, 2017 · 7 min · hannibal

Minecraft world automatic backup to AWS S3 bucket - Part 2 (Custom functions)

Hi folks. Got an update for the backup script. This time, you’ll have the ability to implement your own upload capabilities. I provide a mock implementation for the required functions. Here is the script again, now modified and a bit cleaned up. I hope it’s helpful. ...

April 17, 2016 · 3 min · hannibal

Minecraft world automatic backup to AWS S3 bucket

Hi Folks. Previously we created a Minecraft server using Docker. After my server got popular in the family, and a lot of stuff started to pile up on it, as a good IT person, I’m backing up the world once in a while. For that, I’m using AWS S3 with the CLI and a little bash script which runs once a week. The script is really straightforward. I’m doing manual versioning, although S3 does provide one out of the box. However, amazon’s S3 versioning doesn’t allow limiting the number of versions being kept. And since I’m doing that anyways, might as well take care of the rest. ...

April 16, 2016 · 2 min · hannibal