One repository to store the code and another repository to store the manifest files . The manifest repo is a private repository .



Here mentioned the sonarqube server URL and also created a secret text using the token ( created in step 4 ) and added that secret text into the sonarqube server .
Here in tools section of manage Jenkins i have configured the sonarqube scanner . Just given the desired version of sonarqube scanner and a name to the scanner .
On Sonarqube server , at adminstration ? configuration > webhook , added the <jenkins_url>/sonarqube_webhook and a name .
Here i have first created an app password on gmail .
Then using the app password , created a username and password credential on Jenkins .
Then on system of manage jenkins configured the gmail . Here i have mentioned the smtp server and its port as 465 .
Here created a username and password credential on the Jenkins server . Here i have mentioned my dockerhub account username and the password . Here the username and password can be
accessed by using the ID .
Here first created a personal token on github .
Then created a secret text credential by using the github personal token on Jenkins .
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
extraPortMappings:
- containerPort: 32215
hostPort: 80
- containerPort: 32216
hostPort: 8081
- role: worker

Here first created argocd namespace .
Then generated the argocd server password .
Then port forward the argocd server access to port 8078 .
After connecting the argocd server , i have first updated the argocd password .
Then connected the manifest repo file using the github manifest repo url , github username and github personal token .
Created an application from the connected github repo .
After this argocd started deploying the manifest files .

Here i have configured the prometheus.yml inside the prometheus container . Here added the some code which will help to scrape the metrics from the blacbox exported and Jenkins .
Then restarted my prometheus container . After this checked the targets in prometheus server .
Then integrated prometheus and grafana .
It will build the version 1 of my website .





Now the website of version 2 .




Here kubernetes secrets is used to store the API_TOKEN . Application runs at port 80 and it is connected to the backend at port 8081 .



