Skip to content

bhavikam28/techblog-aws

 
 

Repository files navigation

TechNest by Bhavika — DevOps-Powered Blog on AWS

Welcome to the repository powering TechNest by Bhavika — a fully automated, secure, and scalable tech blog built using Hugo, GitHub Actions, Terraform, and AWS.

🎯 Goal: Deploy a production-grade, low-maintenance personal blog with CI/CD, Infrastructure as Code, and security best practices.


Architecture Overview

image
  • GitHub Actions Workflow triggers on code push.
  • Three jobs: infra_job, build_job, deploy_job.
  • Uses OIDC for secure IAM role assumptions (GitHub & Terraform Cloud).
  • AWS Infra: S3 (static site), CloudFront (CDN), ACM (SSL).
  • Origin Access Control (OAC) restricts S3 access to CloudFront only.

Features

  • Static site generation with Hugo
  • Full CI/CD using GitHub Actions
  • Infrastructure-as-Code using Terraform + HCP backend
  • AWS S3 + CloudFront + ACM with OIDC-secured IAM role assumptions
  • SSL-enabled custom domain: technestbybhavika.com
  • Secure IAM roles — no long-lived credentials
  • Modular, reusable Terraform code

Tech Stack

Category Tools & Services
Static Site Hugo
CI/CD GitHub Actions
Infrastructure Terraform + Terraform Cloud
Cloud Services AWS (S3, CloudFront, ACM, IAM, OIDC)
Auth OpenID Connect (OIDC) with GitHub + Terraform
Domain & SSL Route 53 + AWS ACM

Getting Started

✅ Prerequisites

Local Development

git clone https://github.com/bhavikam28/tech-blog.git
cd tech-blog
hugo server -D

Visit: http://localhost:1313

Configuration

Open the hugo.toml file and update the following:

  • baseURL = "https://technestbybhavika.com"
  • Author name
  • Social links (LinkedIn, GitHub, Medium, etc.)
  • Profile image URL

Build & Deploy

Deployment is fully automated using GitHub Actions.

GitHub Workflow Overview

  • infra_job – Provisions infrastructure (S3, CloudFront, IAM roles, ACM)
  • build_job – Builds the static blog using Hugo
  • deploy_job – Uploads files to S3 and invalidates CloudFront cache

🔐 OIDC is used for secure role assumption without hardcoded secrets.

📖 Read the full write-up on Medium


Published Blog Posts

Published directly via this platform:


About

This project is part of my portfolio from the Cloud Talents AWS DevOps Bootcamp, designed to showcase real-world IaC, CI/CD, and AWS security integrations using Terraform and GitHub Actions.


License

MIT © Bhavika Mantri — Free to use, fork, and build on.

About

Tech blog for the AWS DevOps Engineer Bootcamp

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 71.7%
  • HTML 17.7%
  • SCSS 9.5%
  • HCL 1.1%