From 0a06d2b91f76e4104018008fefc811f587035d05 Mon Sep 17 00:00:00 2001 From: Guillaume Balaine Date: Wed, 17 May 2017 15:41:11 +0200 Subject: [PATCH 1/7] Add maven-publish plugin to subprojects so they can easily be deployed locally --- build.gradle | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/build.gradle b/build.gradle index 02b1a5a3..7fb8f0a7 100644 --- a/build.gradle +++ b/build.gradle @@ -36,12 +36,21 @@ subprojects { apply plugin: 'com.bmuschko.docker-remote-api' apply plugin: 'maven' apply plugin: 'jacoco' + apply plugin: 'maven-publish' sourceCompatibility = '1.8' targetCompatibility = '1.8' [compileJava, compileTestJava]*.options*.encoding = 'UTF-8' + publishing { + publications { + mavenJava(MavenPublication) { + from components.java + } + } + } + compileJava { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } From c798a2a01ed40f0cb94ce1f5f1fc648ff33712ca Mon Sep 17 00:00:00 2001 From: Guillaume Balaine Date: Wed, 17 May 2017 15:41:48 +0200 Subject: [PATCH 2/7] Docker API is https by default, use TLS and fetch the cert from the path --- .../minimesos/docker/DockerClientFactory.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java b/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java index 5aa68ae9..46a99ca1 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java +++ b/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java @@ -16,11 +16,18 @@ public class DockerClientFactory { public static DockerClient build() { if (dockerClient == null) { DefaultDockerClientConfig.Builder builder = new DefaultDockerClientConfig.Builder(); - builder = builder.withApiVersion("1.12"); + // This should be automatized or parametized + builder = builder + .withApiVersion("1.28") + .withDockerTlsVerify(true) + .withDockerCertPath(System.getenv("DOCKER_CERT_PATH")); + String dockerHostEnv = System.getenv("DOCKER_HOST"); if (StringUtils.isBlank(dockerHostEnv)) { builder.withDockerHost("unix:///var/run/docker.sock"); + } else { + builder.withDockerHost(dockerHostEnv); } DockerClientConfig config = builder.build(); From 78b37f8766682c1e841ed78ddee89c5aa53cd794 Mon Sep 17 00:00:00 2001 From: Guillaume Balaine Date: Wed, 17 May 2017 15:42:07 +0200 Subject: [PATCH 3/7] Add the latest mesos image --- .../containersol/minimesos/config/MesosContainerConfig.groovy | 1 + 1 file changed, 1 insertion(+) diff --git a/minimesos/src/main/groovy/com/containersol/minimesos/config/MesosContainerConfig.groovy b/minimesos/src/main/groovy/com/containersol/minimesos/config/MesosContainerConfig.groovy index 146423dd..fa5b7437 100644 --- a/minimesos/src/main/groovy/com/containersol/minimesos/config/MesosContainerConfig.groovy +++ b/minimesos/src/main/groovy/com/containersol/minimesos/config/MesosContainerConfig.groovy @@ -16,6 +16,7 @@ abstract class MesosContainerConfig extends ContainerConfigBlock implements Cont "0.28.1", "0.28", "1.0.0", + "1.2.1-rc1" ] public String getLoggingLevel() { From 5a2137b3467e369c41574cc52fdf787cfc3dddd9 Mon Sep 17 00:00:00 2001 From: Guillaume Balaine Date: Wed, 17 May 2017 15:42:34 +0200 Subject: [PATCH 4/7] gson-parent is a pom, and this will pull a jar by default, gson-parent is useless --- minimesos/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minimesos/build.gradle b/minimesos/build.gradle index 41c07fa2..f1c1e583 100644 --- a/minimesos/build.gradle +++ b/minimesos/build.gradle @@ -25,13 +25,13 @@ sourceSets { dependencies { compile 'org.codehaus.groovy:groovy-all:2.4.5' - compile 'com.github.docker-java:docker-java:3.0.7' + compile 'com.github.docker-java:docker-java:3.0.9' compile 'junit:junit:4.11' compile 'com.jayway.awaitility:awaitility:1.6.3' compile 'com.mashape.unirest:unirest-java:1.4.8' compile 'org.slf4j:slf4j-api:1.7.12' compile 'com.mesosphere:marathon-client:0.3.0' - compile 'com.google.code.gson:gson-parent:2.8.0' + compile 'com.google.code.gson:gson:2.8.0' compile 'ch.qos.logback:logback-core:1.1.3' compile 'ch.qos.logback:logback-classic:1.1.3' From 8ed2ba3632d8fef084725c6bb55e129c1fba0ca5 Mon Sep 17 00:00:00 2001 From: Guillaume Balaine Date: Fri, 29 Sep 2017 10:55:32 +0200 Subject: [PATCH 5/7] Use Docker TLS conditionnally --- .../minimesos/docker/DockerClientFactory.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java b/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java index 46a99ca1..aac37bc0 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java +++ b/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java @@ -17,17 +17,18 @@ public static DockerClient build() { if (dockerClient == null) { DefaultDockerClientConfig.Builder builder = new DefaultDockerClientConfig.Builder(); // This should be automatized or parametized - builder = builder - .withApiVersion("1.28") - .withDockerTlsVerify(true) - .withDockerCertPath(System.getenv("DOCKER_CERT_PATH")); - + builder = builder.withApiVersion("1.28"); + String dockerCertPath = System.getenv("DOCKER_CERT_PATH"); + if(!StringUtils.isNotBlank(dockerCertPath)) { + builder = builder.withDockerTlsVerify(true) + .withDockerCertPath(System.getenv("DOCKER_CERT_PATH")); + } String dockerHostEnv = System.getenv("DOCKER_HOST"); if (StringUtils.isBlank(dockerHostEnv)) { - builder.withDockerHost("unix:///var/run/docker.sock"); + builder = builder.withDockerHost("unix:///var/run/docker.sock"); } else { - builder.withDockerHost(dockerHostEnv); + builder = builder.withDockerHost(dockerHostEnv); } DockerClientConfig config = builder.build(); From aecd312093b2f08d346e8ee678dce4149be5fdc5 Mon Sep 17 00:00:00 2001 From: Guillaume Balaine Date: Fri, 29 Sep 2017 11:18:15 +0200 Subject: [PATCH 6/7] Replace system.getenv by existing variable --- .../com/containersol/minimesos/docker/DockerClientFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java b/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java index aac37bc0..18b4cf62 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java +++ b/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java @@ -21,7 +21,7 @@ public static DockerClient build() { String dockerCertPath = System.getenv("DOCKER_CERT_PATH"); if(!StringUtils.isNotBlank(dockerCertPath)) { builder = builder.withDockerTlsVerify(true) - .withDockerCertPath(System.getenv("DOCKER_CERT_PATH")); + .withDockerCertPath(dockerCertPath); } String dockerHostEnv = System.getenv("DOCKER_HOST"); From 0b8ba3494724333e7508d9e3aed0fddf31b22dd2 Mon Sep 17 00:00:00 2001 From: Guillaume Balaine Date: Fri, 29 Sep 2017 11:39:09 +0200 Subject: [PATCH 7/7] Do not set tls true if cert path is false --- .../com/containersol/minimesos/docker/DockerClientFactory.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java b/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java index 18b4cf62..c2dfe4aa 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java +++ b/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java @@ -22,6 +22,8 @@ public static DockerClient build() { if(!StringUtils.isNotBlank(dockerCertPath)) { builder = builder.withDockerTlsVerify(true) .withDockerCertPath(dockerCertPath); + } else { + builder = builder.withDockerTlsVerify(false); } String dockerHostEnv = System.getenv("DOCKER_HOST");