Browse by type
WanderLust is a simple MERN travel blog website ✈ This project is aimed to help people to contribute in open source, upskill in react and also master git.

CI pipeline to build and push
CD pipeline to update application version
ArgoCD application for deployment on EKS
[!Important] Below table helps you to navigate to the particular tool installation section fast.
| Tech stack | Installation |
|---|---|
| Jenkins Master | Install and configure Jenkins |
| eksctl | Install eksctl |
| Argocd | Install and configure ArgoCD |
| Jenkins-Worker Setup | Install and configure Jenkins Worker Node |
| OWASP setup | Install and configure OWASP |
| SonarQube | Install and configure SonarQube |
| Email Notification Setup | Email notification setup |
| Monitoring | Prometheus and grafana setup using helm charts |
| Clean Up | Clean up |
| # |
sudo su
[!Note] This project will be implemented on North California region (us-west-1).
[!Note] We are creating this master machine because we will configure Jenkins master, eksctl, EKS cluster creation from here.
Install & Configure Docker by using below command, "NewGrp docker" will refresh the group config hence no need to restart the EC2 machine.
apt-get update
apt-get install docker.io -y
usermod -aG docker ubuntu && newgrp docker
sudo apt update -y
sudo apt install fontconfig openjdk-17-jre -y
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc]" \
https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update -y
sudo apt-get install jenkins -y
AWSCLI should be configured (Setup AWSCLI)
bash
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
sudo apt install unzip
unzip awscliv2.zip
sudo ./aws/install
aws configure
Install kubectl (Master machine)(Setup kubectl )
bash
curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.19.6/2021-01-05/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin
kubectl version --short --client
Install eksctl (Master machine) (Setup eksctl)
bash
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin
eksctl version
Create EKS Cluster (Master machine)
bash
eksctl create cluster --name=wanderlust \
--region=us-west-1 \
--version=1.30 \
--without-nodegroup
bash
eksctl utils associate-iam-oidc-provider \
--region us-west-1 \
--cluster wanderlust \
--approvebash
eksctl create nodegroup --cluster=wanderlust \
--region=us-west-1 \
--name=wanderlust \
--node-type=t2.large \
--nodes=2 \
--nodes-min=2 \
--nodes-max=2 \
--node-volume-size=29 \
--ssh-access \
--ssh-public-key=eks-nodegroup-key[!Note] Make sure the ssh-public-key "eks-nodegroup-key is available in your aws account"
bash
sudo apt update -y
sudo apt install fontconfig openjdk-17-jre -yCreate an IAM role with administrator access attach it to the jenkins worker node Select Jenkins worker node EC2 instance --> Actions --> Security --> Modify IAM role
Configure AWSCLI (Setup AWSCLI)
bash
sudo su
bash
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
sudo apt install unzip
unzip awscliv2.zip
sudo ./aws/install
aws configure
bash
ssh-keygen
apt install docker.io -y
usermod -aG docker ubuntu && newgrp docker
docker run -itd --name SonarQube-Server -p 9000:9000 sonarqube:lts-community
sudo apt-get install wget apt-transport-https gnupg lsb-release -y
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
echo deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list.d/trivy.list
sudo apt-get update -y
sudo apt-get install trivy -y
bash
kubectl create namespace argocdbash
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yamlbash
watch kubectl get pods -n argocdbash
curl --silent --location -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/download/v2.4.7/argocd-linux-amd64bash
chmod +x /usr/local/bin/argocdbash
kubectl get svc -n argocdbash
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "NodePort"}}'bash
kubectl get svc -n argocdbash
<public-ip-worker>:<port>
bash
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo[!Important] Make sure 2 step verification must be on
[!Important] Enter your gmail password which we copied recently in password field E-mail Notification --> Advance
Configure OWASP, move to Manage Jenkins --> Plugins --> Available plugins (Jenkins Worker)
After OWASP plugin is installed, Now move to Manage jenkins --> Tools (Jenkins Worker)
browse all types & interfaces →
$ claude mcp add Wanderlust-Mega-Project \
-- python -m otcore.mcp_server <graph>