Skip to content
This repository was archived by the owner on Mar 30, 2022. It is now read-only.

chore: initial update to sundrio 0.60.0, Fabric8 5.10.1, istio 1.7.8 #141

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -33,9 +33,9 @@ jobs:


- name: KinD (Kubernetes in Docker) Action
uses: engineerd/setup-kind@v0.3.0
uses: engineerd/setup-kind@v0.5.0
with:
version: v0.8.0
version: v0.11.1

- name: Kubernetes CLI - kubectl
uses: steebchen/[email protected]
3 changes: 2 additions & 1 deletion .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip
downloadUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.1/apache-maven-3.8.1-bin.zip
22 changes: 11 additions & 11 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
module github.com/snowdrop/istio-java-api

go 1.13
go 1.13

require (
github.com/ghodss/yaml v1.0.0
github.com/gogo/protobuf v1.3.1
github.com/openshift/api v3.9.1-0.20191008181517-e4fd21196097+incompatible // indirect
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e // indirect
istio.io/api v0.0.0-20210128181506-0c4b8e54850f
istio.io/istio v0.0.0-20210129021145-dcbb9a567ff4
sigs.k8s.io/structured-merge-diff v0.0.0-20190817042607-6149e4549fca // indirect
sigs.k8s.io/testing_frameworks v0.1.2 // indirect
)
require (
github.com/ghodss/yaml v1.0.0
github.com/gogo/protobuf v1.3.1
github.com/openshift/api v3.9.1-0.20191008181517-e4fd21196097+incompatible // indirect
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e // indirect
istio.io/api v0.0.0-20210128181506-0c4b8e54850f
istio.io/istio v0.0.0-20210223230603-30e54dcb8a1c
sigs.k8s.io/structured-merge-diff v0.0.0-20190817042607-6149e4549fca // indirect
sigs.k8s.io/testing_frameworks v0.1.2 // indirect
)
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1067,6 +1067,8 @@ istio.io/istio v0.0.0-20201116194644-63ddfef22d6a h1:WhYsDWaYUpA0Q1GbsLobNz93qqS
istio.io/istio v0.0.0-20201116194644-63ddfef22d6a/go.mod h1:+aqm8IKB5PPuf0evN4PL610ueGC/3YkTr7hUgfQSJTg=
istio.io/istio v0.0.0-20210129021145-dcbb9a567ff4 h1:Pklx4cjR6XRaWApkRJWpAqgYKgXEowD39v5Ey0t6AKE=
istio.io/istio v0.0.0-20210129021145-dcbb9a567ff4/go.mod h1:HOQAPYUj6hCen/Hpe/yxqYb+PrdI+XOvcutoytMKvsI=
istio.io/istio v0.0.0-20210223230603-30e54dcb8a1c h1:J0Mo4V7SZixhsm5WOaLvi6HaNkhWaxa4ldabiAyfePA=
istio.io/istio v0.0.0-20210223230603-30e54dcb8a1c/go.mod h1:HOQAPYUj6hCen/Hpe/yxqYb+PrdI+XOvcutoytMKvsI=
istio.io/pkg v0.0.0-20200511212725-7bfbbf968c23 h1:1GMOTQs9yVdNEBmVKxDlq6ios80gIAOMO1WfKYKYjZo=
istio.io/pkg v0.0.0-20200511212725-7bfbbf968c23/go.mod h1:pwGaxLUDLobzL/WvWV94z72LvBbB1dr2UUUyPuasfIU=
istio.io/pkg v0.0.0-20200807181912-d97bc429be20 h1:ayjyPYnvRHl1ojG357PQlUEi1sPPC6zPdcllevOwjz0=
5 changes: 5 additions & 0 deletions istio-client/pom.xml
Original file line number Diff line number Diff line change
@@ -47,6 +47,11 @@
<artifactId>transform-annotations</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.sundr</groupId>
<artifactId>sundr-codegen-velocity-nodeps</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>me.snowdrop</groupId>
<artifactId>istio-model</artifactId>
15 changes: 8 additions & 7 deletions istio-client/src/main/java/me/snowdrop/istio/client/CodeGen.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package me.snowdrop.istio.client;

import io.sundr.codegen.annotations.ResourceSelector;
import io.sundr.transform.annotations.VelocityTransformation;
import io.sundr.transform.annotations.VelocityTransformations;
import io.sundr.transform.annotations.ResourceSelector;
import io.sundr.transform.annotations.TemplateTransformation;
import io.sundr.transform.annotations.TemplateTransformations;

@VelocityTransformations(
@TemplateTransformations(
value = {
@VelocityTransformation("/resource-operation.vm"),
@VelocityTransformation("/resource-handler.vm"),
@VelocityTransformation(value = "/resource-handler-services.vm", gather = true, outputPath = "META-INF/services/io.fabric8.kubernetes.client.ResourceHandler")
@TemplateTransformation("/resource-operation.vm"),
// @TemplateTransformation("/resource-handler.vm"),
/*@TemplateTransformation(value = "/resource-handler-services.vm", gather = true, outputPath = "META-INF/services/io.fabric8.kubernetes.client.ResourceHandler"),*/
@TemplateTransformation(value = "/handler-registration.vm", gather = true, outputPath = "me/snowdrop/istio/client/internal/HandlersRegistration.java")
},
resources = {
@ResourceSelector("crd.properties")
Original file line number Diff line number Diff line change
@@ -1,50 +1,22 @@
package me.snowdrop.istio.client;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

import io.fabric8.kubernetes.api.model.DeletionPropagation;
import io.fabric8.kubernetes.api.model.HasMetadata;
import io.fabric8.kubernetes.api.model.KubernetesListBuilder;
import io.fabric8.kubernetes.api.model.KubernetesResourceList;
import io.fabric8.kubernetes.client.BaseClient;
import io.fabric8.kubernetes.client.Config;
import io.fabric8.kubernetes.client.ConfigBuilder;
import io.fabric8.kubernetes.client.RequestConfig;
import io.fabric8.kubernetes.client.WithRequestCallable;
import io.fabric8.kubernetes.client.dsl.FunctionCallable;
import io.fabric8.kubernetes.client.dsl.MixedOperation;
import io.fabric8.kubernetes.client.dsl.NamespaceListVisitFromServerGetDeleteRecreateWaitApplicable;
import io.fabric8.kubernetes.client.dsl.NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicable;
import io.fabric8.kubernetes.client.dsl.ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable;
import io.fabric8.kubernetes.client.dsl.Resource;
import io.fabric8.kubernetes.client.*;
import io.fabric8.kubernetes.client.dsl.*;
import io.fabric8.kubernetes.client.dsl.internal.NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableImpl;
import io.fabric8.kubernetes.client.dsl.internal.NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl;
import io.fabric8.kubernetes.client.utils.Serialization;
import me.snowdrop.istio.api.IstioResource;
import me.snowdrop.istio.api.networking.v1alpha3.EnvoyFilter;
import me.snowdrop.istio.api.networking.v1alpha3.EnvoyFilterList;
import me.snowdrop.istio.api.networking.v1beta1.DestinationRule;
import me.snowdrop.istio.api.networking.v1beta1.DestinationRuleList;
import me.snowdrop.istio.api.networking.v1beta1.Gateway;
import me.snowdrop.istio.api.networking.v1beta1.GatewayList;
import me.snowdrop.istio.api.networking.v1beta1.ServiceEntry;
import me.snowdrop.istio.api.networking.v1beta1.ServiceEntryList;
import me.snowdrop.istio.api.networking.v1beta1.VirtualService;
import me.snowdrop.istio.api.networking.v1beta1.VirtualServiceList;
import me.snowdrop.istio.api.networking.v1beta1.*;
import me.snowdrop.istio.api.policy.v1beta1.Handler;
import me.snowdrop.istio.api.policy.v1beta1.HandlerList;
import me.snowdrop.istio.api.policy.v1beta1.Instance;
import me.snowdrop.istio.api.policy.v1beta1.InstanceList;
import me.snowdrop.istio.api.security.v1beta1.AuthorizationPolicy;
import me.snowdrop.istio.api.security.v1beta1.AuthorizationPolicyList;
import me.snowdrop.istio.api.security.v1beta1.PeerAuthentication;
import me.snowdrop.istio.api.security.v1beta1.PeerAuthenticationList;
import me.snowdrop.istio.api.security.v1beta1.RequestAuthentication;
import me.snowdrop.istio.api.security.v1beta1.RequestAuthenticationList;
import me.snowdrop.istio.api.security.v1beta1.*;
import me.snowdrop.istio.client.internal.operation.networking.v1alpha3.EnvoyFilterOperationImpl;
import me.snowdrop.istio.client.internal.operation.networking.v1beta1.DestinationRuleOperationImpl;
import me.snowdrop.istio.client.internal.operation.networking.v1beta1.GatewayOperationImpl;
@@ -57,6 +29,12 @@
import me.snowdrop.istio.client.internal.operation.security.v1beta1.RequestAuthenticationOperationImpl;
import okhttp3.OkHttpClient;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;

public class DefaultIstioClient extends BaseClient implements NamespacedIstioClient {

public DefaultIstioClient() {
@@ -160,12 +138,12 @@ public MixedOperation<PeerAuthentication, PeerAuthenticationList, Resource<PeerA
//Generic methods for handling resources
@Override
public ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable<HasMetadata> load(InputStream is) {
return new NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl(httpClient, getConfiguration(), getNamespace(), null, false, false, Collections.emptyList(), (InputStream) is, Collections.emptyMap(), false, DeletionPropagation.FOREGROUND);
return new NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl(getHttpClient(), getConfiguration(), Serialization.unmarshal(is));
}

@Override
public NamespaceListVisitFromServerGetDeleteRecreateWaitApplicable<HasMetadata> resourceList(KubernetesResourceList item) {
return new NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl(httpClient, getConfiguration(), getNamespace(), null, false, false, Collections.emptyList(), item, Collections.emptyMap(), DeletionPropagation.FOREGROUND, false);
return new NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl(getHttpClient(), getConfiguration(), item);
}

@Override
@@ -180,18 +158,18 @@ public NamespaceListVisitFromServerGetDeleteRecreateWaitApplicable<HasMetadata>

@Override
public ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable<HasMetadata> resourceList(String s) {
return new NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl(httpClient, getConfiguration(), getNamespace(), null, false, false, Collections.emptyList(), s, Collections.emptyMap(), DeletionPropagation.FOREGROUND, false);
return new NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl(getHttpClient(), getConfiguration(), Serialization.unmarshal(s));
}


@Override
public NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicable<HasMetadata> resource(HasMetadata item) {
return new NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableImpl(httpClient, getConfiguration(), getNamespace(), null, false, false, Collections.emptyList(), item, -1L, DeletionPropagation.FOREGROUND, false, 200L, 1.5d);
return new NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableImpl(getHttpClient(), getConfiguration(), item);
}

@Override
public NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicable<HasMetadata> resource(String s) {
return new NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableImpl(httpClient, getConfiguration(), getNamespace(), null, false, false, Collections.emptyList(), s, -1L, DeletionPropagation.FOREGROUND, false, 200L, 1.5d);
return resource((HasMetadata) Serialization.unmarshal(s));
}


19 changes: 19 additions & 0 deletions istio-client/src/main/resources/handler-registration.vm
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package me.snowdrop.istio.client.internal;


import io.fabric8.kubernetes.client.Handlers;

public class HandlersRegistration {
static {
#foreach ($m in ${model.values()})
#set ($pkg = $m.packageName)
#set ($pkgParts = $pkg.split("\."))
#set ($pkgVersionIndex = $pkgParts.size() - 1)
#set ($pkgGroupIndex = $pkgParts.size() - 2)
#set ($pkgVersion = $pkgParts[$pkgVersionIndex])
#set ($pkgGroup = $pkgParts[$pkgGroupIndex])
#set ($package = "me.snowdrop.istio.client.internal.operation.${pkgGroup}.${pkgVersion}")
Handlers.register(${pkg}.${m.name}.class, ${package}.${m.name}OperationImpl::new);
#end
}
}
53 changes: 0 additions & 53 deletions istio-client/src/main/resources/resource-handler.vm
Original file line number Diff line number Diff line change
@@ -38,64 +38,11 @@ import java.util.function.Predicate;

public class ${model.name}Handler implements ResourceHandler<${model.name}, ${model.name}Builder> {

@Override
public String getKind() {
return ${model.name}.class.getSimpleName();
}

@Override
public String getApiVersion() {
#if (${apiGroup} != "")
return "${apiGroup}/${apiVersion}";
#else
return "${apiVersion}";
#end
}

@Override
public ${model.name} create(OkHttpClient client, Config config, String namespace, ${model.name} item) {
return new ${model.name}OperationImpl(client, config).withItem(item).inNamespace(namespace).create();
}

@Override
public ${model.name} replace(OkHttpClient client, Config config, String namespace, ${model.name} item) {
return new ${model.name}OperationImpl(client, config).withItem(item).inNamespace(namespace).withName(item.getMetadata().getName()).replace(item);
}

@Override
public ${model.name} reload(OkHttpClient client, Config config, String namespace, ${model.name} item) {
return new ${model.name}OperationImpl(client, config).withItem(item).inNamespace(namespace).withName(item.getMetadata().getName()).fromServer().get();
}

@Override
public ${model.name}Builder edit(${model.name} item) {
return new ${model.name}Builder(item);
}

@Override
public Boolean delete(OkHttpClient client, Config config, String namespace, DeletionPropagation propagationPolicy, ${model.name} item) {
return new ${model.name}OperationImpl(client, config).withItem(item).inNamespace(namespace).delete(item);
}

@Override
public Watch watch(OkHttpClient client, Config config, String namespace, ${model.name} item, Watcher<${model.name}> watcher) {
return new ${model.name}OperationImpl(client, config).withItem(item).inNamespace(namespace).withName(item.getMetadata().getName()).watch(watcher);
}

@Override
public Watch watch(OkHttpClient client, Config config, String namespace, ${model.name} item, String resourceVersion, Watcher<${model.name}> watcher) {
return new ${model.name}OperationImpl(client, config).withItem(item).inNamespace(namespace).withName(item.getMetadata().getName()).watch(resourceVersion, watcher);
}

@Override
public Watch watch(OkHttpClient client, Config config, String namespace, ${model.name} item, ListOptions listOptions, final Watcher<${model.name}> watcher) {
return new ${model.name}OperationImpl(client, config).withItem(item).inNamespace(namespace).withName(item.getMetadata().getName()).watch(listOptions, watcher);
}

@Override
public ${model.name} waitUntilReady(OkHttpClient client, Config config, String namespace, ${model.name} item, long amount, TimeUnit timeUnit) throws InterruptedException {
return new ${model.name}OperationImpl(client, config).withItem(item).inNamespace(namespace).withName(item.getMetadata().getName()).waitUntilReady(amount, timeUnit);
}

@Override
public ${model.name} waitUntilCondition(OkHttpClient client, Config config, String namespace, ${model.name} item, Predicate<${model.name}> condition, long amount, TimeUnit timeUnit) throws InterruptedException {
4 changes: 1 addition & 3 deletions istio-client/src/main/resources/resource-operation.vm
Original file line number Diff line number Diff line change
@@ -43,9 +43,7 @@ public class ${model.name}OperationImpl extends HasMetadataOperation<${model.nam
public ${model.name}OperationImpl(OperationContext context) {
super(context.withApiGroupName("$apiGroup")
.withApiGroupVersion("$apiVersion")
.withPlural("$plural"));
this.type = ${model.name}.class;
this.listType = ${model.name}List.class;
.withPlural("$plural"), ${model.name}.class, ${model.name}List.class);
}

public ${model.name}OperationImpl newInstance(OperationContext context) {
5 changes: 4 additions & 1 deletion istio-model-annotator/pom.xml
Original file line number Diff line number Diff line change
@@ -31,7 +31,10 @@
<dependency>
<groupId>io.sundr</groupId>
<artifactId>transform-annotations</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.sundr</groupId>
<artifactId>sundr-codegen-velocity-nodeps</artifactId>
</dependency>
<dependency>
<groupId>org.jsonschema2pojo</groupId>
Original file line number Diff line number Diff line change
@@ -9,44 +9,25 @@
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.sun.codemodel.JAnnotationArrayMember;
import com.sun.codemodel.JAnnotationUse;
import com.sun.codemodel.JClass;
import com.sun.codemodel.JClassAlreadyExistsException;
import com.sun.codemodel.JCodeModel;
import com.sun.codemodel.JDefinedClass;
import com.sun.codemodel.JExpr;
import com.sun.codemodel.JFieldVar;
import com.sun.codemodel.JMethod;
import com.sun.codemodel.JMod;
import com.sun.codemodel.JPackage;
import com.sun.codemodel.*;
import io.fabric8.kubernetes.model.annotation.Group;
import io.fabric8.kubernetes.model.annotation.Plural;
import io.fabric8.kubernetes.model.annotation.Version;
import io.sundr.builder.annotations.Buildable;
import io.sundr.builder.annotations.BuildableReference;
import io.sundr.transform.annotations.VelocityTransformation;
import io.sundr.transform.annotations.VelocityTransformations;
import java.io.Serializable;
import java.nio.file.Paths;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import io.sundr.transform.annotations.TemplateTransformation;
import io.sundr.transform.annotations.TemplateTransformations;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import me.snowdrop.istio.api.IstioSpec;
import me.snowdrop.istio.api.internal.ClassWithInterfaceFieldsDeserializer;
import me.snowdrop.istio.api.internal.IstioApiVersion;
import me.snowdrop.istio.api.internal.IstioKind;
import me.snowdrop.istio.api.internal.IstioSpecRegistry;
import me.snowdrop.istio.api.internal.MixerAdapter;
import me.snowdrop.istio.api.internal.MixerResourceDeserializer;
import me.snowdrop.istio.api.internal.MixerTemplate;
import me.snowdrop.istio.api.internal.*;
import org.jsonschema2pojo.GenerationConfig;
import org.jsonschema2pojo.Jackson2Annotator;

import java.io.Serializable;
import java.nio.file.Paths;
import java.util.*;

/**
* @author <a href="[email protected]">Christophe Laprun</a>
*/
@@ -176,12 +157,12 @@ public void propertyOrder(JDefinedClass clazz, JsonNode propertiesNode) {
}

} else if (clazz.name().endsWith("Spec")) {
JAnnotationArrayMember arrayMember = clazz.annotate(VelocityTransformations.class).paramArray("value");
arrayMember.annotate(VelocityTransformation.class).param("value", "/istio-resource.vm");
arrayMember.annotate(VelocityTransformation.class).param("value", "/istio-resource-list.vm");
arrayMember.annotate(VelocityTransformation.class).param("value", "/istio-manifest.vm")
JAnnotationArrayMember arrayMember = clazz.annotate(TemplateTransformations.class).paramArray("value");
arrayMember.annotate(TemplateTransformation.class).param("value", "/istio-resource.vm");
arrayMember.annotate(TemplateTransformation.class).param("value", "/istio-resource-list.vm");
arrayMember.annotate(TemplateTransformation.class).param("value", "/istio-manifest.vm")
.param("outputPath", "crd.properties").param("gather", true);
arrayMember.annotate(VelocityTransformation.class).param("value", "/istio-mappings-provider.vm")
arrayMember.annotate(TemplateTransformation.class).param("value", "/istio-mappings-provider.vm")
.param("outputPath", Paths.get("me", "snowdrop", "istio", "api", "model",
"IstioResourceMappingsProvider.java").toString())
.param("gather", true);
39 changes: 22 additions & 17 deletions istio-model/pom.xml
Original file line number Diff line number Diff line change
@@ -68,26 +68,31 @@
<exclusions>
<exclusion>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<artifactId>tools</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.sundr</groupId>
<artifactId>transform-annotations</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<dependency>
<groupId>io.sundr</groupId>
<artifactId>transform-annotations</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.sundr</groupId>
<artifactId>sundr-codegen-velocity-nodeps</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
3 changes: 1 addition & 2 deletions istio-model/src/main/resources/istio-resource-list.vm
Original file line number Diff line number Diff line change
@@ -51,8 +51,7 @@ import io.fabric8.kubernetes.api.model.ListMeta;
@ToString
@EqualsAndHashCode
@Buildable(editableEnabled = false, generateBuilderPackage = true, builderPackage = "io.fabric8.kubernetes.api.builder")
public class ${resource}List implements KubernetesResource, KubernetesResourceList<${resource}>
{
public class ${resource}List implements KubernetesResource, KubernetesResourceList<${resource}> {

/**
*
3 changes: 1 addition & 2 deletions istio-model/src/main/resources/istio-resource.vm
Original file line number Diff line number Diff line change
@@ -83,8 +83,7 @@ import me.snowdrop.istio.api.internal.IstioKind;
@ToString
@EqualsAndHashCode
@Buildable(editableEnabled = false, generateBuilderPackage = true, builderPackage = "io.fabric8.kubernetes.api.builder" )
public class $resource implements IstioResource
{
public class $resource implements IstioResource {

/**
*
57 changes: 34 additions & 23 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -164,13 +164,14 @@
<javax-annotations-api.version>1.3.2</javax-annotations-api.version>
<jsonschema2pojo.version>1.0.2</jsonschema2pojo.version>
<k8s-client.majorVersion>5</k8s-client.majorVersion>
<k8s-client.minorVersion>1</k8s-client.minorVersion>
<kubernetes-client.version>${k8s-client.majorVersion}.${k8s-client.minorVersion}.0</kubernetes-client.version>
<k8s-client.minorVersion>10</k8s-client.minorVersion>
<kubernetes-client.version>${k8s-client.majorVersion}.${k8s-client.minorVersion}.1
</kubernetes-client.version>
<junit.version>4.13.1</junit.version>
<mockito.version>2.13.0</mockito.version>
<assertj.version>3.9.0</assertj.version>
<sundrio.version>0.21.0</sundrio.version>
<lombok.version>1.18.2</lombok.version>
<sundrio.version>0.60.0</sundrio.version>
<lombok.version>1.18.20</lombok.version>
</properties>

<modules>
@@ -203,6 +204,11 @@
<artifactId>kubernetes-model</artifactId>
<version>${kubernetes-client.version}</version>
</dependency>
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-model-core</artifactId>
<version>${kubernetes-client.version}</version>
</dependency>
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-model-common</artifactId>
@@ -224,26 +230,31 @@
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>${javax-annotations-api.version}</version>
</dependency>
<dependency>
<groupId>io.sundr</groupId>
<artifactId>builder-annotations</artifactId>
<version>${sundrio.version}</version>
<version>${javax-annotations-api.version}</version>
</dependency>
<dependency>
<groupId>io.sundr</groupId>
<artifactId>transform-annotations</artifactId>
<version>${sundrio.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<dependency>
<groupId>io.sundr</groupId>
<artifactId>builder-annotations</artifactId>
<version>${sundrio.version}</version>
</dependency>
<dependency>
<groupId>io.sundr</groupId>
<artifactId>transform-annotations</artifactId>
<version>${sundrio.version}</version>
</dependency>
<dependency>
<groupId>io.sundr</groupId>
<artifactId>sundr-codegen-velocity-nodeps</artifactId>
<version>${sundrio.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>