The library is published on Maven Central. Current version is 0.1.0.RELEASE
<dependency>
<groupId>com.github.piomin</groupId>
<artifactId>spring-boot-istio</artifactId>
<version>0.1.0.RELEASE</version>
</dependency>
The library provides auto-configured support for creating Istio resources on Kubernetes basing on annotation @EnableIstio
.
@SpringBootApplication
@EnableIstio(version = "v1", retries = 3, timeout = 3)
public class CallmeApplication {
public static void main(String[] args) {
SpringApplication.run(CallmeApplication.class, args);
}
}
Here's the architecture of presented solution. Spring Boot Istio Library is included to the target application. It uses Java Istio Client to communication with istiod. During application startup the library is communicating with Istio API in order to create DestinationRule
and VirtualService
objects.