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