This repository contains the Kubernetes manifests and Dockerfile for deploying the Spring Boot API application connected to MongoDB (created in Task 1) on a Minikube cluster.
docker build . -t arunodhai/kaiburrapi
docker push arunodhai/kaiburrapi
![Docker image build and push](https://private-user-images.githubusercontent.com/60264218/297929787-a889879e-e19d-496e-b5c5-f8aea8e4463f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MjY4MjcsIm5iZiI6MTcyMzUyNjUyNywicGF0aCI6Ii82MDI2NDIxOC8yOTc5Mjk3ODctYTg4OTg3OWUtZTE5ZC00OTZlLWI1YzUtZjhhZWE4ZTQ0NjNmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEzVDA1MjIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThlYmJhZmQ4YjMzODNjMzA1YWMwZDMwZTFjMjllZGU1Y2FmYWU4ZWFjYTNhYTJmNzk2ZDQyZmYyMjhmNTNjMTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.e7tpLQ0NMHmIa6ZU6zRiIH5XBLSOMNoYSK2MyF9eTx0)
![Running docker image](https://private-user-images.githubusercontent.com/60264218/297929871-d3c34ad2-f512-4a54-8cde-38d3a8371b16.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MjY4MjcsIm5iZiI6MTcyMzUyNjUyNywicGF0aCI6Ii82MDI2NDIxOC8yOTc5Mjk4NzEtZDNjMzRhZDItZjUxMi00YTU0LThjZGUtMzhkM2E4MzcxYjE2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEzVDA1MjIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTViMmYwN2JiMzlhYTgyMTFmMmNkYWZhMzM5YzQ1ZmQ1YWVlNWI5NGU0M2I1NzRmNzliOGE5NDJkYjIwODU5ODImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.o8AKSws_TDzv5nK47KbDQsyXIhp2KQKWWiUzpNQZ3Ak)
minikube start
![minikube setup](https://private-user-images.githubusercontent.com/60264218/297929982-87cd9e3e-0ab2-49c0-9be0-deaf1beeebdb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MjY4MjcsIm5iZiI6MTcyMzUyNjUyNywicGF0aCI6Ii82MDI2NDIxOC8yOTc5Mjk5ODItODdjZDllM2UtMGFiMi00OWMwLTliZTAtZGVhZjFiZWVlYmRiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEzVDA1MjIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNhMTAyZDg2NTU4OTRmMDc4YzRkZmRjZDdjYjAxMGMwOTg1YzRmMTU2OTBiY2ZkZTRkY2FiNGZlZGM3OGMwNzUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.HBTbNvkYhLI0ZNWK_2ryMcRzqBKDKllNT0eslsesyoY)
kubectl create -f mongo-deployment.yml
kubectl create -f mongo-service.yml
kubectl create -f mongo-pvc.yml
kubectl create -f deployment.yml
kubectl create -f service.yml
![deployments and services creations](https://private-user-images.githubusercontent.com/60264218/297930004-30c27d17-f8f9-43d2-ad3b-d0dbfab80df9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MjY4MjcsIm5iZiI6MTcyMzUyNjUyNywicGF0aCI6Ii82MDI2NDIxOC8yOTc5MzAwMDQtMzBjMjdkMTctZjhmOS00M2QyLWFkM2ItZDBkYmZhYjgwZGY5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEzVDA1MjIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQxNzFlZjRhNjZhYTYwZGY3YzM1MTYxZmUxNDAwZjc1NWNkNzc3NzcwZWVhOWQ1YTg1NmQ1ZjZiMDUxMjU1YTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.RMivFJ1piu_IKNB0YvsFolDKp-L1N033J3P1wL7iiJc)
kubectl get all
![Status](https://private-user-images.githubusercontent.com/60264218/297930011-af15af71-b11b-45bb-928a-bb758b70ff6c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MjY4MjcsIm5iZiI6MTcyMzUyNjUyNywicGF0aCI6Ii82MDI2NDIxOC8yOTc5MzAwMTEtYWYxNWFmNzEtYjExYi00NWJiLTkyOGEtYmI3NThiNzBmZjZjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEzVDA1MjIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVkMzA1NDM0YmY3YTk3NGEzZmU5MDUxNzIyOWE1YmEzNGYxOTg4OTk4Yzc1YTMxODFjYmY0M2FjNGNjZGY2YzMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.I3KQwFZ6N7eIGpUaRH7ok1Ob93N9UPkRSKzfdl1XkkE)
minikube service kaiburr-api-service
![PUT method](https://private-user-images.githubusercontent.com/60264218/297931018-c49f3d7d-6b4e-4899-ac85-5642bc8a456b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MjY4MjcsIm5iZiI6MTcyMzUyNjUyNywicGF0aCI6Ii82MDI2NDIxOC8yOTc5MzEwMTgtYzQ5ZjNkN2QtNmI0ZS00ODk5LWFjODUtNTY0MmJjOGE0NTZiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEzVDA1MjIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIwNDU4ZTA5MTg4M2ZmMzM1NjYxZGMzMjYyNWMxN2I1MzYyMDdjZmUwYzZjOWUwM2IwODA5ZTA2NDUxYTc0YjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Pltsu-KVaBgoCukKdQJiIkm2cG0LkYVe-WuiE5Uoxjs)
![GET method](https://private-user-images.githubusercontent.com/60264218/297931080-8c67cadb-a1d7-4bb6-b493-7a8220e57a34.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MjY4MjcsIm5iZiI6MTcyMzUyNjUyNywicGF0aCI6Ii82MDI2NDIxOC8yOTc5MzEwODAtOGM2N2NhZGItYTFkNy00YmI2LWI0OTMtN2E4MjIwZTU3YTM0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEzVDA1MjIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkxNDk3ZjVkYTFhNDk1MDZiYjQ4OWE3YjdlYWYxMTI3MDFkMzE1MzM0ZjNmZDY1ODIzZmE1Zjc0NTA2ZTJlMDAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.XOGe17g1g_0vTPfAl5TqXXze1xmivo7ATNT1I7sVpX0)
![Browser view GET method](https://private-user-images.githubusercontent.com/60264218/297931285-b101fa88-1088-4142-9fd4-4ca6ea913306.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MjY4MjcsIm5iZiI6MTcyMzUyNjUyNywicGF0aCI6Ii82MDI2NDIxOC8yOTc5MzEyODUtYjEwMWZhODgtMTA4OC00MTQyLTlmZDQtNGNhNmVhOTEzMzA2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEzVDA1MjIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTUwMzE1Y2UzNTU5YTU3MTgyNTFiMWI0NGQyOTRkY2RiNmYxZWU1NmRkYTA0YTAwN2VlNTIxMzRlNDVjODQ5ZWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.ARn-N0B6MhWxT711UfHGjGXAS7DcbppVUihxmEbQ5eI)
![CURL methods](https://private-user-images.githubusercontent.com/60264218/297931445-0d52421f-5969-4f6c-b2f7-641cbe3cde08.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MjY4MjcsIm5iZiI6MTcyMzUyNjUyNywicGF0aCI6Ii82MDI2NDIxOC8yOTc5MzE0NDUtMGQ1MjQyMWYtNTk2OS00ZjZjLWIyZjctNjQxY2JlM2NkZTA4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEzVDA1MjIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJjYjYzZjZjODNkZmRmODA4OTUxMGU0YWM4NjAxNzRiNWIzNjc4ZDY5YzY0OWQyMDBiOTZiNjhhMDhlMTQxZmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.zv-uvVajZXzvm7jZS_U8Az-V1u071VzHoWSmtr6XIKg)
kubectl exec -it mongo-deployment-df7b8b9c-sf8nh -- /bin/bash
mongosh
![Viewing data inside mongodb pod](https://private-user-images.githubusercontent.com/60264218/297931813-685af247-2fd6-4a65-8f62-c7ed4295c758.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MjY4MjcsIm5iZiI6MTcyMzUyNjUyNywicGF0aCI6Ii82MDI2NDIxOC8yOTc5MzE4MTMtNjg1YWYyNDctMmZkNi00YTY1LThmNjItYzdlZDQyOTVjNzU4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEzVDA1MjIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWIwMTU2MTZkZGE0ODIzNTQzMDU1NGUyNDI5ZTg5MjQ3ZTcxZmY0NDQ0MjgwM2UyZDBiYjk5YmNlNjhiOWJkOGUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.BT_I7B5k-QAX9mEdudy4cp1ox8eimHzMU0MAnK_mKnQ)
kubectl get pvc
kubectl delete pod mongo-deployment-df7b8b9c-kp7t6
![Checking PVC](https://private-user-images.githubusercontent.com/60264218/297932729-b2f59959-34aa-4c02-b029-d05b894c57da.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MjY4MjcsIm5iZiI6MTcyMzUyNjUyNywicGF0aCI6Ii82MDI2NDIxOC8yOTc5MzI3MjktYjJmNTk5NTktMzRhYS00YzAyLWIwMjktZDA1Yjg5NGM1N2RhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEzVDA1MjIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQzZDIwZDEzODZjYjJkMmYyNTUyMjc0NTBiZTNhZTIwMjk2NGJhZGE3NmFhNWU5MDNkOTdmN2QyOTZlOWVlYTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.EtJDV1eFno5vS8i7NsKSrg4rA2_GzPFPPfMxP9OjHRo)
![Viewing persisted data inside mongodb](https://private-user-images.githubusercontent.com/60264218/297933460-d936a56d-8aec-4ca4-a6d5-c1f6fa778827.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MjY4MjcsIm5iZiI6MTcyMzUyNjUyNywicGF0aCI6Ii82MDI2NDIxOC8yOTc5MzM0NjAtZDkzNmE1NmQtOGFlYy00Y2E0LWE2ZDUtYzFmNmZhNzc4ODI3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEzVDA1MjIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA3Y2YzNGVjZjRkMTQzZmZjMTVjYTE4YzUyMTU4Y2Y3NjY2YTVkMDVjYTNjYmY1NWY2OTUyZTBjYjNhMGM3YmEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.AZpHogr7qn9hipT3jhgNSeXU52U2cAhDxfxyFpjHcc8)