<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jeff Mbita</title>
    <description>The latest articles on DEV Community by Jeff Mbita (@mbitajeff).</description>
    <link>https://dev.to/mbitajeff</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2532378%2F51ddd1b0-bbcb-4768-9449-7676a306771f.jpeg</url>
      <title>DEV Community: Jeff Mbita</title>
      <link>https://dev.to/mbitajeff</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mbitajeff"/>
    <language>en</language>
    <item>
      <title>Day 2: Setting Up Terraform for AWS</title>
      <dc:creator>Jeff Mbita</dc:creator>
      <pubDate>Wed, 08 Jan 2025 06:25:04 +0000</pubDate>
      <link>https://dev.to/mbitajeff/day-2-setting-up-terraform-for-aws-h0m</link>
      <guid>https://dev.to/mbitajeff/day-2-setting-up-terraform-for-aws-h0m</guid>
      <description>&lt;p&gt;Hey there, Dev community! 👋&lt;/p&gt;

&lt;p&gt;Welcome to Day 2 of my Terraform 30-Day Challenge journey! Today was all about getting hands-on with Terraform, setting up the essentials, and laying the groundwork for future infrastructure-as-code (IaC) projects. If you’re starting out with Terraform or looking to streamline your setup, this post will guide you through the process while sharing my key takeaways.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Set Up Terraform?&lt;/strong&gt;&lt;br&gt;
Terraform is a powerful tool for automating and managing infrastructure. Before diving into writing Terraform scripts, it's essential to set up the necessary tools, connect to your cloud environment, and ensure your development environment is optimized. Here's how my Day 2 unfolded.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔧 Tools and Setup&lt;/strong&gt;&lt;br&gt;
**1. Setting Up AWS&lt;br&gt;
**I started by configuring my AWS account, which will serve as the cloud provider for my Terraform experiments.&lt;/p&gt;

&lt;p&gt;Created an IAM user with programmatic access to securely interact with AWS services.&lt;br&gt;
Configured the AWS CLI with the aws configure command:&lt;br&gt;
Provided the access key and secret key from the IAM user.&lt;br&gt;
Set my default region (e.g., us-east-1).&lt;br&gt;
&lt;strong&gt;2. Installing Terraform&lt;/strong&gt;&lt;br&gt;
Next, I installed Terraform locally.&lt;/p&gt;

&lt;p&gt;Downloaded it from the Terraform Downloads page.&lt;br&gt;
Verified the installation using:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;terraform --version

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Installing AWS CLI&lt;/strong&gt;&lt;br&gt;
The AWS CLI is a must-have for interacting with AWS directly from the terminal.&lt;/p&gt;

&lt;p&gt;Downloaded it from AWS CLI Downloads.&lt;br&gt;
Tested it by listing available S3 buckets:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws s3 ls

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;4. Configuring Visual Studio Code&lt;/strong&gt;&lt;br&gt;
Since I prefer using VS Code as my IDE, I made sure it was ready for Terraform development.&lt;/p&gt;

&lt;p&gt;Installed the AWS Toolkit plugin to manage AWS resources directly within VS Code.&lt;br&gt;
Installed the Terraform extension for syntax highlighting and linting.&lt;br&gt;
&lt;strong&gt;5. Bonus: Visualizing Infrastructure with draw.io&lt;/strong&gt;&lt;br&gt;
To reinforce my understanding, I created diagrams of the infrastructure I’ll be working on using draw.io. Visualizing infrastructure helps clarify concepts and serves as a handy reference when building more complex setups.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🚀 Lessons Learned&lt;/strong&gt;&lt;br&gt;
Details Matter&lt;br&gt;
When setting up AWS CLI and Terraform, even small missteps (like entering the wrong region) can cause headaches. Triple-check your configurations!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tool Integration Rocks&lt;/strong&gt;&lt;br&gt;
Configuring VS Code with the right extensions made managing resources and writing scripts so much smoother. The AWS Toolkit is a game-changer for those working with AWS regularly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Diagrams Are Your Friend&lt;/strong&gt;&lt;br&gt;
Seeing your infrastructure visually is incredibly helpful for beginners like me. It’s not just a bonus activity—it’s a learning tool.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🌟 Challenges and How I Solved Them&lt;/strong&gt;&lt;br&gt;
IAM Confusion: At first, I wasn’t sure which permissions to give my IAM user. Solution? I assigned the AdministratorAccess policy temporarily, but I plan to use a more restrictive policy for production.&lt;br&gt;
Terraform Path Issue: After installing Terraform, my terminal didn’t recognize the command. Solution? I added Terraform’s directory to my system’s PATH variable.&lt;br&gt;
&lt;strong&gt;What’s Next?&lt;/strong&gt;&lt;br&gt;
Tomorrow, I’ll be diving into writing my first Terraform script! The goal is to spin up a basic resource on AWS, which is both exciting and slightly nerve-wracking. Stay tuned as I share my progress, lessons learned, and, of course, more diagrams.&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>aws</category>
    </item>
    <item>
      <title>Kickstarting the 30 Days Terraform Challenge with AWS</title>
      <dc:creator>Jeff Mbita</dc:creator>
      <pubDate>Mon, 06 Jan 2025 13:32:00 +0000</pubDate>
      <link>https://dev.to/mbitajeff/day-01-kickstarting-the-30-days-terraform-challenge-with-aws-40ch</link>
      <guid>https://dev.to/mbitajeff/day-01-kickstarting-the-30-days-terraform-challenge-with-aws-40ch</guid>
      <description>&lt;p&gt;Welcome to Day 01 of my journey through the 30 Days Terraform Challenge with AWS! This challenge marks my first deep dive into Terraform, and I’m eager to explore its potential for automating infrastructure deployment. Instead of going into exhaustive details, consider this blog post a quick update on my progress and a glimpse into the exciting world of Infrastructure as Code (IaC) and Terraform.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let’s break it down and see what Day 01 had in store!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Terraform and Why IaC Matters?&lt;/strong&gt;&lt;br&gt;
Terraform is a powerful open-source tool designed to automate infrastructure provisioning using simple, declarative configuration files. It supports multiple cloud providers, allowing you to manage resources like virtual machines, databases, and networking components efficiently.&lt;/p&gt;

&lt;p&gt;The concept of Infrastructure as Code (IaC) lies at the heart of Terraform. IaC replaces manual infrastructure management with automated scripts, enabling consistency, reproducibility, and efficiency across environments. With IaC, scaling operations and maintaining configurations become seamless.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Highlights from Day 01&lt;/strong&gt;&lt;br&gt;
Learning Terraform Fundamentals&lt;br&gt;
I kicked off the challenge by diving into Chapter 1 of Terraform: Up &amp;amp; Running by Yevgeniy Brikman. This book provided a solid foundation in Terraform, detailing how it works and why it’s become a go-to tool for cloud and DevOps professionals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key takeaways:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Terraform uses configuration files to define and manage infrastructure.&lt;br&gt;
It supports integration across various cloud providers like AWS, Azure, and Google Cloud, making it versatile and adaptable.&lt;br&gt;
I also explored a discounted Terraform course on Udemy by Bryan Krausen and Gabe Maentz, which added practical insights into IaC principles and Terraform workflows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Taking Action&lt;/strong&gt;&lt;br&gt;
Hands-on Practice: Applied what I learned by setting up basic configurations, which is the foundation for what’s to come in the next 29 days.&lt;br&gt;
Sharing the Journey: This blog is part of my challenge documentation. I’m also sharing updates on social media—let’s connect on Twitter or LinkedIn to exchange ideas and insights!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next Steps&lt;/strong&gt;&lt;br&gt;
This challenge has already given me a better understanding of how IaC transforms cloud infrastructure management. I’m excited for Day 02, where I’ll focus on setting up Terraform and laying the groundwork for deploying resources.&lt;/p&gt;

&lt;p&gt;If you’re interested in joining the journey or want to see my contributions, check out my pull request on the 30 Days Terraform Challenge repository.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git@github.com:Mbitajeff/30-Day-Terraform-challenge-.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let’s keep learning, building, and growing together—one configuration at a time. 🚀&lt;/p&gt;

&lt;h1&gt;
  
  
  Terraform #AWS #Cloud #DevOps
&lt;/h1&gt;

</description>
      <category>terraform</category>
      <category>aws</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
