Keruta API is the backend component of the Keruta task execution system.
Keruta API is structured as a multi-module Gradle project:
core:domain
- Domain models (Task, Agent, Repository, etc.)core:usecase
- Business logic and use casesinfra:persistence
- MongoDB repository implementationsinfra:security
- Security configurationinfra:app
- Kubernetes integration and job orchestrationapi
- REST controllers and web layer
# Build the entire project
./gradlew build
# Run the Spring Boot application
./gradlew :api:bootRun
# Run all tests
./gradlew test
# Run tests with detailed output
./gradlew test --continue
The application uses INFO level logging by default. The log configuration is defined in:
api/src/main/resources/application.properties
infra/app/src/main/resources/application.properties
To enable more detailed DEBUG logging, modify these files and change the log levels from INFO to DEBUG.
# Check code style (all modules)
./gradlew ktlintCheckAll
# Format code (all modules)
./gradlew ktlintFormatAll
# Clean build
./gradlew clean