BootKit is a powerful framework that acts as an add-on for Spring Boot, designed to enhance modern enterprise applications built with Java. You can add BootKit to an existing Spring Boot application to boost developer experience, reduce boilerplate, and seamlessly adopt cloud native patterns.
- Java 21+
- Spring Boot 3.5+
Add the BootKit BOM to your build.gradle:
dependencies {
implementation platform('io.bootkit:bootkit-bom:0.19.1-SNAPSHOT')
implementation 'io.bootkit:bootkit-spring-boot-starter'
}Add the BootKit BOM to your pom.xml:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.bootkit</groupId>
<artifactId>bootkit-bom</artifactId>
<version>0.19.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.bootkit</groupId>
<artifactId>bootkit-spring-boot-starter</artifactId>
</dependency>
</dependencies>BootKit provides extensive support for development services with Testcontainers integration, making it easy to spin up development dependencies:
- Databases: PostgreSQL, MySQL, MariaDB, MongoDB, MongoDB Atlas, Oracle, Oracle XE
- Message Brokers: Kafka, RabbitMQ, Pulsar, Artemis
- Observability: LGTM Stack (Loki, Grafana, Tempo, Mimir), OpenTelemetry Collector
- AI/ML: Ollama, Docling
- Authentication: LLDAP
- Data Services: Redis, Phoenix
Enhanced observability features for monitoring and tracing:
- OpenTelemetry integration with automatic instrumentation
- OpenInference semantic conventions for AI/ML applications
- Micrometer metrics bridge
- OTLP metrics registry
- Logback bridge for unified logging
Built-in support for multi-tenant applications:
- Core multitenancy framework
- Web-based tenant resolution
- Tenant isolation patterns
Cloud-native deployment support:
- Kubernetes Service Binding support
- Seamless integration with cloud platforms
Integration with modern AI tools:
- Docling support for document processing
- Spring AI compatibility
bootkit/
├── bootkit-core/ # Core framework functionality
├── bootkit-spring-boot/ # Spring Boot integration
├── bootkit-dev/ # Development services
│ └── bootkit-dev-services/ # Testcontainers-based dev services
│ ├── bootkit-dev-services-core/ # Core dev services functionality
│ ├── bootkit-dev-services-artemis/ # Apache Artemis
│ ├── bootkit-dev-services-docling/ # Docling AI
│ ├── bootkit-dev-services-kafka/ # Apache Kafka
│ ├── bootkit-dev-services-lgtm/ # LGTM Observability Stack
│ ├── bootkit-dev-services-lldap/ # LLDAP Authentication
│ ├── bootkit-dev-services-mariadb/ # MariaDB Database
│ ├── bootkit-dev-services-mongodb/ # MongoDB Database
│ ├── bootkit-dev-services-mongodb-atlas/ # MongoDB Atlas
│ ├── bootkit-dev-services-mysql/ # MySQL Database
│ ├── bootkit-dev-services-ollama/ # Ollama AI
│ ├── bootkit-dev-services-oracle/ # Oracle Database
│ ├── bootkit-dev-services-oracle-xe/ # Oracle XE Database
│ ├── bootkit-dev-services-otel-collector/ # OpenTelemetry Collector
│ ├── bootkit-dev-services-phoenix/ # Phoenix Data Platform
│ ├── bootkit-dev-services-postgresql/ # PostgreSQL Database
│ ├── bootkit-dev-services-pulsar/ # Apache Pulsar
│ ├── bootkit-dev-services-rabbitmq/ # RabbitMQ
│ └── bootkit-dev-services-redis/ # Redis
├── bootkit-integrations/ # Third-party integrations
│ └── bootkit-docling/ # Docling integration
├── bootkit-kubernetes/ # Kubernetes support
│ └── bootkit-kubernetes-service-binding/ # Service Binding
├── bootkit-multitenancy/ # Multi-tenant applications
│ ├── bootkit-multitenancy-core/ # Core multitenancy
│ └── bootkit-multitenancy-web/ # Web multitenancy
├── bootkit-observability/ # Observability features
│ ├── bootkit-openinference-semantic-conventions/
│ ├── bootkit-opentelemetry/
│ ├── bootkit-opentelemetry-logback-bridge/
│ ├── bootkit-opentelemetry-micrometer-metrics-bridge/
│ └── bootkit-opentelemetry-micrometer-registry-otlp/
└── spring-boot-starters/ # Spring Boot starters
├── bootkit-docling-spring-boot-starter/
├── bootkit-multitenancy-web-spring-boot-starter/
├── bootkit-opentelemetry-spring-boot-starter/
└── bootkit-spring-boot-starter/
We welcome contributions! Please see our Contributing Guide for details on:
- How to submit issues and pull requests
- Code style guidelines
- Development setup
- Testing requirements
Before contributing, please:
- Read the Code of Conduct
- Check existing issues and pull requests
- Discuss significant changes in an issue first
The security process for reporting vulnerabilities is described in SECURITY.md.
Please do not disclose security vulnerabilities publicly. Follow the responsible disclosure process outlined in the security policy.
This project is licensed under the Apache License 2.0. See LICENSE for more information.
BootKit is maintained by Zhu Yijin and the community. We appreciate all contributors who have helped make this project better!
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Security: See SECURITY.md
Made with ❤️ by the BootKit community