<?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: Timilehin Olabisi</title>
    <description>The latest articles on DEV Community by Timilehin Olabisi (@timisdev).</description>
    <link>https://dev.to/timisdev</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%2F2362596%2F64d988d3-59db-4261-b546-f7d9452a7331.jpg</url>
      <title>DEV Community: Timilehin Olabisi</title>
      <link>https://dev.to/timisdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/timisdev"/>
    <language>en</language>
    <item>
      <title>Automated MariaDB Deployment with Ansible!</title>
      <dc:creator>Timilehin Olabisi</dc:creator>
      <pubDate>Tue, 29 Apr 2025 17:30:15 +0000</pubDate>
      <link>https://dev.to/timisdev/automated-mariadb-deployment-with-ansible-h0a</link>
      <guid>https://dev.to/timisdev/automated-mariadb-deployment-with-ansible-h0a</guid>
      <description>&lt;p&gt;I’ve developed a comprehensive Ansible playbook that automates the entire process of deploying and configuring MariaDB across multiple servers. This solution is fully automated, from installing the MariaDB server to configuring databases, creating users, and setting the necessary permissions, all tailored for efficiency and scalability.&lt;/p&gt;

&lt;p&gt;◾ Installation and configuration of MariaDB&lt;br&gt;
◾ Database and user creation&lt;br&gt;
◾ Service management (start, enable)&lt;br&gt;
◾ Permissions setup for users&lt;/p&gt;

&lt;p&gt;Upcoming:&lt;br&gt;
Next, I’ll be integrating Terraform to automate infrastructure provisioning alongside Ansible. Stay tuned for that update!&lt;/p&gt;

&lt;p&gt;Check out the project on GitHub: &lt;a href="https://lnkd.in/dy9isExj" rel="noopener noreferrer"&gt;https://lnkd.in/dy9isExj&lt;/a&gt;&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>ansible</category>
      <category>automation</category>
      <category>aws</category>
    </item>
    <item>
      <title>Building AWS Infrastructure with Terraform From Scratch!</title>
      <dc:creator>Timilehin Olabisi</dc:creator>
      <pubDate>Mon, 21 Apr 2025 22:50:40 +0000</pubDate>
      <link>https://dev.to/timisdev/building-aws-infrastructure-with-terraform-from-scratch-1p55</link>
      <guid>https://dev.to/timisdev/building-aws-infrastructure-with-terraform-from-scratch-1p55</guid>
      <description>&lt;p&gt;This week, I put theory into practice by provisioning a complete AWS infrastructure using Terraform, and I’m excited to share the experience!&lt;/p&gt;

&lt;p&gt;Here’s what I built:&lt;br&gt;
 ✅ A custom VPC with a defined CIDR block&lt;br&gt;
 ✅ Public &amp;amp; Private Subnets to simulate real-world architectures&lt;br&gt;
 ✅ An Internet Gateway attached to the VPC&lt;br&gt;
 ✅ A Route Table with proper route configuration to enable internet access&lt;br&gt;
 ✅ Security Groups with specific inbound/outbound rules (SSH &amp;amp; HTTP)&lt;br&gt;
 ✅ And finally, I launched an Ubuntu EC2 Instance, linked it to the public subnet and associated it with the security group&lt;/p&gt;

&lt;p&gt;📌 How I did it:&lt;br&gt;
◾ Broke down my Terraform files into manageable modules: vpc.tf, subnet.tf, igw.tf, route_table.tf, security_group.tf, and instance.tf and also created terraform files to launch the Ubuntu EC2 Instance Instance.tf, Secgrp.tf, Keypair.tf, InstID, Provider.tf&lt;br&gt;
◾ Applied the principle of separation of concerns for clean and readable infrastructure code&lt;br&gt;
◾ Used terraform apply to provision the entire infrastructure in minutes!&lt;/p&gt;

&lt;p&gt;💡 What you can take away from this:&lt;br&gt;
 ➡️ You don’t need to click around the AWS console to build infrastructure&lt;br&gt;
 ➡️ Infrastructure as Code is a must-have skill for anyone pursuing DevOps or Cloud Engineering&lt;br&gt;
 ➡️ Start small, break it down, and build as you learn!&lt;br&gt;
I’m looking forward to building even more advanced projects as I grow in this journey! 🌍🔧&lt;/p&gt;

&lt;p&gt;Find below for the Github Repository&lt;br&gt;
&lt;a href="https://lnkd.in/d3KbvCuA" rel="noopener noreferrer"&gt;https://lnkd.in/d3KbvCuA&lt;/a&gt;&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>aws</category>
      <category>vpc</category>
      <category>devops</category>
    </item>
    <item>
      <title>Unlocking Automation with Ansible Playbooks</title>
      <dc:creator>Timilehin Olabisi</dc:creator>
      <pubDate>Wed, 01 Jan 2025 13:14:57 +0000</pubDate>
      <link>https://dev.to/timisdev/unlocking-automation-with-ansible-playbooks-5g1f</link>
      <guid>https://dev.to/timisdev/unlocking-automation-with-ansible-playbooks-5g1f</guid>
      <description>&lt;p&gt;Ansible Playbooks are the heart of Ansible's configuration management and orchestration. They are YAML-based files that define a series of tasks to be executed on managed nodes (servers). Designed to be human-readable, Playbooks allow DevOps engineers to automate repetitive tasks, enforce system configurations, and streamline deployments with simplicity and elegance.&lt;/p&gt;

&lt;p&gt;Why Are Ansible Playbooks a Game-Changer?&lt;br&gt;
1️⃣ Simplified Automation: Write your desired state in YAML, and Ansible ensures your systems align with it.&lt;br&gt;
2️⃣ Agentless Architecture: No need for additional software on managed nodes—Ansible operates over SSH, keeping it lightweight and efficient.&lt;br&gt;
3️⃣ Repeatable Processes: Whether you’re deploying a web server, setting up a database, or provisioning resources, Playbooks make these processes consistent and reusable.&lt;br&gt;
4️⃣ Scalability: Playbooks work across a single node or thousands of nodes, adapting to your infrastructure's size effortlessly.&lt;br&gt;
5️⃣ Version Control: Store Playbooks in Git repositories to track changes, collaborate with teams, and maintain robust CI/CD pipelines.&lt;/p&gt;

&lt;p&gt;Real-World Use Cases 🌍&lt;br&gt;
✅ Provisioning Infrastructure: Automate server setups with precise configurations.&lt;br&gt;
 ✅ Application Deployment: Simplify complex deployments with structured tasks.&lt;br&gt;
 ✅ Configuration Management: Enforce desired states for security, software installations, and file management.&lt;br&gt;
 ✅ Rolling Updates: Minimize downtime during application updates by orchestrating controlled changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example Task: Installing Apache with an Ansible Playbook 📄
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;name: Webserver Setup&lt;br&gt;
hosts: webservers&lt;br&gt;
become: yes&lt;br&gt;
tasks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;name: Install Apache
ansible.builtin.yum:
name: httpd
state: present&lt;/li&gt;
&lt;li&gt;name: Start Apache
ansible.builtin.service:
name: httpd
state: started
enabled: yes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcz2zlio9ap5t43nv54n0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcz2zlio9ap5t43nv54n0.png" alt="Image description" width="708" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>webdev</category>
      <category>ansible</category>
    </item>
    <item>
      <title>Error : Loading Vagrant Up</title>
      <dc:creator>Timilehin Olabisi</dc:creator>
      <pubDate>Mon, 11 Nov 2024 11:30:12 +0000</pubDate>
      <link>https://dev.to/timisdev/error-loading-vagrant-up-2p30</link>
      <guid>https://dev.to/timisdev/error-loading-vagrant-up-2p30</guid>
      <description>&lt;p&gt;$ vagrant up&lt;br&gt;
Bringing machine 'db01' up with 'virtualbox' provider...&lt;br&gt;
Bringing machine 'mc01' up with 'virtualbox' provider...&lt;br&gt;
Bringing machine 'rmq01' up with 'virtualbox' provider...&lt;br&gt;
Bringing machine 'app01' up with 'virtualbox' provider...&lt;br&gt;
Bringing machine 'web01' up with 'virtualbox' provider...&lt;br&gt;
==&amp;gt; db01: Box 'eurolinux-vagrant/centos-stream-9' could not be found. Attempting to find and install...&lt;br&gt;
    db01: Box Provider: virtualbox&lt;br&gt;
    db01: Box Version: 9.0.43&lt;br&gt;
The box 'eurolinux-vagrant/centos-stream-9' could not be found or&lt;br&gt;
could not be accessed in the remote catalog. If this is a private&lt;br&gt;
box on HashiCorp's Vagrant Cloud, please verify you're logged in via&lt;br&gt;
&lt;code&gt;vagrant login&lt;/code&gt;. Also, please double-check the name. The expanded&lt;br&gt;
URL and error message are shown below:&lt;/p&gt;

&lt;p&gt;URL: ["&lt;a href="https://vagrantcloud.com/eurolinux-vagrant/centos-stream-9%22" rel="noopener noreferrer"&gt;https://vagrantcloud.com/eurolinux-vagrant/centos-stream-9"&lt;/a&gt;]&lt;br&gt;
Error: schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>devops</category>
      <category>centos</category>
      <category>vagrant</category>
    </item>
  </channel>
</rss>
