Description This project is a simple Python application that displays "Hello, World!" It leverages GitHub as a source code repository, incorporates Docker for containerization, Trivy for image scanning, Docker Hub for image hosting, and ArgoCD for Kubernetes deployment. The application is deployed to a Kubernetes cluster running on Google Cloud Platform (GCP). Additionally, Prometheus and Grafana are used for monitoring and alerting, while ELK (Elasticsearch, Logstash, Kibana) stack is used for logging.
Features
- Displays "Hello, World!"
- Utilizes GitHub for source code management
- Containerized using Docker
- Image scanning with Trivy
- Hosting images on Docker Hub/ECR (elastic container registry)
- Automated deployment to Kubernetes cluster via ArgoCD
- Runs on Kubernetes in Google Cloud Platform
- Monitoring and alerting with Prometheus and Grafana
- Logging with ELK (Elasticsearch, Logstash, Kibana)
Installation To run this application, follow these steps:
-
Clone the repository from GitHub: https://github.com/divyeshbhalekar/project-3-k8s-gitops.git
-
Build the Docker image: docker build -t your-image-name .
-
Scan the Docker image using Trivy: trivy your-image-name
-
Push the Docker image to Docker Hub: docker push your-dockerhub-username/your-image-name
-
Configure ArgoCD to deploy the application to your Kubernetes cluster. Refer to ArgoCD documentation for instructions.
-
Set up Prometheus and Grafana for monitoring and alerting. Follow the documentation for installation and configuration.
-
Set up ELK (Elasticsearch, Logstash, Kibana) stack for logging. Follow the documentation for installation and configuration.
Usage Once deployed, the application can be accessed through the assigned Kubernetes service. Monitoring metrics can be viewed through Grafana dashboards, and logs can be viewed and analyzed using Kibana.
Contributions are welcome! Please feel free to submit a pull request.
This project is licensed under the MIT License.