Page 1 of 11

Directory Structure for Terraform Projects Oct 1 2023

Terraform doesn't concern itself with the directory structure of our project. It cares about state. We, as the users of the project, are the ones who benefit from a clean and easy-to-understand directory structure.

In this post, we'll explore basic...

Read More...

Setting up access to a private repository in ArgoCD with SSM Parameter Store and External Secrets Operator Nov 26 2022

ArgoCD's documentation is quite good. I just feel there is one key question that is often left unanswered. How do I get my private SSH key into ArgoCD in a declarative way that doesn't require hard coding the key into a secret YAML file?

In this post...

Read More...

Using IAM Roles for Kubernetes service accounts in AWS EKS using Terraform Nov 19 2022

Part of the design principles of the security pillar in the AWS Well architected framework is "Implement a strong identity foundation", that is:

"Implement the principle of least privilege and enforce separation of duties with appropriate authorization...

Read More...

Setting up an EKS Kubernetes cluster for learning Nov 12 2022

The fastest way to learn something is through practice. Most of my work is on AWS, so running a local Kubernetes cluster is not the best option. I want to test Kubernetes integration with other AWS services. To run experiments, I create a cluster using...

Read More...

Setting up a Kubernetes Cluster in Amazon EKS using Terraform Nov 5 2022

If you check the AWS documentation, they use eksctl to create the EKS cluster. eksctl uses CloudFormation, and even if in the end, I could fetch the template, it feels like eksctl is an imperative way of creating an EKS Cluster. I prefer to keep track...

Read More...

A better way of setting up and managing user ssh keys in AWS EC2 instances Oct 29 2022

I've been using AWS EC2 instances for a while now, and I've always struggled to find a clean way to manage the users and ssh keys for the instances. I've tried a few different approaches and settled on one that I think is the best so far.

In this article...

Read More...

How to set up a new Terraform project using S3 backend and DynamoDB locking Oct 8 2022

Sometimes it feels easier to work on complex and challenging tasks with our tools. We forget how to do the simple initial steps for a project. The reason for this is that we lack practice starting projects. If you work for a company, you'll probably...

Read More...

My thoughts on understanding dependencies, and adding a copy button to code blocks on my site Sep 11 2021

I decided to add a new copy button to all of the code blocks on my site. I'll show you how to do the same, but I also want to share my thoughts on adding dependencies to any project.

Currently, it is as easy as importing a new library to add new functionality...

Read More...

Identify if output goes to the terminal or is being redirected, in Golang May 16 2021

Good command-line tools are a pleasure to work with. A feature I'm always grateful for is when the developer took the time to provide an output that is human readable and an output that is easy to pass to another tool for additional processing. A neat...

Read More...

How to manage multiple AWS accounts for the AWS CLI on the same computer Mar 6 2021

Lately, I've had to work with multiple AWS accounts, and some of them are ephemeral. I don't want to have them bloating my ~/.aws/credentials file. In this short post, I'll show you how to manage multiple AWS accounts using the tool direnv.

Before...

Read More...