Category Archives: Configuration/Orchestration

Terraform: dynamic remote state with AWS S3 and multiple environments by directory

3 September 2023
 

  Following the series of posts about preparing to use Terraform on a project. So, in the first part, we thought about how to organize the preparation of the backend for the project, that is, to perform its bootstrap, and a bit – how to manage the Dev/Prod environments in general, see Terraform: Getting started… Read More »

Terraform: remote state with AWS S3, and state locking with DynamoDB

3 September 2023
 

  We are preparing to transfer infrastructure management from AWS CDK to Terraform. I’ve already wrote about planning it in the Terraform: planning a new project with Dev/Prod environments post, but there I didn’t wrote about one very important option – creating a lock for state files. State file locking is used to avoid situations… Read More »

AWS: CDK and Python – building an EKS cluster, and general impressions of CDK

22 July 2023
 

  So, Terraform is great, but so far in our project, we have decided to create the first AWS EKS clusters using the AWS CDK, because firstly, it is already on the project, and secondly, it is very interesting to try a new tool. Today we will see what came out of it, and how… Read More »

Terraform: planning a new project with Dev/Prod environments

20 May 2023
 

  I need to plan the use of Terraform in a new project, and this includes planning the file structure for the project, how to create a backend (i.e. bootstrap) and other resources needed to get started, and think about working with multiple environments and AWS accounts. In general, this post was originally written purely… Read More »

AWS: CDK – an overview, and Python examples

14 May 2023
 

  The AWS Cloud Development Kit (AWS CDK) allows you to describe an infrastructure using the programming languages ​​TypeScript, JavaScript, Python, Java, C#, or Go. Under the hood, CDK creates a CloudFormation stack with the resources described in your code. The answer to the question “Our CDK, when is Terraform?” can be found here – 4 ultimate… Read More »

Prometheus: running Pushgateway on Kubernetes with Helm and Terraform

28 April 2023
 

  We have a lot of AWS Lambda functions in the project, and developers want to be able to send metrics to our Prometheus to add their own alerts and graphs in Grafana. For this, the functions use the Prometheus library, which allows these metrics to be created (see Prometheus: Building a Custom Prometheus Exporter… Read More »

ArgoCD: declarative Projects, Applications, and ArgoCD deploy from Jenkins

19 May 2021
 

 An application, cluster, or repository can be created In ArgoCD from its WebUI, CLI, or by writing a Kubernetes manifest that then can be passed to kubectl to create resources. For example, Applications are Kubernetes CustomResources and described in Kubernetes CRD applications.argoproj.io: [simterm] $ kubectl get crd applications.argoproj.io NAME CREATED AT applications.argoproj.io 2020-11-27T15:55:29Z [/simterm] And… Read More »

AWS: CloudFormation – using Conditions, Fn::Equals, and Fn::If – an example

17 May 2020
 

 I have a CloudFormation stack with VPC Peerings, in that case, it’s a peering between VPC of a new Elastic Kubernetes Service cluster and VPC of the Prometheus monitoring stack. The EKS cluster’s stack and its whole automation creation were described in the AWS Elastic Kubernetes Service: a cluster creation automation, part 1 – CloudFormation… Read More »

AWS: CloudFormation – using lists in Parameters

8 May 2020
 

 In addition to the AWS Elastic Kubernetes Service: a cluster creation automation, part 1 – CloudFormation and AWS Elastic Kubernetes Service: a cluster creation automation, part 2 – Ansible, eksctl posts – now I’d like to pass a Parameter as a List with multiply values to a CloudForamtion stack. The idea is to get all… Read More »