Getting started with terraform modules

Introduction In this article we will see a subtle introduction to terraform modules, how to pass data into the module, get something from the module and create a resource (GKE cluster), it’s intended to be as simple as possible just to be aware of what a module is composed of, or how can you do your own modules, sometimes it makes sense to have modules to abstract implementations that you use over several projects, or things that are often repeated along the project.

Go gRPC Cheap Ping

Introduction In this article we will explore gRPC with a cheap ping application, basically we will do a ping and measure the time it takes for the message to go to the server and back before reporting it to the terminal. You can find the source code here. Protobuf As you might already know gRPC serializes data using protocol buffers, We are just going to create a Unary RPC as follows.

Go continuous delivery with Terraform and Kubernetes

Introduction In this article we will continue where we left off the last time Go continuous integration with Travis CI and Docker, the files used here can be found HERE, and we will be creating our terraform cluster with a load balancer and generating our kubeconfig file based on the certs provided by terraform on travis and then finally creating a basic deployment and validate that everything works. DigitalOcean We need to create a token so terraform can create resources using DO API.

Go continuous integration with Travis CI and Docker

Introduction In this article we will see how to create a simple continuous integration process using Github, Travis-CI and Docker HUB, the files used here can be found HERE, in the next article we will continue with what we have here to provide continuous deployment possibly using Jenkins or maybe Travis, let me know which one you would prefer to see. First thing first App We will review the docker file, the app code and the travis-ci file, so let’s start with the app main.

Actually using Vault on Kubernetes

Introduction In the previous article we configured Vault with Consul on our cluster, now it’s time to go ahead and use it to provision secrets to our pods/applications. If you don’t remember about it or don’t have your Vault already configured you can go to Getting started with HashiCorp Vault on Kubernetes. In this article we will actually create an example using mutual TLS and provision some secrets to our app, You can find the files used here in this repo.

Getting started with HashiCorp Vault on Kubernetes

Introduction Vault secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets in modern computing. What this means is that you can safely store all your App secrets in Vault without having to worry anymore how to store, provide, and use those secrets, we will see how to install it on a running kubernetes cluster and save and read a secret by our application, in this page we will be using Vault version 1.

Creating a lambda function with terraform

Introduction Here we will see how to use terraform to manage lambda functions, it will be a simple hello world in node.js, available as a gist here, note that I did not create this example but it’s really close to the official documentation but shorter, you can see another example with python here. Before you start make sure you already have your account configured for awscli and terraform installed. Configuration files First of all we need to get our terraform file or files (in a normal case scenario, but since this is a hello world it is easier to have everything in the same file), I have added some comments of what each part does as you can see.