In this post, we’ll cover the Terraspace 2.1 release. Here’s a summary:
In this post, you’ll get an introduction to Terraspace Cloud.
What is Terraspace Cloud?
Terraspace Cloud is a nice addition to the Terraspace Framework. Terraspace Cloud adds extra features to Terraspace.
Terraspace Cloud provides these additional conveniences as an optional paid managed service. Terraspace Cloud Pricing
This post will detail the steps to get a serverless slack command running on AWS Lambda using the Jets Serverless Ruby framework. We’ll make something fun: a command that takes in a URL, scrapes all the images on the page, filters the images using AWS image recognition, and posts the filtered images to the current slack channel. For example:
Originally called Lambda Gems, Serverless Gems has been rebuilt from the ground up. It provides better support for multiple versions of Ruby, notable Ruby 2.7. Jets v3 uses Serverless Gems for a developer-friendly experience.
Today, we’ll talk about some deployment tools in the Kubernetes world. We’ll talk a little bit about why tools are used on top of kubectl. We’ll compare 3 different tools in the Kubernetes world focused on the deployment side of things: Kustomize, Helm, and Kubes. Then we’ll elaborate on the features that Kubes offers.
Terraspace makes it easy to use Terraform modules sourced from your own git repositories, other git repositories, or the Terraform Registry. The git repos can be private or public. This is an incredibly powerful feature of Terraspace because it opens up a world of modules for you. Use any module from anywhere.
In the last post, we provided an introduction to the for in
construct. This post provides more examples, shows local assignment, and covers how to set default attribute values. Remember, for
is useful for data structure manipulation. Sometimes you may not get the data in the structure that is easy for you to work with, so understanding how to manipulate the data structure in Terraform can be quite useful.
In this post, we’ll cover the Terraform for in
loop construct. Though it performs looping, its primary purpose is really for manipulating data structures. You can do a few things to data structures with it:
In this post, we’ll take on nested loops with Terraform. Terraform is declarative, so a nested loop can be tricky. This post hopes to help with that.
In the previous post, we established loop fundamentals. The loops were pretty basic, though. We were only able to assign a single attribute for each resource per iteration. In this post, we’ll learn how to assign multiple attributes per iteration.
In this post, we’ll cover Terraform looping constructs. Terraform is declarative, so it’s looping structure may seem weird to those used to procedural programming loops. There are a few ways to performing looping with Terraform. We’ll cover the looping constructs that specifically work at the resource level. They handle resource creation itself. There are two of them:
In this post, we’ll cover how to perform conditional logic with Terraform. It’ll be a little weird looking for those who are not used to the Terraform declarative syntax. There are only a few ways to do conditional logic with Terraform:
In this post, we’ll review the basic Terraform building blocks from the previous post, Terraform HCL Intro 1: Resources, Variables, Outputs, and compare them to a “function”. This is a contrived analogy, but folks find it helpful. You’ll also learn about Terraform locals.
This is the start of a series of posts to help introduce and learn the Terraform HCL language. It is written for those with an elementary understanding of programming already. This allows us to cover things effectively instead of being stuck in the weeds.
Terraform is great and helps you build infrastructure-as-code. The Hashicorp team provides good resources, learning guides, and tutorials to help you get started. The guides are simple, though, and still leave plenty of things for you to figure out on our own. Once you get past the introductory basics of Terraform, you’ll discover many more questions that you must answer before taking Terraform to production. Usually, people end up home-growing custom scripts or using a tool on top of Terraform to fill the gaps. In this article, we’ll discuss and compare the tools: Terraform, Terragrunt, and Terraspace.
Today, we’ll cover a cool Terraspace feature. It allows you to deploy all of your infrastructure in a single command.
terraspace all up
Terraspace calculates the dependencies and deploys your code in the right order.
Terraspace v0.3 released 🎉. There are some major improvements in this release. Here’s a quick summary of them.
Terraspace is a Terraform framework. It provides an organized structure, conventions over configurations, keeps your code DRY, and adds convenient tooling. It makes it easier and more fun to work with Terraform.
Kubes is a deployment tool that makes it easier and more fun to work with Kubernetes. Kubes automates 3 main steps.
kubectl apply
to create the resources on the cluster.It boils everything down to one single command:
kubes deploy
In this video, we’ll go over some CloudWatch Log tips. These tips will be useful for someone new to CloudWatch logs and show you how to use CloudWatch logs effectively. The biggest tip here is to click on the “Search” button immediately after clicking on a Log Group. Don’t bother clicking on individual streams and trying to find the exact AWS Lambda function.
Today, we’ll learn about lono helpers. Lono helpers allow you to extend and add to the Lono DSL as a first-class citizen. This particularly makes Lono powerful because you can write methods specific to your needs.
The Lono DSL is powerful because it allows you to use the Ruby programming language to generate CloudFormation templates. You can use conditional logic constructs that you’re used to: loops, variables, if statements, methods, etc. However, the Lono DSL tries not to impose itself and take over CloudFormation’s declarative nature. Instead, Lono’s approach is to add programming “sprinkles” on top of CloudFormation. Ultimately, you get the best of both worlds.
When working with CloudFormation, you usually configure parameters for the template. The lono seed command helps with this step by generating a starter param file. It evaluates the template itself to generate the starter example values. We’ll use the demo blueprint we created in Lono CloudFormation Framework Introduction Part 1: EC2 Instance.
Some of my favorite lono commands are lono code convert and lono code import. They literally write Ruby code for you. In both cases, the lono code
subcommands allow you to take JSON or YAML templates and convert them to the Lono DSL Ruby code.
subscribe to Blog via RSS