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.
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.
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.
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.
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.
- Project Architecture: Explore our project's structure and functionalities.
- Grafana Dashboard: Visualize data and monitor key metrics.
- ArgoCD: Manage and deploy applications efficiently.