devDosvid — my technical blog

This blog shares my experience and findings related to technologies I use in my day-to-day work, and all-around-devops practices. Thank you for reading me! 💙💛

New Lifecycle Options and Refactoring Capabilities in Terraform 1.1 and 1.2

In this blog, I would like to tell you about new cool features that Terraform 1.1 and 1.2 bring. It feels like Terraform has doubled its speed of delivering the new features after they released the 1.0. 🤩 It’s been only a few months since Terraform 1.1 was released with the moved block that empowers the code refactoring. Now Terraform 1.2 is almost ready (as I am writing this blog in early May 2022) to bring three new efficient controls to the resource lifecycle....

May 4, 2022 · 7 min · 1420 words · Serhii Vasylenko

Monterey Shortcuts for Easy and Fast Image Processing

Here I want to share two Apple Shortcuts that I created for myself and use to process images for this blog: Image Optimization and Image Resize About a year ago, I posted the blog about the Automator quick action to optimize PNG and JPEG images with TinyPNG service and save the processed images next to the original ones. While that Automator-based solution still works, macOS Monterey now supports Shortcuts — a new automating tool that seems to substitute the old fellow Automator....

January 31, 2022 · 3 min · 542 words · Serhii Vasylenko

Some Techniques to Enhance Your Terraform Proficiency

Terraform built-in functionality is very feature-rich: functions, expressions, and meta-arguments provide many ways to shape the code and fit it to a particular use case. I want to share a few valuable practices to boost your Terraform expertise in this blog. Some code examples in this article will work with Terraform version 0.15 and onwards. But if you’re still using 0.14 or lower, here’s another motivation for you to upgrade. Conditional resource creation or how to implement the if-else statement in Terraform Let’s start from the most popular one (although, still may be new for somebody): whether to create a resource depending on some fact, e....

January 16, 2022 · 8 min · 1696 words · Serhii Vasylenko

Guide to Using Terraform in CI/CD

Terraform by itself automates a lot of things: it creates, changes, and versions your cloud resources. Although many teams run Terraform locally (sometimes with wrapper scripts), running Terraform in CI/CD can boost the organization’s performance and ensure consistent deployments. In this article, I would like to review different approaches to integrating Terraform into generic deployment pipelines. Where to store the Terraform code Storing Terraform code in the same repository as the application code or maintaining a separate repository for the infrastructure?...

November 24, 2021 · 11 min · 2264 words · Serhii Vasylenko

Apply Cloudfront Security Headers With Terraform

In November 2021, AWS announced Response Headers Policies — native support of response headers in CloudFront. You can read the full announcement here: Amazon CloudFront introduces Response Headers Policies I said “native” because previously you could set response headers either using CloudFront Functions or [email protected] And one of the common use cases for that was to set security headers. Now you don’t need to add intermediate requests processing to modify the headers: CloudFront does that for you with no additional fee....

November 5, 2021 · 3 min · 449 words · Serhii Vasylenko