End-to-End DevOps Automation for Meet Application
Meet Meet is a web-based video conferencing service that allows users to hold real-time face-to-face meetings for free. It is ideal for various use cases such as company meetings, job training sessions, or board member discussions. Features Join Meet: Easily join an existing meeting using a provided link or code. Create Meet: Host your own meeting and invite participants. Audio Controls: Mute and unmute your microphone during the meeting. Video Controls: Turn your camera on or off as needed. In-Call Chatting: Communicate with participants via text chat during the meeting. Link Sharing: Share the meeting link with others for easy access. Meet Code Sharing: Provide a unique meeting code for participants to join. Participants List: View a list of all attendees. Leave Meet: Exit the meeting when you are done. Meet Project End-to-End Implementation In this demo, we will deploy a fully functional Meet application on an AWS EKS (Elastic Kubernetes Service) cluster. Project Deployment Flow: Tech Stack Used in this Project The following technologies are used in this project for deployment, monitoring, and management: GitHub (Source Code Management) Docker (Containerization) Jenkins (Continuous Integration - CI) OWASP Dependency Check (Security Scanning) SonarQube (Code Quality Analysis) Trivy (File System Security Scan) Argo CD (Continuous Deployment - CD) AWS EKS (Kubernetes Orchestration) Terraform (Infrastructure Provisioning) Ansible (Configuration Management) Helm (Monitoring using Grafana and Prometheus) CI/CD Pipelines CI Pipeline (Build & Push) CD Pipeline (Application Deployment) Argo CD Application Deployment on EKS Prerequisites to Implement This Project Why Use Google Cloud? Google Cloud offers a $300 free credit for three months, making it an excellent choice for provisioning heavy instances without incurring costs. This allows us to set up and test our EKS infrastructure efficiently. Master Node Setup Note: This instance will act as the master node and will be used for all EKS cluster operations using Kubectl. It will also be used for Jenkins and Argo CD operations. Create a new Ubuntu 22.04 LTS instance on Google Cloud Machine Type: e2-standard-2 RAM: 8GB vCPUs: 2 Storage: 30GB Open the required ports in firewall rules for the master node Add Public Key to the instance before creation Navigate to Security > Scroll Down to Manage Access > Add Key Paste the Public Key and save it Ansible Provisioner VM Setup Note: This instance is used only for configuration and package installations via Ansible. It is not recommended to run any other workloads on this instance. Create a new Ubuntu 22.04 LTS instance on Google Cloud Machine Type: e2-medium RAM: 4GB vCPUs: 2 Storage: 10GB Install Ansible on the instance Use the following script to install Ansible: #!/bin/bash # Exit immediately if a command fails set -e run_silent() { "$@" >/dev/null 2>&1 } echo "

Meet
Meet is a web-based video conferencing service that allows users to hold real-time face-to-face meetings for free. It is ideal for various use cases such as company meetings, job training sessions, or board member discussions.
Features
- Join Meet: Easily join an existing meeting using a provided link or code.
- Create Meet: Host your own meeting and invite participants.
- Audio Controls: Mute and unmute your microphone during the meeting.
- Video Controls: Turn your camera on or off as needed.
- In-Call Chatting: Communicate with participants via text chat during the meeting.
- Link Sharing: Share the meeting link with others for easy access.
- Meet Code Sharing: Provide a unique meeting code for participants to join.
- Participants List: View a list of all attendees.
- Leave Meet: Exit the meeting when you are done.
Meet Project End-to-End Implementation
In this demo, we will deploy a fully functional Meet application on an AWS EKS (Elastic Kubernetes Service) cluster.
Project Deployment Flow:
Tech Stack Used in this Project
The following technologies are used in this project for deployment, monitoring, and management:
- GitHub (Source Code Management)
- Docker (Containerization)
- Jenkins (Continuous Integration - CI)
- OWASP Dependency Check (Security Scanning)
- SonarQube (Code Quality Analysis)
- Trivy (File System Security Scan)
- Argo CD (Continuous Deployment - CD)
- AWS EKS (Kubernetes Orchestration)
- Terraform (Infrastructure Provisioning)
- Ansible (Configuration Management)
- Helm (Monitoring using Grafana and Prometheus)
CI/CD Pipelines
CI Pipeline (Build & Push)
CD Pipeline (Application Deployment)
Argo CD Application Deployment on EKS
Prerequisites to Implement This Project
Why Use Google Cloud?
Google Cloud offers a $300 free credit for three months, making it an excellent choice for provisioning heavy instances without incurring costs. This allows us to set up and test our EKS infrastructure efficiently.
Master Node Setup
Note:
This instance will act as the master node and will be used for all EKS cluster operations using Kubectl. It will also be used for Jenkins and Argo CD operations.
- Create a new Ubuntu 22.04 LTS instance on Google Cloud
- Machine Type:
e2-standard-2
- RAM:
8GB
- vCPUs:
2
-
Storage:
30GB
-
Open the required ports in firewall rules for the master node
- Add Public Key to the instance before creation
-
Open the required ports in firewall rules for the master node
Navigate to Security > Scroll Down to Manage Access > Add Key
Paste the Public Key and save it
Ansible Provisioner VM Setup
Note:
This instance is used only for configuration and package installations via Ansible. It is not recommended to run any other workloads on this instance.
- Create a new Ubuntu 22.04 LTS instance on Google Cloud
- Machine Type:
e2-medium
- RAM:
4GB
- vCPUs:
2
-
Storage:
10GB
- Install Ansible on the instance
Use the following script to install Ansible:
#!/bin/bash
# Exit immediately if a command fails
set -e
run_silent() {
"$@" >/dev/null 2>&1
}
echo "