- This repository contains my own incremental development of the source code accompanying the book Cloud Native Spring in Action - With Spring Boot and Kubernetes written by Thomas Vitale and published by Manning Publications.
- If you want to follow the examples of that book your best option is to fork the original sourcecode repository from the author at https://github.com/ThomasVitale/cloud-native-spring-in-action
- The most important difference in this particular codebase is the usage of maven instead of gradle.
- I have currently progressed up to chapter 6 of the book.
Chapter after chapter, you'll build, containerize, and deploy cloud native applications. Along the journey, you will need the following software installed.
- Java 17+
- OpenJDK: Eclipse Temurin
- GraalVM: GraalVM
- JDK Management: SDKMAN
- Docker 20.10+
- Kubernetes 1.24+
- Other
The code samples in the book use Gradle as the build tool. Should you prefer Maven, here's a table mapping Gradle commands to Maven so that you can easily follow along.
Gradle | Maven |
---|---|
./gradlew clean |
./mvnw clean |
./gradlew build |
./mvnw install |
./gradlew test |
./mvnw test |
./gradlew bootJar |
./mvnw spring-boot:repackage |
./gradlew bootRun |
./mvnw spring-boot:run |
./gradlew bootBuildImage |
./mvnw spring-boot:build-image |
- Configuring IntelliJ IDEA
- Configuring Visual Studio Code
- Observability setup on Kubernetes
- Replacing Kubeval with Kubeconform
- Setting up a Kubernetes cluster for Polar Bookshop on Azure
- Setting up a Kubernetes cluster for Polar Bookshop on DigitalOcean
- Working with macOS on Apple Silicon
- Working with Windows
The final project developed throughout the book is available here.
You can find the source code for the Angular frontend here.
Feel free to submit questions, feedback, or errata to the forum dedicated to "Cloud Native Spring in Action": https://livebook.manning.com/book/cloud-native-spring-in-action/.
You are very welcome to contact me for questions, feedback, or suggestions. Feel free to reach out to me on Twitter, LinkedIn, Mastodon, or here on GitHub.