ArgoStream CI/CD AWS DevSecOps Client Project – Ongoing

Disclaimer Copyrights for below content belongs to MFH. Videos are uploaded to MFH YouTube channel and made them unlisted or not accessible to public. We use YouTube to have better controls on the video.


ArgoStream Project Summary:

The aim of this project is to *design and implement a fully automated AWS DevOps pipeline* for deploying cloud-native applications using *Kubernetes and GitOps practices. By integrating **AWS CLI, Terraform, Docker, GitHub Actions, and Argo CD*, this project enables:

– *Efficient Infrastructure Management* – Automating AWS resource provisioning using Infrastructure as Code (IaC) with Terraform.
– *Seamless Application Deployment* – Containerizing a .NET application and deploying it to AWS Elastic Kubernetes Service (EKS).
– *Continuous Integration & Continuous Deployment (CI/CD)* – Automating build, test, and deployment workflows using GitHub Actions.
– *GitOps-Based Continuous Delivery* – Ensuring smooth and version-controlled Kubernetes deployments with Argo CD.
– *Security & Access Control* – Managing AWS IAM roles and permissions for secure cloud operations.

By achieving these objectives, the project aims to *streamline DevOps workflows, reduce deployment complexity, and enhance scalability in cloud environments

image

Documentation


Recording Sessions

Day 01 , February 10th 2025

Agenda:


 GitHub Actions Assignments
 Argo CD Introduction
 Argo CD set up

https://youtu.be/CePir9m57ls

1. 1ArgoStream Prj Intro and GitHub Actions Intro

Day 02 , February 12th 2025

Agenda:

 Discussion on GitHub actions documentation and Argo CD usage.
 Utilizing Jenkins and Argo CD for efficient CI/CD processes.
 GitHub drives CI/CD for automated deployment and cluster updates.
 Automation of application updates and deployments using Argo CD.
 Version control and orchestration setup for Kubernetes using Git and Argo CD.
 Setting up a Kubernetes environment using Docker Desktop or Minikube.
 Deploying Kubernetes manifest files using Argo CD with specific namespace.
 Overview of using ArgoCD for Kubernetes service management.
 Port forwarding setup for Argo CD server service access.
 Retrieving initial password for Oro CD application via Kubernetes secrets.
 Creating and decoding a password file in a Kubernetes cluster.
 Discussing command execution and application login process.

Day 03 , February 13th 2025

Agenda:
 Argo CD Set up
 Argo CD Trouble shoot
 Argo CD Practicals

Day 04 , February 17th 2025

Discussion points :
Creating Dot net web app

Dot net installation
Required tools
Code walk through
Run web application
Trouble shooting

Day 05 , February 18th 2025

Discussion points :
Practical’s on creating Dot net web app

Dot net installation
Required tools
Code walk through
Run web application

Day 06 , February 19th 2025

Discussion points :
Creating Dot net web app

Dockerizing dot net application
Docker file walkthrough
Creation of image
Testing image in local system
Creating IAM user and access keys
Creation of ECR registry
Push Image into ECR

Day 07 , February 20th 2025

Discussion points :

Dockerizing dot net application
Docker file walkthrough
Creation of image
Testing image in local system
Creating IAM user and access keys
Creation of ECR registry
Push Image into ECR

Day 08 , February 21th 2025

Discussion points :

K8 Manifest files
Walk through YAML

Day 09 , February 24th 2025

Discussion points :

Practical : Testing: Deployment in Local K8s Cluster (Minikube)
Deploying YAML on Minikube
Uploading Deployment to EC2
Authenticate Minikube to Amazon ECR
Get ECR Login Token
Create a Secret
Deploy the Application
Port Forward the Service
Troubleshooting

Day 10 , February 25th 2025

Discussion points :

Set up EKS using terraform
 Terraform files walk through
 setting up of required tools
 installing Argo cd in eks
 deploying app using argo cd
 Troubleshooting

Day 11 , February 27th 2025

Discussion points :

Set up EKS using terraform
 Setting up of required tools
 Installing Argo cd in EKS
 Deploying app using Argo cd
 Troubleshooting

Day 12 , February 28th 2025

Discussion points :

Practical’s
Creation of EKS using console
Creation of VPC
Creation of Bastion Host/Jump server
Access EKS cluster

Day 13 , March 4th 2025

Discussion points :

 Creation of Dynamo DB using console
 Creation of Node Groups in EKS (Kubernetes Cluster setup)
 Protecting tf state file with backend locking
Access EKS cluster
 Doubts clarification

Day 14 , March 5th 2025

Discussion points :

 Creation of Github Actions yaml File
 Creation of CI
 Creation of Argo CD in EKS cluster
 Creation of LB for Argocd app
 Deploying Application with Auto Sync
 Verifying Application

Day 15 , March 6th 2025

Discussion points :

Entire project setup from scratch- Practical’s
 Terraform set up

Day 16 , March 7th 2025

Discussion points :

 Setting Up AWS Infrastructure with Terraform and Argo CD for DevSecOps Project