---
# The name of your project
title: Spring Cloud CLI

badges:

  # Specify your project's twitter handle, if any. Delete if none.
  # twitter: SpringData

  # Customize your project's badges. Delete any entries that do not apply.
  custom:
    - name: Source (GitHub)
      url:  https://github.com/spring-cloud/spring-cloud-cli
      icon: github

    - name: StackOverflow
      url:  http://stackoverflow.com/questions/tagged/spring-cloud
      icon: stackoverflow

---
<!DOCTYPE HTML>
<html lang="en-US">

<!-- Specify the parent of this project (or delete if none) to influence the rendering of the breadcrumb -->
{% capture parent_link %}
[Spring Parent]({{ site.projects_site_url }}/spring-cloud)
{% endcapture %}


{% capture billboard_description %}

Spring Cloud CLI is a set of extensions for the [Spring Boot
CLI](http://docs.spring.io/spring-boot) making it possible to run
Spring Cloud server apps and write Spring Cloud apps in Groovy scripts
and run them from a shell. Auto-imports and dependency management is
provided for all Spring Cloud projects.

{% endcapture %}

{% capture main_content %}

<span id="quick-start"></span>

## Quick Start

To install the CLI, make
sure you have
[Spring Boot CLI](https://github.com/spring-projects/spring-boot)
(1.4.4 or better):

    $ spring version
    Spring CLI v1.5.3.RELEASE

E.g. for SDKMan users

```
$ sdk install springboot 1.5.3.RELEASE
$ sdk use springboot 1.5.3.RELEASE
```

and install the Spring Cloud plugin:

```
$ spring install org.springframework.cloud:spring-cloud-cli:1.3.1.RELEASE
```

### Launch a Server

To run a config server:

```
$ spring cloud configserver
```

You can also run eureka, zipkin, hystrixdashboard, h2, kafka or
dataflow (multiple apps can be run if separated by spaces on the
command line).

### Write a Groovy Script and Run It

Any Spring Boot CLI app with the Cloud CLI extensions installed will
be a Spring Cloud Config Client, so set the `spring.cloud.config.uri`
to point to a Config Server and you are in business (defaults to
"http://localhost:8888").

Here's a complete Eureka Server:

```groovy
@EnableEurekaServer
@RestController
class Eureka {}
```

### Encrypt and Decrypt

Example (symmetric key):

```
$ spring encrypt --key=secret foo
```

IMPORTANT: **Prerequisites:** to use the encryption and decryption features
you need the full-strength JCE installed in your JVM (it's not there by default).
You can download the "Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files"
from Oracle, and follow instructions for installation (essentially replace the 2 policy files
in the JRE lib/security directory with the ones that you downloaded).

{% endcapture %}

{% capture related_resources %}

### Sample Projects

* [Minimal (Groovy) Client](https://github.com/spring-cloud-samples/scripts/blob/master/demo/client.groovy)

{% endcapture %}


{% include project_page.html %}
</html>
