diff --git a/spring-cloud-config/README.md b/spring-cloud-config/README.md new file mode 100644 index 0000000000..b8ebb2bfe9 --- /dev/null +++ b/spring-cloud-config/README.md @@ -0,0 +1,27 @@ +## Spring Cloud Config ## + +To get this example working, you have to initialize a new *Git* repository in +the ```client-config``` directory first *and* you have to set the environment variable +```CONFIG_REPO``` to an absolute path of that directory. + +``` +$> cd client-config +$> git init +$> git add . +$> git commit -m 'Initial commit' +$> export CONFIG_REPO=$(pwd) +``` + +Then you're able to run the examples with ```mvn install spring-boot:run```. + +### Docker ### + +To get the *Docker* examples working, you have to repackage the ```spring-cloud-config-server``` +and ```spring-cloud-config-client``` modules first: + +``` +$> mvn install spring-boot:repackage +``` + +Don't forget to download the *Java JCE* package from +(Oracle)[http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html]. diff --git a/spring-cloud-config/client/pom.xml b/spring-cloud-config/client/pom.xml deleted file mode 100644 index 0ef4b35581..0000000000 --- a/spring-cloud-config/client/pom.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - 4.0.0 - - - com.baeldung.spring.cloud - spring-cloud-config - 0.0.1-SNAPSHOT - - client - jar - - client - Demo project for Spring Cloud Config Client - - - UTF-8 - UTF-8 - 1.8 - - - - - org.springframework.cloud - spring-cloud-starter-config - - - org.springframework.boot - spring-boot-starter-web - - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - - org.springframework.cloud - spring-cloud-dependencies - Brixton.BUILD-SNAPSHOT - pom - import - - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - true - - - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone - - false - - - - diff --git a/spring-cloud-config/client/src/test/java/com/baeldung/spring/cloud/config/client/ConfigClientLiveTest.java b/spring-cloud-config/client/src/test/java/com/baeldung/spring/cloud/config/client/ConfigClientLiveTest.java deleted file mode 100644 index 058fd45f35..0000000000 --- a/spring-cloud-config/client/src/test/java/com/baeldung/spring/cloud/config/client/ConfigClientLiveTest.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.baeldung.spring.cloud.config.client; - -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; - -@RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = ConfigClient.class) -@WebAppConfiguration -public class ConfigClientLiveTest { - @Test - public void contextLoads() { - } -} diff --git a/spring-cloud-config/docker/Dockerfile.client b/spring-cloud-config/docker/Dockerfile.client index 5fbc0b98c0..0f9293bd22 100644 --- a/spring-cloud-config/docker/Dockerfile.client +++ b/spring-cloud-config/docker/Dockerfile.client @@ -1,6 +1,6 @@ FROM alpine-java:base MAINTAINER baeldung.com RUN apk --no-cache add netcat-openbsd -COPY files/config-client.jar /opt/spring-cloud/lib/ +COPY files/spring-cloud-config-client-1.0.0-SNAPSHOT.jar /opt/spring-cloud/lib/config-client.jar COPY files/config-client-entrypoint.sh /opt/spring-cloud/bin/ RUN chmod 755 /opt/spring-cloud/bin/config-client-entrypoint.sh diff --git a/spring-cloud-config/docker/Dockerfile.server b/spring-cloud-config/docker/Dockerfile.server index 4f7bd751e8..90d7e2a7cf 100644 --- a/spring-cloud-config/docker/Dockerfile.server +++ b/spring-cloud-config/docker/Dockerfile.server @@ -1,6 +1,6 @@ FROM alpine-java:base MAINTAINER baeldung.com -COPY files/config-server.jar /opt/spring-cloud/lib/ +COPY files/spring-cloud-config-server-1.0.0-SNAPSHOT.jar /opt/spring-cloud/lib/config-server.jar ENV SPRING_APPLICATION_JSON='{"spring": {"cloud": {"config": {"server": \ {"git": {"uri": "/var/lib/spring-cloud/config-repo", "clone-on-start": true}}}}}}' ENTRYPOINT ["/usr/bin/java"] diff --git a/spring-cloud-config/docker/files/.gitignore b/spring-cloud-config/docker/files/.gitignore new file mode 100644 index 0000000000..28ffcbffdb --- /dev/null +++ b/spring-cloud-config/docker/files/.gitignore @@ -0,0 +1,2 @@ +/UnlimitedJCEPolicyJDK8 +/*.jar diff --git a/spring-cloud-config/docker/config-client-entrypoint.sh b/spring-cloud-config/docker/files/config-client-entrypoint.sh similarity index 100% rename from spring-cloud-config/docker/config-client-entrypoint.sh rename to spring-cloud-config/docker/files/config-client-entrypoint.sh diff --git a/spring-cloud-config/pom.xml b/spring-cloud-config/pom.xml index 8e0e4b8706..3b1b59b037 100644 --- a/spring-cloud-config/pom.xml +++ b/spring-cloud-config/pom.xml @@ -5,38 +5,48 @@ com.baeldung.spring.cloud spring-cloud-config - 0.0.1-SNAPSHOT pom - server - client + spring-cloud-config-server + spring-cloud-config-client - org.springframework.boot - spring-boot-starter-parent - 1.3.5.RELEASE + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + .. + + + + org.springframework.boot + spring-boot-parent + 1.4.0.RELEASE + pom + import + + + org.springframework.cloud + spring-cloud-dependencies + Brixton.SR4 + pom + import + + + + - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - - **/*LiveTest.java - - - - - + + + + org.springframework.boot + spring-boot-maven-plugin + 1.4.0.RELEASE + + + - - - 1.3.5.RELEASE - 2.19.1 - diff --git a/spring-cloud-config/server/pom.xml b/spring-cloud-config/server/pom.xml deleted file mode 100644 index c3f68854bb..0000000000 --- a/spring-cloud-config/server/pom.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - 4.0.0 - - - com.baeldung.spring.cloud - spring-cloud-config - 0.0.1-SNAPSHOT - - server - - server - Demo project for Spring Cloud Config Server - - - UTF-8 - UTF-8 - 1.8 - - - - - org.springframework.cloud - spring-cloud-config-server - - - org.springframework.boot - spring-boot-starter-security - - - org.springframework.boot - spring-boot-starter-web - - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - - org.springframework.cloud - spring-cloud-dependencies - Brixton.BUILD-SNAPSHOT - pom - import - - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - true - - - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone - - false - - - - diff --git a/spring-cloud-config/server/src/test/java/com/baeldung/spring/cloud/config/server/ConfigServerListTest.java b/spring-cloud-config/server/src/test/java/com/baeldung/spring/cloud/config/server/ConfigServerListTest.java deleted file mode 100644 index 306c120e43..0000000000 --- a/spring-cloud-config/server/src/test/java/com/baeldung/spring/cloud/config/server/ConfigServerListTest.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.baeldung.spring.cloud.config.server; - -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; - -@RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = ConfigServer.class) -@WebAppConfiguration -@Ignore -public class ConfigServerListTest { - @Test - public void contextLoads() { - } -} diff --git a/spring-cloud-config/spring-cloud-config-client/pom.xml b/spring-cloud-config/spring-cloud-config-client/pom.xml new file mode 100644 index 0000000000..968489bce2 --- /dev/null +++ b/spring-cloud-config/spring-cloud-config-client/pom.xml @@ -0,0 +1,40 @@ + + + 4.0.0 + + + com.baeldung.spring.cloud + spring-cloud-config + 1.0.0-SNAPSHOT + + spring-cloud-config-client + jar + + spring-cloud-config-client + + + + org.springframework.cloud + spring-cloud-starter-config + 1.1.3.RELEASE + + + org.springframework.boot + spring-boot-starter-web + 1.4.0.RELEASE + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + ../docker/files + + + + + diff --git a/spring-cloud-config/client/src/main/java/com/baeldung/spring/cloud/config/client/ConfigClient.java b/spring-cloud-config/spring-cloud-config-client/src/main/java/com/baeldung/spring/cloud/config/client/ConfigClient.java similarity index 100% rename from spring-cloud-config/client/src/main/java/com/baeldung/spring/cloud/config/client/ConfigClient.java rename to spring-cloud-config/spring-cloud-config-client/src/main/java/com/baeldung/spring/cloud/config/client/ConfigClient.java diff --git a/spring-cloud-config/client/src/main/resources/bootstrap.properties b/spring-cloud-config/spring-cloud-config-client/src/main/resources/bootstrap.properties similarity index 72% rename from spring-cloud-config/client/src/main/resources/bootstrap.properties rename to spring-cloud-config/spring-cloud-config-client/src/main/resources/bootstrap.properties index 18982a93b5..6c350bffcd 100644 --- a/spring-cloud-config/client/src/main/resources/bootstrap.properties +++ b/spring-cloud-config/spring-cloud-config-client/src/main/resources/bootstrap.properties @@ -1,5 +1,5 @@ spring.application.name=config-client spring.profiles.active=development -spring.cloud.config.uri=http://localhost:8888 +spring.cloud.config.uri=http://localhost:${PORT:8888} spring.cloud.config.username=root spring.cloud.config.password=s3cr3t diff --git a/spring-cloud-config/spring-cloud-config-server/pom.xml b/spring-cloud-config/spring-cloud-config-server/pom.xml new file mode 100644 index 0000000000..f2b8b69a6a --- /dev/null +++ b/spring-cloud-config/spring-cloud-config-server/pom.xml @@ -0,0 +1,44 @@ + + + 4.0.0 + + + com.baeldung.spring.cloud + spring-cloud-config + 1.0.0-SNAPSHOT + + spring-cloud-config-server + + spring-cloud-config-server + + + + org.springframework.cloud + spring-cloud-config-server + 1.1.3.RELEASE + + + org.springframework.boot + spring-boot-starter-security + 1.4.0.RELEASE + + + org.springframework.boot + spring-boot-starter-web + 1.4.0.RELEASE + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + ../docker/files + + + + + diff --git a/spring-cloud-config/server/src/main/java/com/baeldung/spring/cloud/config/server/ConfigServer.java b/spring-cloud-config/spring-cloud-config-server/src/main/java/com/baeldung/spring/cloud/config/server/ConfigServer.java similarity index 100% rename from spring-cloud-config/server/src/main/java/com/baeldung/spring/cloud/config/server/ConfigServer.java rename to spring-cloud-config/spring-cloud-config-server/src/main/java/com/baeldung/spring/cloud/config/server/ConfigServer.java diff --git a/spring-cloud-config/server/src/main/resources/application.properties b/spring-cloud-config/spring-cloud-config-server/src/main/resources/application.properties similarity index 68% rename from spring-cloud-config/server/src/main/resources/application.properties rename to spring-cloud-config/spring-cloud-config-server/src/main/resources/application.properties index 2131f3b249..c4f57f0a82 100644 --- a/spring-cloud-config/server/src/main/resources/application.properties +++ b/spring-cloud-config/spring-cloud-config-server/src/main/resources/application.properties @@ -1,6 +1,7 @@ -server.port=8888 -spring.cloud.config.server.git.uri=https://github.com/eugenp/tutorials/tree/master/spring-cloud-config/client-config +server.port=${PORT:8888} +spring.cloud.config.server.git.uri=${CONFIG_REPO} spring.cloud.config.server.git.clone-on-start=false +spring.cloud.config.fail-fast=true security.user.name=root security.user.password=s3cr3t encrypt.key-store.location=classpath:/config-server.jks diff --git a/spring-cloud-config/server/src/main/resources/config-server.jks b/spring-cloud-config/spring-cloud-config-server/src/main/resources/config-server.jks similarity index 100% rename from spring-cloud-config/server/src/main/resources/config-server.jks rename to spring-cloud-config/spring-cloud-config-server/src/main/resources/config-server.jks