This guide will help you set up your local development environment for the project.
Before you begin, ensure you have the following tools installed on your system:
- minikube - Local Kubernetes cluster
- kubectl - Kubernetes command-line tool
- tilt - Modern development environment
- Docker - Containerization platform
- Gradle - Build automation tool
- Java 17 - Java Development Kit
-
Install Dependencies
# For macOS (using Homebrew) brew install gradle brew install --cask temurin17 # For Java 17 brew install --cask docker brew install kubectl brew install minikube # For Ubuntu/Debian sudo apt update sudo apt install gradle sudo apt install openjdk-17-jdk sudo apt install docker.io
-
Clone the Repository
git clone [repository-url] cd [repository-name] -
Run the Setup Script
./setup.sh
This script will:
- Pull the latest changes from the main repository
- Update and initialize all submodules
- Check for required tools (minikube, kubectl, tilt)
- Configure and start minikube with appropriate resources (4GB RAM, 4 CPUs)
- Enable necessary minikube addons
- Start the Development Environment
After the setup script completes successfully, start the development environment by running:
tilt up
Make sure you have the following environment variables set:
JAVA_HOME- pointing to Java 17 installationGRADLE_HOME- pointing to Gradle installation- Docker should be running before starting minikube
project/
├── setup.sh
├── Tiltfile
├── service1/
│ ├── build.gradle
│ └── ...
├── service2/
│ ├── build.gradle
│ └── ...
└── ...
- Ensures all required tools are installed
- Configures minikube with appropriate resources
- Sets up the Kubernetes development environment
- Prepares all microservices for local development
If you encounter any issues during setup:
-
Missing Tools
- The script will provide installation links if any required tools are missing
- Follow the provided links to install the missing tools
-
Minikube Issues
- Ensure you have sufficient system resources
- Try running
minikube deleteand then rerun the setup script
-
Submodule Issues
- Run
git submodule update --init --recursivemanually - Check if you have access to all required repositories
- Run
- Minimum 8GB RAM recommended
- 4 CPU cores recommended
- Sufficient disk space for Docker images and Kubernetes cluster