Skip to content

Portfolio Project - an Application containerized with Docker, uploads to Docker Hub, and triggers a Manifest repo which start syncing the ArgoCD inside a Kubernetes cluster in EKS and a lot of other technologies

Notifications You must be signed in to change notification settings

sbendarsky/formapp-portfolio

Repository files navigation

FormApp - DevOps Protfolio

This DevOps portfolio serves as a comprehensive demonstration of our academic journey, showcasing a variety of methodologies and skills that we've learnt during our studies.

CI / CD

Technical Overview

Our project kicks off with the development of the web application with Python, using the Flask library. To enhance deployment effciency and shareabillity, we encapsulated the application within Docker containers.

Infrastructure as Code and GitOps Manifest

The heart of our project lies in the manifest-repo, housing both Infrastructure as Code and the complete GitOps manifest. This repository embodies the GitOps methodologies, facilitating streamlined management and version control.

CI/CD Pipeline

Powered by GitHub Actions, our Continuous Intergration (CI) pipeline presents itself as a sturdy and automated serverless framework. Triggered on each push to the main branch, the CI proccess starts with building the Docker image. -afterwards the jobs starts a comprehensive testing, utilizing pytest and pylint to ensure code quality and reliability standards. Upon successful completion of all tests, the updated Docker images seamlessly intergrates with Docker Hub. Simultaneously, the CI job orchestrates the synchronization of the manifest-repo with the latest configuration.

Production Deployment with ArgoCD on AWS EKS

In the production environment, we've deployed ArgoCD on an AWS EKS cluster, upon identification of modfications, ArgoCD initates a synchronization phase, orchestrating a smooth transiton to the updated configuration.

Repositories

Additional Resources

  1. Project Architecture: Explore our project's structure and functionalities.
  2. Grafana Dashboard: Visualize data and monitor key metrics.
  3. ArgoCD: Manage and deploy applications efficiently.

Project Architecture

Project Architecture

Grafana Dashboard

Grafana Dashboard

ArgoCD Dashboard

ArgoCD Dashboard

Documentation Sources

About

Portfolio Project - an Application containerized with Docker, uploads to Docker Hub, and triggers a Manifest repo which start syncing the ArgoCD inside a Kubernetes cluster in EKS and a lot of other technologies

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published