Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/atkaridarshan04/mern-devops
This project automates the development and deployment of a MERN application using Docker, Kubernetes, Jenkins, Helm-Charts and ArgoCD
https://github.com/atkaridarshan04/mern-devops
argocd cicd devsecops docker gitops helm-charts jenkins kubernetes mern-stack
Last synced: about 1 month ago
JSON representation
This project automates the development and deployment of a MERN application using Docker, Kubernetes, Jenkins, Helm-Charts and ArgoCD
- Host: GitHub
- URL: https://github.com/atkaridarshan04/mern-devops
- Owner: atkaridarshan04
- License: apache-2.0
- Created: 2024-09-30T18:57:43.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-12-15T10:15:11.000Z (about 1 month ago)
- Last Synced: 2024-12-15T11:21:43.583Z (about 1 month ago)
- Topics: argocd, cicd, devsecops, docker, gitops, helm-charts, jenkins, kubernetes, mern-stack
- Language: JavaScript
- Homepage:
- Size: 3.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# **MERN DevOps Project**
This project is designed to facilitate the deployment of a MERN (MongoDB, Express, React, Node.js) application. By using technologies such as **Docker** for containerization, **Kubernetes** for orchestration, **Jenkins** for continuous integration and delivery (CI/CD), and **ArgoCD** for GitOps-based continuous deployment.
---
## **Overview**
The MERN DevOps project includes:
- **Dockerization**: Building and running containers for the frontend, backend, and MongoDB using Docker and docker compose.
- **Kubernetes Deployment**: Deploying the application on a kind Kubernetes cluster and configuring an ingress controller.
- **CI/CD Pipeline**: Automating multiple SDLC stages using Jenkins.
- **Helm Deployment**: Managing Kubernetes deployments using Helm charts for MongoDB, backend, and frontend services.
- **ArgoCD GitOps**: Continuously deploying and synchronizing the application with the GitHub repository.
- **Observability**: Implementing monitoring mechanisms using tools like Prometheus and Grafana to monitor the health and performance of the application.
---## **Project Deployment Flow**
![workflow-gif](./docs/assets/workflow.gif)
---
## **Documentation**
To understand the various components of this project, refer to the following documentation:
- **[Docker.md](./docs/Docker.md)**:
Detailed instructions on how to build and run the MERN stack application using Docker, including creating a Docker network, building images, and managing containers.- **[Kubernetes.md](./docs/Kubernetes.md)**:
Detailed instructions on deploying the MERN stack application using Kubernetes, including how to set up persistent storage, deploy services, and access the application.- **[Jenkins.md](./docs/Jenkins.md)**:
A comprehensive guide on the Jenkins CI/CD pipeline, outlining the various stages, parameters, prerequisites, and tools used to automate the integration and deployment processes.- **[Helm.md](./docs/Helm.md)**:
Instructions on how to deploy the MERN stack application using Helm, including installation, chart customization, and deployment of MongoDB, backend, and frontend services.- **[ArgoCD.md](./docs/ArgoCD.md)**:
A step-by-step guide on installing, configuring, and using ArgoCD to deploy the application by Connecting ArgoCD to the GitHub repository.- **[Observability.md](./docs/Observability.md)**:
Instructions on setting up Prometheus for monitoring application metrics. Visualizing data with Grafana dashboards.---