diff --git a/netflix-sidecar/pom.xml b/netflix-sidecar/pom.xml new file mode 100644 index 0000000..abba3d9 --- /dev/null +++ b/netflix-sidecar/pom.xml @@ -0,0 +1,76 @@ + + + 4.0.0 + + org.springframework.cloud + spring-cloud-sample-netflix-sidecar + 1.0.0.BUILD-SNAPSHOT + jar + + spring-cloud-sample-netflix-sidecar + Demo project for Spring Cloud + + + org.springframework.boot + spring-boot-starter-parent + 1.2.1.RELEASE + + + + + UTF-8 + demo.DemoApplication + 1.7 + + + + + + org.springframework.cloud + spring-cloud-starter-parent + 1.0.0.BUILD-SNAPSHOT + pom + import + + + + + + + org.springframework.cloud + spring-cloud-starter-zuul + + + org.springframework.cloud + spring-cloud-starter-eureka + + + org.springframework.cloud + spring-cloud-netflix-sidecar + 1.0.0.BUILD-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + maven-deploy-plugin + + true + + + + + + diff --git a/netflix-sidecar/run-server.sh b/netflix-sidecar/run-server.sh new file mode 100755 index 0000000..8bacc04 --- /dev/null +++ b/netflix-sidecar/run-server.sh @@ -0,0 +1 @@ +python -m SimpleHTTPServer diff --git a/netflix-sidecar/src/main/java/demo/SidecarApplication.java b/netflix-sidecar/src/main/java/demo/SidecarApplication.java new file mode 100644 index 0000000..050fb95 --- /dev/null +++ b/netflix-sidecar/src/main/java/demo/SidecarApplication.java @@ -0,0 +1,14 @@ +package demo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.netflix.sidecar.EnableSidecar; + +@SpringBootApplication +@EnableSidecar +public class SidecarApplication { + + public static void main(String[] args) { + SpringApplication.run(SidecarApplication.class, args); + } +} diff --git a/netflix-sidecar/src/main/resources/application.yml b/netflix-sidecar/src/main/resources/application.yml new file mode 100644 index 0000000..ffa6d4c --- /dev/null +++ b/netflix-sidecar/src/main/resources/application.yml @@ -0,0 +1,19 @@ +debug: +spring: + application: + name: testNetflixSidecar +server: + port: 8001 +sidecar: + port: 8000 + health-uri: http://localhost:8000/src/main/resources/health.json + +eureka: + password: password + client: + serviceUrl: + defaultZone: http://user:${eureka.password}@localhost:8761/eureka/ + instance: + leaseRenewalIntervalInSeconds: 10 + metadataMap: + instanceId: ${vcap.application.instance_id:${spring.application.name}:${spring.application.instance_id:${server.port}}} \ No newline at end of file diff --git a/netflix-sidecar/src/main/resources/health.json b/netflix-sidecar/src/main/resources/health.json new file mode 100644 index 0000000..41f3615 --- /dev/null +++ b/netflix-sidecar/src/main/resources/health.json @@ -0,0 +1 @@ +{"status":"UP"} \ No newline at end of file diff --git a/netflix-sidecar/src/test/java/demo/SidecarApplicationTests.java b/netflix-sidecar/src/test/java/demo/SidecarApplicationTests.java new file mode 100644 index 0000000..823e4bf --- /dev/null +++ b/netflix-sidecar/src/test/java/demo/SidecarApplicationTests.java @@ -0,0 +1,34 @@ +package demo; + +import com.netflix.appinfo.EurekaInstanceConfig; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.cloud.netflix.eureka.EurekaDiscoveryClient; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.web.WebAppConfiguration; + +import static org.junit.Assert.*; + +@RunWith(SpringJUnit4ClassRunner.class) +@SpringApplicationConfiguration(classes = SidecarApplication.class) +@WebAppConfiguration +@DirtiesContext +public class SidecarApplicationTests { + + @Autowired + EurekaInstanceConfig instanceConfig; + + @Test + public void contextLoads() { + } + + @Test + public void instanceConfigHasCorrectPort() { + assertEquals("eureka instance config has wrong port", 8000, instanceConfig.getNonSecurePort()); + } + +} diff --git a/pom.xml b/pom.xml index 7c8d37f..48ab8d0 100644 --- a/pom.xml +++ b/pom.xml @@ -21,6 +21,7 @@ feign feign-eureka eureka-noweb + netflix-sidecar noweb hystrix turbine diff --git a/turbine/src/main/resources/application.properties b/turbine/src/main/resources/application.properties index 17a5ba6..6449849 100644 --- a/turbine/src/main/resources/application.properties +++ b/turbine/src/main/resources/application.properties @@ -1,4 +1,4 @@ server.port: 8989 spring.application.name: turbine turbine.appConfig: simple -turbine.clusterNameExpression: 'default' \ No newline at end of file +turbine.aggregator.clusterConfig: SIMPLE