Initial commit
This commit is contained in:
commit
8e9ac16dbf
18
apps/docker-compose.yaml
Normal file
18
apps/docker-compose.yaml
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
version: '3.3'
|
||||
|
||||
services:
|
||||
|
||||
hello-world:
|
||||
build:
|
||||
context: helloworld-api/
|
||||
environment:
|
||||
- spring_profiles_active=docker
|
||||
ports:
|
||||
- "8080:8080"
|
||||
networks:
|
||||
- base_default
|
||||
|
||||
networks:
|
||||
base_default:
|
||||
external: true
|
4
apps/helloworld-api/Dockerfile
Normal file
4
apps/helloworld-api/Dockerfile
Normal file
@ -0,0 +1,4 @@
|
||||
FROM openjdk:8-jdk-alpine
|
||||
ARG JAR_FILE=target/*.jar
|
||||
COPY ${JAR_FILE} app.jar
|
||||
ENTRYPOINT ["java","-jar","/app.jar"]
|
24
apps/helloworld-api/HELP.md
Normal file
24
apps/helloworld-api/HELP.md
Normal file
@ -0,0 +1,24 @@
|
||||
# Read Me First
|
||||
The following was discovered as part of building this project:
|
||||
|
||||
* The original package name 'com.example.helloworld-api' is invalid and this project uses 'com.example.helloworldapi' instead.
|
||||
|
||||
# Getting Started
|
||||
|
||||
### Reference Documentation
|
||||
For further reference, please consider the following sections:
|
||||
|
||||
* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html)
|
||||
* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.2.5.RELEASE/maven-plugin/)
|
||||
* [Spring Web](https://docs.spring.io/spring-boot/docs/2.2.5.RELEASE/reference/htmlsingle/#boot-features-developing-web-applications)
|
||||
* [Spring Boot Actuator](https://docs.spring.io/spring-boot/docs/2.2.5.RELEASE/reference/htmlsingle/#production-ready)
|
||||
* [Spring Boot Admin (Client)](https://codecentric.github.io/spring-boot-admin/current/#getting-started)
|
||||
|
||||
### Guides
|
||||
The following guides illustrate how to use some features concretely:
|
||||
|
||||
* [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/)
|
||||
* [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/)
|
||||
* [Building REST services with Spring](https://spring.io/guides/tutorials/bookmarks/)
|
||||
* [Building a RESTful Web Service with Spring Boot Actuator](https://spring.io/guides/gs/actuator-service/)
|
||||
|
86
apps/helloworld-api/pom.xml
Normal file
86
apps/helloworld-api/pom.xml
Normal file
@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.2.5.RELEASE</version>
|
||||
<relativePath/> <!-- lookup parent from repository -->
|
||||
</parent>
|
||||
<groupId>com.example</groupId>
|
||||
<artifactId>helloworld-api</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<name>helloworld-api</name>
|
||||
<description>Demo project for Spring Boot</description>
|
||||
|
||||
<properties>
|
||||
<java.version>1.8</java.version>
|
||||
<spring-boot-admin.version>2.2.1</spring-boot-admin.version>
|
||||
<spring-cloud.version>Hoxton.SR3</spring-cloud.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>de.codecentric</groupId>
|
||||
<artifactId>spring-boot-admin-starter-client</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-config</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.junit.vintage</groupId>
|
||||
<artifactId>junit-vintage-engine</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-dependencies</artifactId>
|
||||
<version>${spring-cloud.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>de.codecentric</groupId>
|
||||
<artifactId>spring-boot-admin-dependencies</artifactId>
|
||||
<version>${spring-boot-admin.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
@ -0,0 +1,23 @@
|
||||
package com.example.helloworldapi;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableEurekaClient
|
||||
@RestController
|
||||
public class HelloWorldApiApplication {
|
||||
|
||||
@RequestMapping("/")
|
||||
public String home() {
|
||||
return "Hello World";
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(HelloWorldApiApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1 @@
|
||||
spring.application.name = hello-world-api
|
@ -0,0 +1 @@
|
||||
spring.application.name = hello-world-api
|
@ -0,0 +1,4 @@
|
||||
spring:
|
||||
cloud:
|
||||
config:
|
||||
uri: http://config-server:8888
|
4
apps/helloworld-api/src/main/resources/bootstrap.yml
Normal file
4
apps/helloworld-api/src/main/resources/bootstrap.yml
Normal file
@ -0,0 +1,4 @@
|
||||
spring:
|
||||
cloud:
|
||||
config:
|
||||
uri: http://localhost:8888
|
@ -0,0 +1,13 @@
|
||||
package com.example.helloworldapi;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest
|
||||
class HelloWorldApiApplicationTests {
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
}
|
||||
|
||||
}
|
4
base/admin/Dockerfile
Normal file
4
base/admin/Dockerfile
Normal file
@ -0,0 +1,4 @@
|
||||
FROM openjdk:8-jdk-alpine
|
||||
ARG JAR_FILE=target/*.jar
|
||||
COPY ${JAR_FILE} app.jar
|
||||
ENTRYPOINT ["java","-jar","/app.jar"]
|
77
base/admin/pom.xml
Normal file
77
base/admin/pom.xml
Normal file
@ -0,0 +1,77 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.2.5.RELEASE</version>
|
||||
<relativePath/>
|
||||
</parent>
|
||||
<groupId>com.example</groupId>
|
||||
<artifactId>admin</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<name>admin</name>
|
||||
<description>Demo project for Spring Boot</description>
|
||||
<properties>
|
||||
<java.version>1.8</java.version>
|
||||
<spring-boot-admin.version>2.2.1</spring-boot-admin.version>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>de.codecentric</groupId>
|
||||
<artifactId>spring-boot-admin-starter-server</artifactId>
|
||||
<version>2.2.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.junit.vintage</groupId>
|
||||
<artifactId>junit-vintage-engine</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>de.codecentric</groupId>
|
||||
<artifactId>spring-boot-admin-dependencies</artifactId>
|
||||
<version>${spring-boot-admin.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-dependencies</artifactId>
|
||||
<version>Hoxton.SR3</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
@ -0,0 +1,15 @@
|
||||
package com.example.admin;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import de.codecentric.boot.admin.server.config.EnableAdminServer;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableAdminServer
|
||||
public class AdminServerApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(AdminServerApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
14
base/admin/src/main/resources/application-docker.properties
Normal file
14
base/admin/src/main/resources/application-docker.properties
Normal file
@ -0,0 +1,14 @@
|
||||
spring.application.name = admin-server
|
||||
server.port = 9090
|
||||
|
||||
# Eureka client config
|
||||
eureka.client.serviceUrl.defaultZone = http://eureka:8761/eureka
|
||||
# eureka.client.instance.preferIpAddress = true
|
||||
|
||||
# Admin client config
|
||||
spring.boot.admin.client.url=http://admin-server:9090
|
||||
|
||||
# Actuator
|
||||
management.security.enabled = false
|
||||
management.endpoints.web.exposure.include=*
|
||||
management.endpoint.health.show-details=always
|
14
base/admin/src/main/resources/application.properties
Normal file
14
base/admin/src/main/resources/application.properties
Normal file
@ -0,0 +1,14 @@
|
||||
spring.application.name = admin-server
|
||||
server.port = 9090
|
||||
|
||||
# Eureka client config
|
||||
eureka.client.serviceUrl.defaultZone = http://localhost:8761/eureka
|
||||
# eureka.client.instance.preferIpAddress = true
|
||||
|
||||
# Admin client config
|
||||
spring.boot.admin.client.url=http://localhost:9090
|
||||
|
||||
# Actuator
|
||||
management.security.enabled = false
|
||||
management.endpoints.web.exposure.include=*
|
||||
management.endpoint.health.show-details=always
|
4
base/admin/src/main/resources/bootstrap-docker.yml
Normal file
4
base/admin/src/main/resources/bootstrap-docker.yml
Normal file
@ -0,0 +1,4 @@
|
||||
spring:
|
||||
cloud:
|
||||
config:
|
||||
uri: http://config-server:8888
|
4
base/admin/src/main/resources/bootstrap.yml
Normal file
4
base/admin/src/main/resources/bootstrap.yml
Normal file
@ -0,0 +1,4 @@
|
||||
spring:
|
||||
cloud:
|
||||
config:
|
||||
uri: http://localhost:8888
|
@ -0,0 +1,13 @@
|
||||
package com.example.admin;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest
|
||||
class DemoApplicationTests {
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
}
|
||||
|
||||
}
|
4
base/config/Dockerfile
Normal file
4
base/config/Dockerfile
Normal file
@ -0,0 +1,4 @@
|
||||
FROM openjdk:8-jdk-alpine
|
||||
ARG JAR_FILE=target/*.jar
|
||||
COPY ${JAR_FILE} app.jar
|
||||
ENTRYPOINT ["java","-jar","/app.jar","--trace"]
|
72
base/config/pom.xml
Normal file
72
base/config/pom.xml
Normal file
@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.2.5.RELEASE</version>
|
||||
<relativePath/>
|
||||
</parent>
|
||||
<groupId>com.example</groupId>
|
||||
<artifactId>config</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<name>config</name>
|
||||
<description>Demo project for Spring Boot</description>
|
||||
<properties>
|
||||
<java.version>1.8</java.version>
|
||||
<spring-cloud.version>Hoxton.SR3</spring-cloud.version>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-config-server</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.junit.vintage</groupId>
|
||||
<artifactId>junit-vintage-engine</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-dependencies</artifactId>
|
||||
<version>${spring-cloud.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-dependencies</artifactId>
|
||||
<version>Hoxton.SR3</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
@ -0,0 +1,15 @@
|
||||
package com.example.config;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.config.server.EnableConfigServer;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableConfigServer
|
||||
public class ConfigServerApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(ConfigServerApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
29
base/config/src/main/resources/application-docker.properties
Normal file
29
base/config/src/main/resources/application-docker.properties
Normal file
@ -0,0 +1,29 @@
|
||||
|
||||
# Config server
|
||||
spring.application.name = config-server
|
||||
welcome.message = Welcome to Spring cloud config server
|
||||
server.port = 8888
|
||||
|
||||
# Config repository
|
||||
#spring.cloud.config.server.git.uri=${HOME}/Work/Dev/test-spring-boot/config
|
||||
#SPRING_PROFILES_ACTIVE=native
|
||||
#spring.cloud.config.server.native.searchLocations=file:///C:/configprop/
|
||||
spring.profiles.include = native
|
||||
spring.cloud.config.server.native.search-locations = classpath:config/common.yml, classpath:config/
|
||||
|
||||
# Eureka client config
|
||||
eureka.client.serviceUrl.defaultZone = http://eureka:8761/eureka
|
||||
# eureka.client.instance.preferIpAddress = true
|
||||
|
||||
# Admin client config
|
||||
spring.boot.admin.client.url=http://admin-server:9090
|
||||
|
||||
# Actuator
|
||||
management.security.enabled = false
|
||||
management.endpoints.web.exposure.include=*
|
||||
management.endpoint.health.show-details=always
|
||||
|
||||
logging:
|
||||
level:
|
||||
ROOT: INFO
|
||||
org.springframework: TRACE
|
23
base/config/src/main/resources/application.properties
Normal file
23
base/config/src/main/resources/application.properties
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
# Config server
|
||||
spring.application.name = config-server
|
||||
welcome.message = Welcome to Spring cloud config server
|
||||
server.port = 8888
|
||||
|
||||
# Config repository
|
||||
spring.profiles.include = native
|
||||
spring.cloud.config.server.native.search-locations = classpath:config/common.yml, classpath:config/
|
||||
#spring.cloud.config.server.git.uri=${HOME}/Work/Dev/test-spring-boot/config
|
||||
#spring.cloud.config.server.native.searchLocations=file:///C:/configprop/
|
||||
|
||||
# Eureka client config
|
||||
eureka.client.serviceUrl.defaultZone = http://localhost:8761/eureka
|
||||
# eureka.client.instance.preferIpAddress = true
|
||||
|
||||
# Admin client config
|
||||
spring.boot.admin.client.url=http://localhost:9090
|
||||
|
||||
# Actuator
|
||||
management.security.enabled = false
|
||||
management.endpoints.web.exposure.include=*
|
||||
management.endpoint.health.show-details=always
|
25
base/config/src/main/resources/config/common.yml
Normal file
25
base/config/src/main/resources/config/common.yml
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
|
||||
# Eureka client config
|
||||
eureka:
|
||||
client:
|
||||
serviceUrl:
|
||||
defaultZone: "http://eureka:8761/eureka"
|
||||
|
||||
# Admin client config
|
||||
spring:
|
||||
boot:
|
||||
admin:
|
||||
client:
|
||||
url: "http://admin-server:9090"
|
||||
|
||||
# Actuator
|
||||
management:
|
||||
security:
|
||||
enabled: false
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: "*"
|
||||
health:
|
||||
show-details: "always"
|
@ -0,0 +1,25 @@
|
||||
---
|
||||
|
||||
# Eureka client config
|
||||
eureka:
|
||||
client:
|
||||
serviceUrl:
|
||||
defaultZone: "http://eureka:8761/eureka"
|
||||
|
||||
# Admin client config
|
||||
spring:
|
||||
boot:
|
||||
admin:
|
||||
client:
|
||||
url: "http://admin-server:9090"
|
||||
|
||||
# Actuator
|
||||
management:
|
||||
security:
|
||||
enabled: false
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: "*"
|
||||
health:
|
||||
show-details: "always"
|
25
base/config/src/main/resources/config/hello-world-api.yaml
Normal file
25
base/config/src/main/resources/config/hello-world-api.yaml
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
|
||||
# Eureka client config
|
||||
eureka:
|
||||
client:
|
||||
serviceUrl:
|
||||
defaultZone: "http://localhost:8761/eureka"
|
||||
|
||||
# Admin client config
|
||||
spring:
|
||||
boot:
|
||||
admin:
|
||||
client:
|
||||
url: "http://localhost:9090"
|
||||
|
||||
# Actuator
|
||||
management:
|
||||
security:
|
||||
enabled: false
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: "*"
|
||||
health:
|
||||
show-details: "always"
|
@ -0,0 +1,13 @@
|
||||
package com.example.config;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest
|
||||
class DemoApplicationTests {
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
}
|
||||
|
||||
}
|
28
base/docker-compose.yaml
Normal file
28
base/docker-compose.yaml
Normal file
@ -0,0 +1,28 @@
|
||||
---
|
||||
version: '3.3'
|
||||
|
||||
services:
|
||||
|
||||
eureka:
|
||||
build:
|
||||
context: eureka/
|
||||
environment:
|
||||
- spring_profiles_active=docker
|
||||
ports:
|
||||
- "8761:8761"
|
||||
|
||||
admin-server:
|
||||
build:
|
||||
context: admin/
|
||||
environment:
|
||||
- spring_profiles_active=docker
|
||||
ports:
|
||||
- "9090:9090"
|
||||
|
||||
config-server:
|
||||
build:
|
||||
context: config/
|
||||
environment:
|
||||
- spring_profiles_active=docker
|
||||
ports:
|
||||
- "8888:8888"
|
4
base/eureka/Dockerfile
Normal file
4
base/eureka/Dockerfile
Normal file
@ -0,0 +1,4 @@
|
||||
FROM openjdk:8-jdk-alpine
|
||||
ARG JAR_FILE=target/*.jar
|
||||
COPY ${JAR_FILE} app.jar
|
||||
ENTRYPOINT ["java","-jar","/app.jar"]
|
15
base/eureka/HELP.md
Normal file
15
base/eureka/HELP.md
Normal file
@ -0,0 +1,15 @@
|
||||
# Getting Started
|
||||
|
||||
### Reference Documentation
|
||||
For further reference, please consider the following sections:
|
||||
|
||||
* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html)
|
||||
* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.2.5.RELEASE/maven-plugin/)
|
||||
* [Spring Boot Actuator](https://docs.spring.io/spring-boot/docs/2.2.5.RELEASE/reference/htmlsingle/#production-ready)
|
||||
|
||||
### Guides
|
||||
The following guides illustrate how to use some features concretely:
|
||||
|
||||
* [Service Registration and Discovery](https://spring.io/guides/gs/service-registration-and-discovery/)
|
||||
* [Building a RESTful Web Service with Spring Boot Actuator](https://spring.io/guides/gs/actuator-service/)
|
||||
|
66
base/eureka/pom.xml
Normal file
66
base/eureka/pom.xml
Normal file
@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.2.5.RELEASE</version>
|
||||
<relativePath/> <!-- lookup parent from repository -->
|
||||
</parent>
|
||||
<groupId>com.example</groupId>
|
||||
<artifactId>eureka</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<name>eureka</name>
|
||||
<description>Demo project for Spring Boot</description>
|
||||
|
||||
<properties>
|
||||
<java.version>1.8</java.version>
|
||||
<spring-cloud.version>Hoxton.SR3</spring-cloud.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.junit.vintage</groupId>
|
||||
<artifactId>junit-vintage-engine</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-dependencies</artifactId>
|
||||
<version>${spring-cloud.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
@ -0,0 +1,15 @@
|
||||
package com.example.eureka;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableEurekaServer
|
||||
public class EurekaApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(EurekaApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
eureka.client.registerWithEureka = false
|
||||
eureka.client.fetchRegistry = false
|
||||
server.port = 8761
|
3
base/eureka/src/main/resources/application.properties
Normal file
3
base/eureka/src/main/resources/application.properties
Normal file
@ -0,0 +1,3 @@
|
||||
eureka.client.registerWithEureka = false
|
||||
eureka.client.fetchRegistry = false
|
||||
server.port = 8761
|
@ -0,0 +1,13 @@
|
||||
package com.example.eureka;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest
|
||||
class EurekaApplicationTests {
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
}
|
||||
|
||||
}
|
24
base/kubernetes/deployment-eureka.yaml
Normal file
24
base/kubernetes/deployment-eureka.yaml
Normal file
@ -0,0 +1,24 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
labels:
|
||||
app: eureka
|
||||
name: eureka
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: eureka
|
||||
strategy: {}
|
||||
template:
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
labels:
|
||||
app: eureka
|
||||
spec:
|
||||
containers:
|
||||
- image: 10.202.117.54:5000/demo_eureka
|
||||
name: eureka
|
||||
resources: {}
|
||||
status: {}
|
14
base/pom.xml
Normal file
14
base/pom.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.example</groupId>
|
||||
<artifactId>base</artifactId>
|
||||
<name>test-spring-boot</name>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
<modules>
|
||||
<module>eureka</module>
|
||||
<module>admin</module>
|
||||
<module>config</module>
|
||||
</modules>
|
||||
</project>
|
20
start.bash
Executable file
20
start.bash
Executable file
@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
SESSION_NAME=springboot
|
||||
|
||||
BASEDIR="$HOME/Work/Dev/test-spring-boot"
|
||||
VERSION="0.0.1-SNAPSHOT"
|
||||
DEBUG="--debug"
|
||||
|
||||
# Create tmux session
|
||||
tmux new-session -s "${SESSION_NAME}" -d
|
||||
|
||||
# Start spring infra (eureka, admin-server, config-server)
|
||||
tmux new-window -t "${SESSION_NAME}" -n "eureka" -c "${BASEDIR}/base" "java -jar eureka/target/eureka-${VERSION}.jar $DEBUG"
|
||||
tmux new-window -t "${SESSION_NAME}" -n "config-server" -c "${BASEDIR}/base" "java -jar config/target/config-${VERSION}.jar $DEBUG"
|
||||
tmux new-window -t "${SESSION_NAME}" -n "admin-server" -c "${BASEDIR}/base" "java -jar admin/target/admin-${VERSION}.jar $DEBUG"
|
||||
|
||||
sleep 30
|
||||
|
||||
# Start applications
|
||||
tmux new-window -t "${SESSION_NAME}" -n "helloworld" -c "${BASEDIR}/apps" "java -jar helloworld-api/target/helloworld-api-${VERSION}.jar $DEBUG"
|
Loading…
x
Reference in New Issue
Block a user