This is an implementation of the project discussed in the article on learnk8s.io by Mauricio Salatino where a simple note taking application is created using Java Spring Boot framework, containerized using docker and deployed on a local Kubernetes cluster.
The application used Spring JPA with a MongoDB database and a Minio Object Store, all running as microservices on a kubernetes cluster. I have made some modifications in the source code and configuration parameters based on changes to the components used in the application.
Please setup an application.properties
file in the src/main/resources
directory with the following lines to get started -
spring.data.mongodb.host=host.docker.internal
spring.data.mongodb.port=27017
If you wish to try running this application on docker, you may pull the container from docker hub using docker pull devanandkmenon/notes-app
. I have also placed the kubernetes configuration YAML files under /kube
directory.
This repository is intended for educational purposes and does not accept further contributions. Feel free to utilize and enhance the app based on your own requirements.
For further reference, please consider the following sections:
- Official Apache Maven documentation
- Spring Boot Maven Plugin Reference Guide
- Create an OCI image
- Spring Web
- Spring Boot Actuator
- Apache Freemarker
- Spring Data MongoDB
The following guides illustrate how to use some features concretely: