Skip to content
Merged
Show file tree
Hide file tree
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
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ private IResource create(ModelNode node, String version, String kind, boolean st
try {
node.get(APIVERSION).set(version);
node.get(KIND).set(kind.toString());
Map<String, String[]> properyKeyMap = ResourcePropertiesRegistry.getInstance().get(version, kind, strict);
Map<String, String[]> properyKeyMap = ResourcePropertiesRegistry.getInstance().get(version, kind);
if(IMPL_MAP.containsKey(kind)) {
Constructor<? extends IResource> constructor = IMPL_MAP.get(kind).getConstructor(ModelNode.class, IClient.class, Map.class);
return constructor.newInstance(node, client, properyKeyMap);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@
* @author Jeff Cantrill
*/
public class Build extends KubernetesResource implements IBuild{

private static final String BUILD_MESSAGE = "status.message";
private static final String BUILD_PODNAME = "podName";
private static final String BUILD_STATUS = "status.phase";


public Build(ModelNode node, IClient client, Map<String, String []> propertyKeys) {
super(node, client, propertyKeys);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import org.apache.commons.lang.StringUtils;
import org.jboss.dmr.ModelNode;

import com.openshift.internal.restclient.OpenShiftAPIVersion;
import com.openshift.internal.restclient.capability.CapabilityInitializer;
import com.openshift.internal.restclient.model.build.CustomBuildStrategy;
import com.openshift.internal.restclient.model.build.DockerBuildStrategy;
Expand Down Expand Up @@ -44,9 +43,33 @@
* @author Jeff Cantrill
*/
public class BuildConfig extends KubernetesResource implements IBuildConfig {

private static final String BUILDCONFIG_SOURCE_CONTEXTDIR = "spec.source.contextDir";
private static final String BUILDCONFIG_SOURCE_TYPE = "spec.source.type";
private static final String BUILDCONFIG_SOURCE_URI = "spec.source.git.uri";
private static final String BUILDCONFIG_SOURCE_REF = "spec.source.git.ref";
public static final String BUILDCONFIG_TYPE = "spec.strategy.type";
private static final String BUILDCONFIG_CUSTOM_IMAGE = "spec.strategy.customStrategy.image";
private static final String BUILDCONFIG_CUSTOM_EXPOSEDOCKERSOCKET = "spec.strategy.customStrategy.exposeDockerSocket";
private static final String BUILDCONFIG_CUSTOM_ENV = "spec.strategy.customStrategy.env";
public static final String BUILDCONFIG_DOCKER_CONTEXTDIR = "spec.strategy.dockerStrategy.contextDir";
public static final String BUILDCONFIG_DOCKER_NOCACHE = "spec.strategy.dockerStrategy.noCache";
public static final String BUILDCONFIG_DOCKER_BASEIMAGE = "spec.strategy.dockerStrategy.baseImage";
private static final String BUILDCONFIG_OUTPUT_REPO = "spec.output.to.name";
private static final String BUILDCONFIG_STI_IMAGE = "spec.strategy.sourceStrategy.from.name";
private static final String BUILDCONFIG_STI_SCRIPTS = "spec.strategy.sourceStrategy.scripts";
private static final String BUILDCONFIG_STI_INCREMENTAL = "spec.strategy.sourceStrategy.incremental";
private static final String BUILDCONFIG_STI_ENV = "spec.strategy.sourceStrategy.env";
private static final String BUILDCONFIG_TRIGGERS = "spec.triggers";
private static final String BUILD_CONFIG_WEBHOOK_GITHUB_SECRET = "github.secret";
private static final String BUILD_CONFIG_WEBHOOK_GENERIC_SECRET = "generic.secret";
private static final String BUILD_CONFIG_IMAGECHANGE_IMAGE = "imageChange.image";
private static final String BUILD_CONFIG_IMAGECHANGE_NAME = "imageChange.from.name";
private static final String BUILD_CONFIG_IMAGECHANGE_TAG = "imageChange.tag";


public BuildConfig(ModelNode node, IClient client, Map<String, String []> propertyKeys) {
super(node, client, propertyKeys);
public BuildConfig(ModelNode node, IClient client, Map<String, String []> overrideProperties) {
super(node, client, null);
CapabilityInitializer.initializeCapabilities(getModifiableCapabilities(), this, client);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,18 @@
*/
public class DeploymentConfig extends KubernetesResource implements IDeploymentConfig{

public static final String DEPLOYMENTCONFIG_CONTAINERS = "spec.template.spec.containers";
private static final String VOLUMES = "spec.template.spec.volumes";
private static final String DEPLOYMENTCONFIG_REPLICAS = "spec.replicas";
private static final String DEPLOYMENTCONFIG_REPLICA_SELECTOR = "spec.selector";
private static final String DEPLOYMENTCONFIG_TEMPLATE_LABELS = "spec.template.metadata.labels";
private static final String DEPLOYMENTCONFIG_TRIGGERS = "spec.triggers";
private static final String DEPLOYMENTCONFIG_STRATEGY = "spec.strategy.type";

private static final String IMAGE = "image";
private static final String ENV = "env";
private static final String TYPE = "type";

private final Map<String, String[]> propertyKeys;

public DeploymentConfig(ModelNode node, IClient client, Map<String, String []> propertyKeys) {
Expand Down Expand Up @@ -103,7 +114,7 @@ public void addContainer(String name, DockerImageURI tag, Set<IPort> containerPo

if(emptyDirVolumes.size() > 0) {
ModelNode volumeMounts = container.get("volumeMounts");
ModelNode volumes = get(DEPLOYMENTCONFIG_VOLUMES);
ModelNode volumes = get(VOLUMES);
for (String path : emptyDirVolumes) {
EmptyDirVolume volume = new EmptyDirVolume(volumes.add());
final String volName = String.format("%s-%s", name, emptyDirVolumes.indexOf(path) + 1);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
*/
public class ImageStream extends KubernetesResource implements IImageStream {

private static final String IMAGESTREAM_DOCKER_IMAGE_REPO = "spec.dockerImageRepository";

public ImageStream(){
this(new ModelNode(), null, null);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import java.util.Map;
import java.util.Set;

import org.apache.commons.lang.StringUtils;
import org.jboss.dmr.ModelNode;
import org.jboss.dmr.ModelType;

Expand All @@ -41,10 +40,17 @@ public class KubernetesResource implements IResource, ResourcePropertyKeys {
private Map<String, String []> propertyKeys;
private IProject project;

public KubernetesResource(ModelNode node, IClient client, Map<String, String []> propertyKeys){
/**
*
* @param node
* @param client
* @param overrideProperties the map of properties that override the defaults
*/
public KubernetesResource(ModelNode node, IClient client, Map<String, String []> overrideProperties){
if(overrideProperties == null) overrideProperties = new HashMap<String, String []>();
this.node = node;
this.client = client;
this.propertyKeys = propertyKeys;
this.propertyKeys = overrideProperties;
initializeCapabilities(capabilities, this, client);
}

Expand Down Expand Up @@ -92,9 +98,7 @@ public Map<String, String> getAnnotations() {

@Override
public String getAnnotation(String key) {
//TODO make efficient
Map<String, String> annotations = getAnnotations();
return annotations.get(key);
return getAnnotations().get(key);
}


Expand Down Expand Up @@ -144,11 +148,11 @@ public String getCreationTimeStamp(){
}
@Override
public String getName(){
return asString(NAME);
return asString(METADATA_NAME);
}

public void setName(String name) {
set(NAME, name);
set(METADATA_NAME, name);
}

@Override
Expand Down Expand Up @@ -233,11 +237,7 @@ protected void setEnvMap(String key, Map<String, String> values) {
}

protected String[] getPath(String key) {
String [] property = propertyKeys.get(key);
if (property == null) {
throw new IllegalArgumentException(String.format("key %s is not known to the resource %s", key, getName().isEmpty()? getClass().getSimpleName() : getName()));
}
return property;
return JBossDmrExtentions.getPath(propertyKeys, key);
}

protected String asString(ModelNode node, String subKey) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public List(ModelNode node, IClient client, Map<String, String []> propertyKeys)

@Override
public Collection<IResource> getItems() {
Collection<ModelNode> nodes = get(TEMPLATE_ITEMS).asList();
Collection<ModelNode> nodes = get(OBJECTS).asList();
java.util.List<IResource> resources = new ArrayList<IResource>(nodes.size());
IResourceFactory factory = getClient().getResourceFactory();
if(factory != null){
Expand All @@ -43,7 +43,7 @@ public Collection<IResource> getItems() {

@Override
public void addAll(Collection<IResource> items) {
ModelNode itemNode = get(TEMPLATE_ITEMS);
ModelNode itemNode = get(OBJECTS);
for (IResource resource : items) {
itemNode.add(ModelNode.fromJSONString(resource.toString()));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@
*/
public class Pod extends KubernetesResource implements IPod {

private static final String POD_IP = "status.podIP";
private static final String POD_HOST = "status.hostIP";
private static final String POD_STATUS = "status.phase";
private static final String POD_CONTAINERS = "spec.containers";

public Pod(ModelNode node, IClient client, Map<String, String []> propertyKeys) {
super(node, client, propertyKeys);
initializeCapabilities(getModifiableCapabilities(), this, client);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
import org.jboss.dmr.ModelNode;

import com.openshift.restclient.IClient;
import com.openshift.restclient.ResourceKind;
import com.openshift.restclient.model.IProject;
import com.openshift.restclient.model.IResource;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,12 @@
*/
public class ReplicationController extends KubernetesResource implements IReplicationController{

private static final String REPLICATION_CONTROLLER_REPLICA_COUNT = "spec.replicas";
private static final String REPLICATION_CONTROLLER_REPLICA_SELECTOR = "spec.selector";
private static final String REPLICATION_CONTROLLER_CONTAINERS = "spec.template.spec.containers";
private static final String REPLICATION_CONTROLLER_CURRENT_REPLICA_COUNT = "status.replicas";


public ReplicationController(ModelNode node, IClient client, Map<String, String []> propertyKeys) {
super(node, client, propertyKeys);
}
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/com/openshift/internal/restclient/model/Route.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,18 @@
* @author Jeff Cantrill
*/
public class Route extends KubernetesResource implements IRoute {

private static final String ROUTE_HOST = "spec.host";
private static final String ROUTE_PATH = "spec.path";
private static final String ROUTE_KIND = "spec.to.kind";
private static final String ROUTE_SERVICE_NAME = "spec.to.name";
private static final String ROUTE_TLS = "spec.tls";
private static final String ROUTE_TLS_TERMINATION_TYPE = "spec.tls.termination";
private static final String ROUTE_TLS_CERTIFICATE = "spec.tls.certificate";
private static final String ROUTE_TLS_KEY = "spec.tls.key";
private static final String ROUTE_TLS_CACERT = "spec.tls.caCertificate";
private static final String ROUTE_TLS_DESTINATION_CACERT = "spec.tls.destinationCACertificate";

public Route(ModelNode node, IClient client,
Map<String, String[]> propertyKeys) {
super(node, client, propertyKeys);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@
* @author Jiri Pechanec
*/
public class Secret extends KubernetesResource implements ISecret {

private static final String SECRET_TYPE = "type";
private static final String SECRET_DATA = "data";


public Secret(ModelNode node, IClient client, Map<String, String []> propertyKeys) {
super(node, client, propertyKeys);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@
public class Service extends KubernetesResource implements IService {


private static final String SERVICE_SELECTOR = "spec.selector";
private static final String SERVICE_PORT = "spec.ports";

public Service(ModelNode node, IClient client, Map<String, String []> propertyKeys) {
super(node, client, propertyKeys);
initializeCapabilities(getModifiableCapabilities(), this, getClient());
Expand Down Expand Up @@ -126,7 +129,7 @@ public int getTargetPort() {

@Override
public String getPortalIP() {
return asString(SERVICE_PORTALIP);
return asString("spec.portalIP");
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@
* @author Jeff Cantrill
*/
public class Status extends KubernetesResource implements IStatus{

private static final String STATUS_MESSAGE = "message";
private static final String STATUS_CODE = "code";
private static final String STATUS_STATUS = "status";


public Status(ModelNode node, IClient client, Map<String, String []> propertyKeys) {
super(node, client, propertyKeys);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@

public class ImageChangeTrigger extends DeploymentTrigger implements IDeploymentImageChangeTrigger {

private static final String DEPLOYMENTCONFIG_TRIGGER_IMAGECHANGE_AUTO = "imageChangeParams.automatic";
private static final String DEPLOYMENTCONFIG_TRIGGER_CONTAINERS = "imageChangeParams.containerNames";
private static final String DEPLOYMENTCONFIG_TRIGGER_FROM = "imageChangeParams.from.name";
private static final String DEPLOYMENTCONFIG_TRIGGER_FROM_KIND = "imageChangeParams.from.kind";

public ImageChangeTrigger(ModelNode node, Map<String, String[]> propertyKeys) {
super(node, propertyKeys);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@

public class OpenshiftProjectRequest extends KubernetesResource implements IProjectRequest {

private static final String DISPLAYNAME = "displayName";
private static final String DESCRIPTION = "description";

public OpenshiftProjectRequest(ModelNode node, IClient client, Map<String, String[]> propertyKeys) {
super(node, client, propertyKeys);
}
Expand Down

This file was deleted.

This file was deleted.

Loading