Skip to content

sensgithub/DevOps-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DXC Coding Marathon DevOps Project

This is a DevOps based project for a PHP/MySQL w/ Composer application.

Diagram showcasing the workflow:

alt text

Technologies

✦ Helm 3
✦ Docker
✦ Kubernetes
✦ ArgoCD
✦ Terraform
✦ Monitoring with Prometheus/Grafana
✦ Snyk for DevSecOps
✦ GitHub Actions for CI/CD with Snyk

MySQL

kubectl cp ehospital.sql [sql_db_pod]:/tmp/ --server=https://192.168.49.2:8443 --insecure-skip-tls-verify

kubectl exec [sql_db_pod] -- mysql -u root -ppassword -e "SOURCE /tmp/ehospital.sql;"

Kubernetes

Importing database dump to MySQL pod:

kubectl -n default exec -i [sql_db] -- mysql -u root -ppassword < /tmp/ehospital.sql

ArgoCD

ArgoCD is a declarative continuous delivery tool that automates deployment and updates to applications running in Kubernetes clusters. It provides a simple and easy-to-use interface for managing deployments, with features such as automated rollbacks and health monitoring.

Workflow:

alt text

argocd

argocd

Accessing the web app

Using the cluster's IP address and the given port from the webapp-sql service, we can access the web app:

alt text

alt text