<dependency>
<groupId>io.dekorate</groupId>
<artifactId>kubernetes-annotations</artifactId>
<version>1.5.0</version>
</dependency>
import io.dekorate.kubernetes.annotation.KubernetesApplication;
import io.dekorate.kubernetes.annotation.KubernetesImage;
import io.dekorate.kubernetes.annotation.KubernetesImageBuild;
import io.dekorate.kubernetes.annotation.KubernetesApplicationReplicas;
@KubernetesApplication
@KubernetesImageBuild(
group = "my-group",
registry = "my-registry",
name = "my-app",
version = "1.0.0",
push = true
)
@KubernetesImage(
name = "my-registry/my-app",
tag = "1.0.0"
)
@KubernetesApplicationReplicas(3)
public class MyApp {
public static void main(String[] args) {
}
}
dekorate
<plugin>
<groupId>io.dekorate</groupId>
<artifactId>dekorate-maven-plugin</artifactId>
<version>1.5.0</version>
<executions>
<execution>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>
mvn dekorate:deploy
kubectl apply -f kubernetes-manifests/
oc apply -f kubernetes-manifests/