Files
spring-cloud-cli/spring-cloud-launcher/README.md
Spencer Gibb 1927a8a8f7 polish
2016-08-16 12:10:30 -06:00

80 lines
2.7 KiB
Markdown

## Spring Cloud Launcher
### Building
`./mvnw clean install` from parent directory
### Installing
Install Spring CLI first: https://github.com/spring-cloud/spring-cloud-cli/blob/master/docs/src/main/asciidoc/install.adoc
```
$ spring install org.springframework.cloud:spring-cloud-cli:1.2.0.BUILD-SNAPSHOT
```
### Running
```
$ spring cloud
```
Currently starts configserver, eureka, h2 (db server), hystrixdashboard and kafka. [Here](https://github.com/spring-cloud/spring-cloud-cli/blob/devtools/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/resources/cloud.yml) is the full configuration.
### Configuring
Spring Cloud Launcher use normal Spring Boot configuration mechanisms. The config name is `cloud`, so configuration can go in `cloud.yml` or `cloud.properties`.
For example, to run configserver and eureka, create a `cloud.yml` that looks like:
```
spring:
cloud:
launcher:
deployables:
- name: configserver
coordinates: maven://org.springframework.cloud.launcher:spring-cloud-launcher-configserver:1.1.0.BUILD-SNAPSHOT
port: 8888
waitUntilStarted: true
order: -10
- name: eureka
coordinates: maven://org.springframework.cloud.launcher:spring-cloud-launcher-eureka:1.1.0.BUILD-SNAPSHOT
port: 8761
```
The `name` attribute is required. If `waitUntilStarted` is true, Launcher will block until the application has reached the `deployed` state. Before commands are deployed, the list is sorted using Spring's `OrderComparator`. In the above case, `configserver` is deployed before any other app is deployed. Currently only `maven:` coordinates and standard Spring Resources (`file:`, etc...) are supported.
You can also select from the [predefined deployables](https://github.com/spring-cloud/spring-cloud-cli/blob/devtools/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/resources/cloud.yml). For example to run Spring Cloud Data Flow execute:
```
spring cloud eureka,configserver
```
### Config Server git uri
To run configserver with a git repo set the following in `./configserver.yml`:
```
spring:
profiles.active: git
cloud.config.server.git.uri: http://mygitserver/myrepo.git
```
### Stopping
`Ctrl-C` in the same terminal `spring cloud` was run.
### TODO
- [X] Eureka
- [X] Configserver
- [X] Hystrix Dashboard
- [X] Kafka Broker
- [X] Kafka Bus
- [X] Easy inclusion of default deployables
- [X] H2 Database
- [X] Spring Cloud Dataflow server
- [X] Launcher landing page (Eureka Dashboard works for now)
- [X] Sleuth/Zipkin
- [ ] Support external rabbit
- [ ] Speedup startup (parallel start?, retry for config server, db and kafka?)
- [ ] Cassandra Database
- [ ] Client Side Library
- [ ] Spring Boot Admin (Not compatible with Brixton)