Files
spring-cloud-cli/spring-cloud-launcher
Dave Syer 1a28da5d83 Load application properties from <name>.yml
(also try config/<name>.yml). In this way user can easily launch config
server with custom uri, h2 with custom tcp endpoints, etc. The local
app deployer puts these properties in sys env vars (a bit yuck), but
that's not in our control here.
2016-08-15 15:34:52 +01:00
..
2016-07-08 09:44:08 +01:00
2016-08-11 16:17:31 -06:00

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 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. For example to run Spring Cloud Data Flow execute:

spring cloud eureka,configserver

Config Server git uri

To run configserver with a git repo use the --git-uri option. For example:

spring cloud --git-uri=http://mygitserver/myrepo.git configserver

Stopping

Ctrl-C in the same terminal spring cloud was run.

TODO

  • Eureka
  • Configserver
  • Hystrix Dashboard
  • Kafka Broker
  • Kafka Bus
  • Easy inclusion of default deployables
  • H2 Database
  • Spring Cloud Dataflow server
  • Launcher landing page (Eureka Dashboard works for now)
  • 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)