<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Terraform - Tag - IT Guy Journals</title>
        <link>https://www.itguyjournals.com/tags/terraform/</link>
        <description>Terraform - Tag - IT Guy Journals</description>
        <generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>luka.krapic@gmail.com (Luka Krapić)</managingEditor>
            <webMaster>luka.krapic@gmail.com (Luka Krapić)</webMaster><lastBuildDate>Sat, 02 Aug 2025 12:05:21 &#43;0100</lastBuildDate><atom:link href="https://www.itguyjournals.com/tags/terraform/" rel="self" type="application/rss+xml" /><item>
    <title>Deploying a Highly Available Kubernetes Cluster on Proxmox with Terraform and Talos OS</title>
    <link>https://www.itguyjournals.com/deploying-ha-kubernetes-cluster-with-proxmox-terraform-and-talos-os/</link>
    <pubDate>Sat, 02 Aug 2025 12:05:21 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/deploying-ha-kubernetes-cluster-with-proxmox-terraform-and-talos-os/</guid>
    <description><![CDATA[<p>A highly available Kubernetes cluster in a homelab setup creates opportunities to test distributed systems, automation, and failure recovery under real-world conditions. This guide walks through one approach to building such a cluster using <strong>Proxmox</strong> for virtualization, <strong>Terraform</strong> for provisioning, and <strong>Talos OS</strong> for running the Kubernetes nodes.</p>
<p>This setup provides declarative infrastructure and immutable operating systems, eliminating the need for traditional Linux administration—no SSH, no shell, and no drifting configuration. The result is a consistent, secure, and maintainable cluster architecture suitable for long-term experimentation or light production use.</p>]]></description>
</item>
<item>
    <title>Building a Portable FastAPI Backend for AWS Lambda and ECS Using Terraform</title>
    <link>https://www.itguyjournals.com/building-fastapi-backend-for-aws-lambda-and-ecs-using-terraform/</link>
    <pubDate>Fri, 02 May 2025 20:59:24 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/building-fastapi-backend-for-aws-lambda-and-ecs-using-terraform/</guid>
    <description><![CDATA[<p>In the <a href="../building-backend-apis-with-fastapi-on-aws-lambda" rel="">previous post</a>, we explored how to deploy a FastAPI application on AWS Lambda using an ASGI adapter. This is a great option for early-stage projects: it requires zero infrastructure management, supports rapid iteration, and scales automatically.</p>
<p>But as your application matures, Lambda’s trade-offs can become limiting:</p>
<ul>
<li><strong>Cost scaling</strong> with consistent traffic</li>
<li><strong>Compute/memory coupling</strong> and lack of vertical scaling</li>
<li><strong>Package size limits</strong> and cold starts</li>
</ul>
<p>That’s why many teams adopt a container-based workflow that can run on both <strong>Lambda (via container images)</strong> and <strong>ECS Fargate</strong>. With a little planning, you can build once and deploy to either platform with minimal friction.</p>]]></description>
</item>
<item>
    <title>Building Websites at Scale With Aws CloudFront and Hugo</title>
    <link>https://www.itguyjournals.com/building-websites-at-scale-with-aws-cloudfront-and-hugo/</link>
    <pubDate>Tue, 14 Jan 2025 10:34:47 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/building-websites-at-scale-with-aws-cloudfront-and-hugo/</guid>
    <description><![CDATA[<p>Building websites has become easier than ever. Numerous platforms and third-party providers now offer tools to create and host websites within minutes, complete with custom domains, analytics, and sleek graphical interfaces.</p>
<p>For straightforward websites or smaller-scale projects, these platforms can be a convenient choice. However, they often fall short when it comes to flexibility, automation, and cost-effectiveness at scale. Many lack robust CLI (Command Line Interface) support for streamlining tasks, can become expensive as your needs grow, or demand significant management effort and a steep learning curve.</p>]]></description>
</item>
<item>
    <title>Organizing Terraform Projects With Terragrunt</title>
    <link>https://www.itguyjournals.com/organizing-terraform-projects-with-terragrunt/</link>
    <pubDate>Wed, 25 Sep 2024 16:56:47 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/organizing-terraform-projects-with-terragrunt/</guid>
    <description><![CDATA[<p>Infrastructure-as-Code (IaC) tools, like Terraform, have become essential for managing infrastructure in a scalable, repeatable, and automated way. Terraform helps engineers define, provision, and manage cloud resources across multiple providers. However, as infrastructure complexity grows, managing Terraform configurations becomes challenging. This is where Terragrunt—a thin wrapper for Terraform—comes into play. It enhances Terraform&rsquo;s capabilities, making it easier to manage large-scale infrastructures efficiently.</p>
<p>In this blog, we will explore how to organize Terraform projects using Terragrunt, and how it solves common challenges with Terraform&rsquo;s limitations such as managing backend configurations, large state files, and dependencies between multiple stacks.</p>]]></description>
</item>
<item>
    <title>Organizing Terraform Modules</title>
    <link>https://www.itguyjournals.com/organizing-terraform-modules/</link>
    <pubDate>Wed, 04 Sep 2024 16:56:47 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/organizing-terraform-modules/</guid>
    <description><![CDATA[<p>As Terraform projects grow in complexity, organizing your modules effectively becomes critical to maintaining clean, reusable, and scalable infrastructure code. How you choose to organize these modules can significantly impact collaboration, code reuse, and overall project maintainability. In this blog post, we will explore three primary approaches to organizing Terraform modules: using local modules, storing all modules in one remote repository, and distributing modules across multiple remote repositories. We’ll discuss the benefits and limitations of each approach, with practical examples to help you decide which strategy best suits your needs.</p>]]></description>
</item>
<item>
    <title>Tiered Access To CloudFront Content With Self-Signed Cookies</title>
    <link>https://www.itguyjournals.com/tiered-access-to-cloudfront-content-with-self-signed-cookies/</link>
    <pubDate>Fri, 19 Jul 2024 16:56:47 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/tiered-access-to-cloudfront-content-with-self-signed-cookies/</guid>
    <description><![CDATA[<p>This blog post is a follow-up to our previous post, where we implemented tiered access to S3 data using presigned URLs.</p>
<p>In most production applications, CloudFront is used to serve static content to users.
In this post, we will explore how to implement restricted access when serving content through CloudFront.</p>
<p>You can find the complete example <a href="https://github.com/LukaK/blog-resources/tree/main/cloudfront-signed-cookies?ref=itguyjournals.com" target="_blank" rel="noopener noreffer ">here</a>.</p>
<h2 id="what-is-cloudfront">What is CloudFront?</h2>
<p>In simple terms, CloudFront is a content delivery network (CDN) managed by AWS. A CDN is a network of servers deployed close to end users, serving as a caching layer to improve content delivery speed and reliability.</p>]]></description>
</item>
<item>
    <title>Multi-Account Cloud Deployment With Terraform And Github Actions</title>
    <link>https://www.itguyjournals.com/multi-account-cloud-deployment-with-terraform-and-github-actions/</link>
    <pubDate>Wed, 26 Jun 2024 16:56:47 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/multi-account-cloud-deployment-with-terraform-and-github-actions/</guid>
    <description><![CDATA[<p>In this blog post, we will look at how to implement a multi-account deployment pipeline on AWS using GitHub Actions and Terraform.</p>
<p>We will assume that you have access to at least two AWS accounts: one to hold pipeline resources and one target account where resources will be deployed.</p>
<h2 id="architecture">Architecture</h2>
<div id="id-1"><figure><figcaption>
      <h4>Fig 1. Architecture</h4>
    </figcaption>
</figure>
</div>
<p>We will use two accounts: a pipeline account and a target account. The target account is your dev/staging/prod account. Usually, there is more than one target account in a given pipeline, but we will use one for simplicity. The same approach can be extended to an arbitrary number of target accounts.</p>]]></description>
</item>
</channel>
</rss>
