This is a DevOps based project for a PHP/MySQL w/ Composer application.
Diagram showcasing the workflow:
✦ Helm 3
✦ Docker
✦ Kubernetes
✦ ArgoCD
✦ Terraform
✦ Monitoring with Prometheus/Grafana
✦ Snyk for DevSecOps
✦ GitHub Actions for CI/CD with Snyk
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;"
Importing database dump to MySQL pod:
kubectl -n default exec -i [sql_db] -- mysql -u root -ppassword < /tmp/ehospital.sql
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:
Using the cluster's IP address and the given port from the webapp-sql service, we can access the web app: