The index provides the entry point into Spring Cloud Skipper’s REST API.
You can use a GET
request to access the index.
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 1366 { "_links" : { "releases" : { "href" : "http://localhost:7577/api/releases{?page,size,sort}", "templated" : true }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata{?page,size,sort,projection}", "templated" : true }, "jpaRepositoryGuards" : { "href" : "http://localhost:7577/api/jpaRepositoryGuards" }, "deployers" : { "href" : "http://localhost:7577/api/deployers{?page,size,sort}", "templated" : true }, "repositories" : { "href" : "http://localhost:7577/api/repositories{?page,size,sort}", "templated" : true }, "jpaRepositoryTransitions" : { "href" : "http://localhost:7577/api/jpaRepositoryTransitions" }, "jpaRepositoryStates" : { "href" : "http://localhost:7577/api/jpaRepositoryStates" }, "jpaRepositoryStateMachines" : { "href" : "http://localhost:7577/api/jpaRepositoryStateMachines" }, "jpaRepositoryActions" : { "href" : "http://localhost:7577/api/jpaRepositoryActions" }, "about" : { "href" : "http://localhost:7577/api/about" }, "release" : { "href" : "http://localhost:7577/api/release" }, "package" : { "href" : "http://localhost:7577/api/package" }, "profile" : { "href" : "http://localhost:7577/api/profile" } } }
The links are the main element of the index, as they allow you to traverse the API and execute the desired functionality. The following table dsecribes the links:
Relation | Description |
---|---|
| Exposes the 'package repository' repository. |
| Exposes the deployer repository. |
| Exposes the package metadata repository. |
| Exposes the release repository. |
| Entrypoint to provide ALPS metadata that defines simple descriptions of application-level semantics. |
| Provides meta information about the server. |
| Exposes the release resource. |
| Exposes the package resource. |
The Server resource exposes build and version information of the server.
A GET
request returns meta information for Spring Cloud Skipper, including the following:
spring-cloud-skipper-server
1.0.3.RELEASE
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Content-Length: 260 { "versionInfo" : { "server" : { "name" : "Spring Cloud Skipper Server", "version" : "fake-server-version" }, "shell" : { "name" : "Spring Cloud Skipper Shell", "version" : "fake-shell-version" } }, "links" : [ ] }
Path | Type | Description |
---|---|---|
|
| Spring Cloud Skipper Server dependency. |
|
| Spring Cloud Skipper Server dependency version. |
|
| Spring Cloud Skipper Shell dependency. |
|
| Spring Cloud Skipper Shell dependency version. |
|
| Links. |
The Platforms (or Platform Deployer) resource is exported from the Spring Data Repository DeployerRepository
and exposed by Spring Data REST.
A GET
request returns a paginated list for all the Spring Cloud Skipper platform deployers.
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 1007 { "_embedded" : { "deployers" : [ { "name" : "default", "type" : "local", "description" : "ShutdownTimeout = [30], EnvVarsToInherit = [TMP,LANG,LANGUAGE,LC_.*,PATH,SPRING_APPLICATION_JSON], JavaCmd = [/opt/jdk1.8.0_144/jre/bin/java], WorkingDirectoriesRoot = [/tmp], DeleteFilesOnExit = [true]", "_links" : { "self" : { "href" : "http://localhost:7577/api/deployers/88ee0425-3335-4aaa-9126-5b921a050140" }, "deployer" : { "href" : "http://localhost:7577/api/deployers/88ee0425-3335-4aaa-9126-5b921a050140" } } } ] }, "_links" : { "self" : { "href" : "http://localhost:7577/api/deployers{&sort}", "templated" : true }, "profile" : { "href" : "http://localhost:7577/api/profile/deployers" }, "search" : { "href" : "http://localhost:7577/api/deployers/search" } }, "page" : { "size" : 10, "totalElements" : 1, "totalPages" : 1, "number" : 0 } }
Path | Type | Description |
---|---|---|
|
| Pagination properties |
|
| The size of the page being returned |
|
| Total elements available for pagination |
|
| Total amount of pages |
|
| Page number of the page returned (zero-based) |
|
| Array containing Deployer objects |
|
| Name of the deployer |
|
| Type of the deployer (e.g. 'local') |
|
| Description providing some deployer properties |
The Packages resource is exported from the Spring Data Repository PackageMetadata
and exposed by Spring Data REST.
A GET
request will return a paginated list for all Spring Cloud Skipper package metadata.
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 11189 { "_embedded" : { "packageMetadata" : [ { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "1.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RC1", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/1" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/1{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/1" } } }, { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "1.1.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/2" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/2{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/2" } } }, { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "2.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/3" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/3{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/3" } } }, { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "time", "displayName" : null, "version" : "2.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/time/tree/v1.2.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "time, source", "maintainer" : "https://github.com/sobychacko", "description" : "The time source periodically emits a timestamp string.", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/4" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/4{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/4" } } }, { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "ticktock", "displayName" : null, "version" : "1.0.0", "packageSourceUrl" : "https://example.com/dataflow/ticktock", "packageHomeUrl" : "http://example.com/dataflow/ticktock", "tags" : "stream, time, log", "maintainer" : "https://github.com/markpollack", "description" : "The ticktock stream sends a time stamp and logs the value.", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/5" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/5{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/5" } } }, { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log-docker", "displayName" : null, "version" : "1.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.1.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "Docker version of the log sink application", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/6" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/6{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/6" } } }, { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log-docker", "displayName" : null, "version" : "2.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "Docker version of the log sink application", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/7" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/7{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/7" } } }, { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "helloworld-docker", "displayName" : null, "version" : "1.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.1.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "helloworld", "maintainer" : "https://github.com/markpollack", "description" : "The hello world app says hello.", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/8" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/8{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/8" } } }, { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "testapp", "displayName" : null, "version" : "1.0.0", "packageSourceUrl" : "https://github.com/spring-cloud/spring-cloud-deployer", "packageHomeUrl" : "https://cloud.spring.io/spring-cloud-dataflow/", "tags" : "logging, sink", "maintainer" : "https://github.com/jvalkeal", "description" : "The testapp up starts and conditionally fails.", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/9" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/9{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/9" } } }, { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "testapp", "displayName" : null, "version" : "1.1.0", "packageSourceUrl" : "https://github.com/spring-cloud/spring-cloud-deployer", "packageHomeUrl" : "https://cloud.spring.io/spring-cloud-dataflow/", "tags" : "logging, sink", "maintainer" : "https://github.com/jvalkeal", "description" : "The testapp up starts and conditionally fails.", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/10" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/10{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/10" } } } ] }, "_links" : { "first" : { "href" : "http://localhost:7577/api/packageMetadata?page=0&size=10" }, "self" : { "href" : "http://localhost:7577/api/packageMetadata{&sort,projection}", "templated" : true }, "next" : { "href" : "http://localhost:7577/api/packageMetadata?page=1&size=10" }, "last" : { "href" : "http://localhost:7577/api/packageMetadata?page=1&size=10" }, "profile" : { "href" : "http://localhost:7577/api/profile/packageMetadata" }, "search" : { "href" : "http://localhost:7577/api/packageMetadata/search" } }, "page" : { "size" : 10, "totalElements" : 11, "totalPages" : 2, "number" : 0 } }
Path | Type | Description |
---|---|---|
|
| Pagination properties |
|
| The size of the page being returned |
|
| Total elements available for pagination |
|
| Total amount of pages |
|
| Page number of the page returned (zero-based) |
|
| Contains a collection of Package Metadata items |
|
| The Package Index spec version this file is based on |
|
| Indicates the origin of the repository (free form text) |
|
| The repository ID this Package belongs to |
|
| The repository name this Package belongs to. |
|
| What type of package system is being used |
|
| The name of the package |
|
| Display name of the release |
|
| The version of the package |
|
| Location to source code for this package |
|
| The home page of the package |
|
| A comma separated list of tags to use for searching |
|
| Who is maintaining this package |
|
| Brief description of the package |
|
| Hash of package binary that will be downloaded using SHA256 hash algorithm |
|
| Url location of a icon |
A GET
request returns the list of available package metadata with the summary information of each package.
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 6929 { "_embedded" : { "packageMetadata" : [ { "version" : "1.0.0", "description" : "The log sink uses the application logger to output the data for inspection.", "repositoryName" : "test", "iconUrl" : null, "name" : "log", "id" : "1", "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/1" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/1{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/1" } } }, { "version" : "1.1.0", "description" : "The log sink uses the application logger to output the data for inspection.", "repositoryName" : "test", "iconUrl" : null, "name" : "log", "id" : "2", "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/2" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/2{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/2" } } }, { "version" : "2.0.0", "description" : "The log sink uses the application logger to output the data for inspection.", "repositoryName" : "test", "iconUrl" : null, "name" : "log", "id" : "3", "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/3" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/3{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/3" } } }, { "version" : "2.0.0", "description" : "The time source periodically emits a timestamp string.", "repositoryName" : "test", "iconUrl" : null, "name" : "time", "id" : "4", "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/4" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/4{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/4" } } }, { "version" : "1.0.0", "description" : "The ticktock stream sends a time stamp and logs the value.", "repositoryName" : "test", "iconUrl" : null, "name" : "ticktock", "id" : "5", "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/5" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/5{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/5" } } }, { "version" : "1.0.0", "description" : "Docker version of the log sink application", "repositoryName" : "test", "iconUrl" : null, "name" : "log-docker", "id" : "6", "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/6" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/6{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/6" } } }, { "version" : "2.0.0", "description" : "Docker version of the log sink application", "repositoryName" : "test", "iconUrl" : null, "name" : "log-docker", "id" : "7", "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/7" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/7{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/7" } } }, { "version" : "1.0.0", "description" : "The hello world app says hello.", "repositoryName" : "test", "iconUrl" : null, "name" : "helloworld-docker", "id" : "8", "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/8" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/8{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/8" } } }, { "version" : "1.0.0", "description" : "The testapp up starts and conditionally fails.", "repositoryName" : "test", "iconUrl" : null, "name" : "testapp", "id" : "9", "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/9" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/9{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/9" } } }, { "version" : "1.1.0", "description" : "The testapp up starts and conditionally fails.", "repositoryName" : "test", "iconUrl" : null, "name" : "testapp", "id" : "10", "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/10" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/10{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/10" } } }, { "version" : "1.2.0", "description" : "The testapp up starts and conditionally fails.", "repositoryName" : "test", "iconUrl" : null, "name" : "testapp", "id" : "11", "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/11" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/11{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/11" } } } ] }, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata{?page,size,sort,projection}", "templated" : true }, "profile" : { "href" : "http://localhost:7577/api/profile/packageMetadata" }, "search" : { "href" : "http://localhost:7577/api/packageMetadata/search" } }, "page" : { "size" : 20, "totalElements" : 11, "totalPages" : 1, "number" : 0 } }
Path | Type | Description |
---|---|---|
|
| Pagination properties |
|
| The size of the page being returned |
|
| Total elements available for pagination |
|
| Total amount of pages |
|
| Page number of the page returned (zero-based) |
|
| Identifier of the package metadata |
|
| Url location of a icon |
|
| The repository name this Package belongs to. |
|
| The version of the package |
|
| The name of the package |
|
| Brief description of the package |
|
| self link |
|
| link to full package metadata |
|
| link to install the package |
A GET
request returns the details of a package using the id
of the package.
HTTP/1.1 200 OK ETag: "1" Content-Type: application/hal+json;charset=UTF-8 Content-Length: 953 { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "1.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RC1", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/1" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/1{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/1" } } }
Path | Type | Description |
---|---|---|
|
| The Package Index spec version this file is based on |
|
| Indicates the origin of the repository (free form text) |
|
| The repository ID this Package belongs to. |
|
| The repository name this Package belongs to. |
|
| What type of package system is being used |
|
| The name of the package |
|
| The display name of the package |
|
| The version of the package |
|
| Location to source code for this package |
|
| The home page of the package |
|
| A comma separated list of tags to use for searching |
|
| Who is maintaining this package |
|
| Brief description of the package |
|
| Hash of package binary that will be downloaded using SHA256 hash algorithm |
|
| Url location of a icon |
A GET
request returns a list of all the Spring Cloud Skipper package metadata for the given package name.
getPackageMetadataSearchFindByName
GET /api/packageMetadata/search/findByName?name=log HTTP/1.1 Host: localhost:7577
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 3388 { "_embedded" : { "packageMetadata" : [ { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "1.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RC1", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/1" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/1{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/1" } } }, { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "1.1.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/2" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/2{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/2" } } }, { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "2.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/3" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/3{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/3" } } } ] }, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/search/findByName?name=log" } } }
Path | Type | Description |
---|---|---|
|
| The Package Index spec version this file is based on |
|
| Indicates the origin of the repository (free form text) |
|
| The repository ID this Package belongs to. |
|
| The repository name this Package belongs to. |
|
| What type of package system is being used |
|
| The name of the package |
|
| The display name of the package |
|
| The version of the package |
|
| Location to source code for this package |
|
| The home page of the package |
|
| A comma separated list of tags to use for searching |
|
| Who is maintaining this package |
|
| Brief description of the package |
|
| Hash of package binary that will be downloaded using SHA256 hash algorithm |
|
| Url location of a icon |
A GET
request returns a list for all Spring Cloud Skipper package metadata by the given package name ignoring case.
GET /api/packageMetadata/search/findByNameContainingIgnoreCase?name=LO HTTP/1.1 Host: localhost:7577
$ curl 'http://localhost:7577/api/packageMetadata/search/findByNameContainingIgnoreCase?name=LO' -i
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 6536 { "_embedded" : { "packageMetadata" : [ { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "1.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RC1", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/1" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/1{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/1" } } }, { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "1.1.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/2" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/2{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/2" } } }, { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "2.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/3" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/3{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/3" } } }, { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log-docker", "displayName" : null, "version" : "1.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.1.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "Docker version of the log sink application", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/6" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/6{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/6" } } }, { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log-docker", "displayName" : null, "version" : "2.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "Docker version of the log sink application", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/7" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/7{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/7" } } }, { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "helloworld-docker", "displayName" : null, "version" : "1.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.1.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "helloworld", "maintainer" : "https://github.com/markpollack", "description" : "The hello world app says hello.", "sha256" : null, "iconUrl" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/8" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata/8{?projection}", "templated" : true }, "install" : { "href" : "http://localhost:7577/api/package/install/8" } } } ] }, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata/search/findByNameContainingIgnoreCase?name=LO" } } }
Path | Type | Description |
---|---|---|
|
| The Package Index spec version this file is based on |
|
| Indicates the origin of the repository (free form text) |
|
| The repository ID this Package belongs to. |
|
| The repository name this Package belongs to. |
|
| What type of package system is being used |
|
| The name of the package |
|
| The display name of the package |
|
| The version of the package |
|
| Location to source code for this package |
|
| The home page of the package |
|
| A comma separated list of tags to use for searching |
|
| Who is maintaining this package |
|
| Brief description of the package |
|
| Hash of package binary that will be downloaded using SHA256 hash algorithm |
|
| Url location of a icon |
The Package resource maps onto the PackageController for uploading and installing packages.
The upload
link uploads a package into a the local
database backed repository.
POST /api/package/upload HTTP/1.1 Content-Type: application/json;charset=UTF-8 Accept: application/json Host: localhost:7577 Content-Length: 2155 { "name" : "log", "repoName" : "local", "version" : "9.9.9", "extension" : "zip", "packageFileAsBytes" : "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" }
$ curl 'http://localhost:7577/api/package/upload' -i -X POST \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Accept: application/json' \ -d '{ "name" : "log", "repoName" : "local", "version" : "9.9.9", "extension" : "zip", "packageFileAsBytes" : "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" }'
HTTP/1.1 201 Created Content-Type: application/json;charset=UTF-8 Content-Length: 683 { "apiVersion" : "v1", "origin" : null, "repositoryId" : 2, "repositoryName" : "local", "kind" : "skipper", "name" : "log", "displayName" : null, "version" : "9.9.9", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null, "links" : [ { "rel" : "install", "href" : "http://localhost:7577/api/package/install" } ] }
Path | Type | Description |
---|---|---|
|
| The Package Index spec version this file is based on |
|
| Indicates the origin of the repository (free form text) |
|
| The repository ID this Package belongs to. |
|
| The repository nane this Package belongs to. |
|
| What type of package system is being used |
|
| The name of the package |
|
| The display name of the package |
|
| The version of the package |
|
| Location to source code for this package |
|
| The home page of the package |
|
| A comma separated list of tags to use for searching |
|
| Who is maintaining this package |
|
| Brief description of the package |
|
| Hash of package binary that will be downloaded using SHA256 hash algorithm |
|
| Url location of a icon |
The install
link can install a package (identified by the InstallRequest
) into the target platform.
POST /api/package/install HTTP/1.1 Content-Type: application/json;charset=UTF-8 Accept: application/json Host: localhost:7577 Content-Length: 223 { "packageIdentifier" : { "repositoryName" : "notused", "packageName" : "log", "packageVersion" : "1.0.0" }, "installProperties" : { "releaseName" : "myLogRelease", "platformName" : "default" } }
$ curl 'http://localhost:7577/api/package/install' -i -X POST \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Accept: application/json' \ -d '{ "packageIdentifier" : { "repositoryName" : "notused", "packageName" : "log", "packageVersion" : "1.0.0" }, "installProperties" : { "releaseName" : "myLogRelease", "platformName" : "default" } }'
HTTP/1.1 201 Created Content-Type: application/json;charset=UTF-8 Content-Length: 3117 { "name" : "myLogRelease", "version" : 1, "info" : { "status" : { "statusCode" : "DEPLOYED", "platformStatus" : "[{\"deploymentId\":\"myLogRelease.log-v1\",\"instances\":{\"myLogRelease.log-v1-0\":{\"instanceNumber\":0,\"baseUrl\":\"http://10.194.6.15:54551\",\"attributes\":{\"guid\":\"54551\",\"pid\":\"23750\",\"port\":\"54551\",\"stderr\":\"/tmp/spring-cloud-deployer-1251507991647105734/myLogRelease-1525385070143/myLogRelease.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-deployer-1251507991647105734/myLogRelease-1525385070143/myLogRelease.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.15:54551\",\"working.dir\":\"/tmp/spring-cloud-deployer-1251507991647105734/myLogRelease-1525385070143/myLogRelease.log-v1\"},\"process\":{\"outputStream\":{},\"errorStream\":{},\"alive\":true,\"inputStream\":{}},\"id\":\"myLogRelease.log-v1-0\",\"state\":\"deploying\"}},\"state\":\"deploying\"}]" }, "firstDeployed" : 1525385070133, "lastDeployed" : 1525385070133, "deleted" : null, "description" : "Install complete" }, "pkg" : { "metadata" : { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "1.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RC1", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null }, "templates" : [ { "name" : "log.yml", "data" : "apiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: {{version}}\n applicationProperties:\n {{#spec.applicationProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.applicationProperties.entrySet}}\n deploymentProperties:\n {{#spec.deploymentProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.deploymentProperties.entrySet}}\n" } ], "dependencies" : [ ], "configValues" : { "raw" : "# Default values for {{name}}\n# This is a YAML-formatted file.\n# Declare variables to be passed into your templates\nversion: 1.2.0.RC1\n" }, "fileHolders" : [ ] }, "configValues" : { "raw" : null }, "manifest" : { "data" : "\n---\n# Source: log.yml\napiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: 1.2.0.RC1\n applicationProperties:\n deploymentProperties:\n" }, "platformName" : "default", "links" : [ { "rel" : "status", "href" : "http://localhost:7577/api/release/status/{name}" } ] }
Path | Type | Description |
---|---|---|
|
| Name of the release |
|
| Version of the release |
|
| StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED) |
|
| Status from the underlying platform |
|
| Date/Time of first deployment |
|
| Date/Time of last deployment |
|
| Date/Time of when the release was deleted |
|
| Human-friendly 'log entry' about this release |
|
| Indicates the origin of the repository (free form text) |
|
| The Package Index spec version this file is based on |
|
| The repository ID this Package belongs to |
|
| The repository name this Package belongs to. |
|
| What type of package system is being used |
|
| The name of the package |
|
| Display name of the release |
|
| The version of the package |
|
| Location to source code for this package |
|
| The home page of the package |
|
| A comma separated list of tags to use for searching |
|
| Who is maintaining this package |
|
| Brief description of the package |
|
| Hash of package binary that will be downloaded using SHA256 hash algorithm |
|
| Url location of a icon |
|
| Name is the path-like name of the template |
|
| Data is the template as string data |
|
| The packages that this package depends upon |
|
| The raw YAML string of configuration values |
|
| Miscellaneous files in a package, e.g. README, LICENSE, etc. |
|
| The raw YAML string of configuration values |
|
| The manifest of the release |
|
| Platform name of the release |
The install
link can install a package identified by its ID into the target platform.
POST /api/package/install/2 HTTP/1.1 Content-Type: application/json;charset=UTF-8 Accept: application/json Host: localhost:7577 Content-Length: 87 { "releaseName" : "myLogReleaseWithInstallProperties", "platformName" : "default" }
$ curl 'http://localhost:7577/api/package/install/2' -i -X POST \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Accept: application/json' \ -d '{ "releaseName" : "myLogReleaseWithInstallProperties", "platformName" : "default" }'
HTTP/1.1 201 Created Content-Type: application/json;charset=UTF-8 Content-Length: 3329 { "name" : "myLogReleaseWithInstallProperties", "version" : 1, "info" : { "status" : { "statusCode" : "DEPLOYED", "platformStatus" : "[{\"deploymentId\":\"myLogReleaseWithInstallProperties.log-v1\",\"instances\":{\"myLogReleaseWithInstallProperties.log-v1-0\":{\"instanceNumber\":0,\"baseUrl\":\"http://10.194.6.15:13251\",\"attributes\":{\"guid\":\"13251\",\"pid\":\"23851\",\"port\":\"13251\",\"stderr\":\"/tmp/spring-cloud-deployer-1251507991647105734/myLogReleaseWithInstallProperties-1525385095413/myLogReleaseWithInstallProperties.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-deployer-1251507991647105734/myLogReleaseWithInstallProperties-1525385095413/myLogReleaseWithInstallProperties.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.15:13251\",\"working.dir\":\"/tmp/spring-cloud-deployer-1251507991647105734/myLogReleaseWithInstallProperties-1525385095413/myLogReleaseWithInstallProperties.log-v1\"},\"process\":{\"outputStream\":{},\"errorStream\":{},\"alive\":true,\"inputStream\":{}},\"id\":\"myLogReleaseWithInstallProperties.log-v1-0\",\"state\":\"deploying\"}},\"state\":\"deploying\"}]" }, "firstDeployed" : 1525385095391, "lastDeployed" : 1525385095391, "deleted" : null, "description" : "Install complete" }, "pkg" : { "metadata" : { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "1.1.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null }, "templates" : [ { "name" : "log.yml", "data" : "apiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: {{version}}\n applicationProperties:\n {{#spec.applicationProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.applicationProperties.entrySet}}\n deploymentProperties:\n {{#spec.deploymentProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.deploymentProperties.entrySet}}\n" } ], "dependencies" : [ ], "configValues" : { "raw" : "# Default values for {{name}}\n# This is a YAML-formatted file.\n# Declare variables to be passed into your templates\nversion: 1.3.0.M1\n" }, "fileHolders" : [ ] }, "configValues" : { "raw" : null }, "manifest" : { "data" : "\n---\n# Source: log.yml\napiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: 1.3.0.M1\n applicationProperties:\n deploymentProperties:\n" }, "platformName" : "default", "links" : [ { "rel" : "status", "href" : "http://localhost:7577/api/release/status/{name}" } ] }
Path | Type | Description |
---|---|---|
|
| Name of the release |
|
| Version of the release |
|
| StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED) |
|
| Status from the underlying platform |
|
| Date/Time of first deployment |
|
| Date/Time of last deployment |
|
| Date/Time of when the release was deleted |
|
| Human-friendly 'log entry' about this release |
|
| The Package Index spec version this file is based on |
|
| Indicates the origin of the repository (free form text) |
|
| The repository ID this Package belongs to |
|
| The repository name this Package belongs to. |
|
| What type of package system is being used |
|
| The name of the package |
|
| Display name of the release |
|
| The version of the package |
|
| Location to source code for this package |
|
| The home page of the package |
|
| A comma separated list of tags to use for searching |
|
| Who is maintaining this package |
|
| Brief description of the package |
|
| Hash of package binary that will be downloaded using SHA256 hash algorithm |
|
| Url location of a icon |
|
| Name is the path-like name of the template |
|
| Data is the template as string data |
|
| The packages that this package depends upon |
|
| The raw YAML string of configuration values |
|
| Miscellaneous files in a package, e.g. README, LICENSE, etc. |
|
| The raw YAML string of configuration values |
|
| The manifest of the release |
|
| Platform name of the release |
The Repositories resource is exported from the Spring Data Repository RepositoryRepository
(yes, it’s a funny name) and exposed by Spring Data REST.
A GET
request returns a paginated list for all Spring Cloud Skipper repositories.
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 1321 { "_embedded" : { "repositories" : [ { "name" : "test", "url" : "classpath:/repositories/binaries/test", "sourceUrl" : null, "local" : false, "description" : "test repository with a few packages", "repoOrder" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/repositories/1" }, "repository" : { "href" : "http://localhost:7577/api/repositories/1" } } }, { "name" : "local", "url" : "http://localhost:7577", "sourceUrl" : null, "local" : true, "description" : "Default local database backed repository", "repoOrder" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/repositories/2" }, "repository" : { "href" : "http://localhost:7577/api/repositories/2" } } } ] }, "_links" : { "self" : { "href" : "http://localhost:7577/api/repositories{&sort}", "templated" : true }, "profile" : { "href" : "http://localhost:7577/api/profile/repositories" }, "search" : { "href" : "http://localhost:7577/api/repositories/search" } }, "page" : { "size" : 10, "totalElements" : 2, "totalPages" : 1, "number" : 0 } }
Path | Type | Description |
---|---|---|
|
| Pagination properties |
|
| The size of the page being returned |
|
| Total elements available for pagination |
|
| Total amount of pages |
|
| Page number of the page returned (zero-based) |
|
| Contains a collection of Repositories |
|
| Name of the Repository |
|
| Url of the Repository |
|
| Source Url of the repository |
|
| Description of the Repository |
|
| Is the repo local? |
|
| Order of the Repository |
A GET
request returns a single Spring Cloud Skipper repositories.
HTTP/1.1 200 OK ETag: "0" Content-Type: application/hal+json;charset=UTF-8 Content-Length: 366 { "name" : "local", "url" : "http://localhost:7577", "sourceUrl" : null, "local" : true, "description" : "Default local database backed repository", "repoOrder" : null, "_links" : { "self" : { "href" : "http://localhost:7577/api/repositories/2" }, "repository" : { "href" : "http://localhost:7577/api/repositories/2" } } }
The release
resource is exported from the Spring Data Repository ReleaseRepository
and exposed by Spring Data REST.
A GET
request returns a paginated list for all Spring Cloud Skipper releases.
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 3879 { "_embedded" : { "releases" : [ { "name" : "myLogRelease", "version" : 1, "info" : { "status" : { "statusCode" : "DEPLOYED", "platformStatus" : "[{\"deploymentId\":\"myLogRelease.log-v1\",\"instances\":{\"myLogRelease.log-v1-0\":{\"instanceNumber\":0,\"baseUrl\":\"http://10.194.6.15:44583\",\"attributes\":{\"guid\":\"44583\",\"pid\":\"23182\",\"port\":\"44583\",\"stderr\":\"/tmp/spring-cloud-deployer-5298641828374813215/myLogRelease-1525384907433/myLogRelease.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-deployer-5298641828374813215/myLogRelease-1525384907433/myLogRelease.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.15:44583\",\"working.dir\":\"/tmp/spring-cloud-deployer-5298641828374813215/myLogRelease-1525384907433/myLogRelease.log-v1\"},\"process\":{\"outputStream\":{},\"errorStream\":{},\"alive\":true,\"inputStream\":{}},\"id\":\"myLogRelease.log-v1-0\",\"state\":\"deployed\"}},\"state\":\"deployed\"}]" }, "firstDeployed" : "2018-05-03T22:01:47.424+0000", "lastDeployed" : "2018-05-03T22:01:47.424+0000", "deleted" : null, "description" : "Install complete" }, "pkg" : { "metadata" : { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "1.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RC1", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null }, "templates" : [ { "name" : "log.yml", "data" : "apiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: {{version}}\n applicationProperties:\n {{#spec.applicationProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.applicationProperties.entrySet}}\n deploymentProperties:\n {{#spec.deploymentProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.deploymentProperties.entrySet}}\n" } ], "dependencies" : [ ], "configValues" : { "raw" : "# Default values for {{name}}\n# This is a YAML-formatted file.\n# Declare variables to be passed into your templates\nversion: 1.2.0.RC1\n" }, "fileHolders" : [ ] }, "configValues" : { "raw" : null }, "manifest" : { "data" : "\n---\n# Source: log.yml\napiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: 1.2.0.RC1\n applicationProperties:\n deploymentProperties:\n" }, "platformName" : "default", "_links" : { "self" : { "href" : "http://localhost:7577/api/releases/1" }, "release" : { "href" : "http://localhost:7577/api/releases/1" } } } ] }, "_links" : { "self" : { "href" : "http://localhost:7577/api/releases{&sort}", "templated" : true }, "profile" : { "href" : "http://localhost:7577/api/profile/releases" }, "search" : { "href" : "http://localhost:7577/api/releases/search" } }, "page" : { "size" : 10, "totalElements" : 1, "totalPages" : 1, "number" : 0 } }
Path | Type | Description |
---|---|---|
|
| Pagination properties |
|
| The size of the page being returned |
|
| Total elements available for pagination |
|
| Total amount of pages |
|
| Page number of the page returned (zero-based) |
|
| Name of the release |
|
| Version of the release |
|
| StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED) |
|
| Status from the underlying platform |
|
| Date/Time of first deployment |
|
| Date/Time of last deployment |
|
| Date/Time of when the release was deleted |
|
| Human-friendly 'log entry' about this release |
|
| Platform name of the release |
|
| The Package Index spec version this file is based on |
|
| Indicates the origin of the repository (free form text) |
|
| The repository ID this Package belongs to |
|
| The repository name this Package belongs to. |
|
| What type of package system is being used |
|
| The name of the package |
|
| Display name of the release |
|
| The version of the package |
|
| Location to source code for this package |
|
| The home page of the package |
|
| A comma separated list of tags to use for searching |
|
| Who is maintaining this package |
|
| Brief description of the package |
|
| Hash of package binary that will be downloaded using SHA256 hash algorithm |
|
| Url location of a icon |
|
| Name is the path-like name of the template |
|
| Data is the template as string data |
|
| The packages that this package depends upon |
|
| The raw YAML string of configuration values |
|
| Miscellaneous files in a package, e.g. README, LICENSE, etc. |
|
| The raw YAML string of configuration values |
|
| The manifest of the release |
|
| Platform name of the release |
The Release resource maps onto the ReleaseController for managing the lifecycle of a release.
The list
link can list the latest version of releases with status of deployed or failed.
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 3404 { "_embedded" : { "releases" : [ { "name" : "myLogRelease", "version" : 1, "info" : { "status" : { "statusCode" : "DEPLOYED", "platformStatus" : "[{\"deploymentId\":\"myLogRelease.log-v1\",\"instances\":{\"myLogRelease.log-v1-0\":{\"instanceNumber\":0,\"baseUrl\":\"http://10.194.6.15:44231\",\"attributes\":{\"guid\":\"44231\",\"pid\":\"23678\",\"port\":\"44231\",\"stderr\":\"/tmp/spring-cloud-deployer-2581995465932256215/myLogRelease-1525385052994/myLogRelease.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-deployer-2581995465932256215/myLogRelease-1525385052994/myLogRelease.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.15:44231\",\"working.dir\":\"/tmp/spring-cloud-deployer-2581995465932256215/myLogRelease-1525385052994/myLogRelease.log-v1\"},\"process\":{\"outputStream\":{},\"errorStream\":{},\"alive\":true,\"inputStream\":{}},\"id\":\"myLogRelease.log-v1-0\",\"state\":\"deployed\"}},\"state\":\"deployed\"}]" }, "firstDeployed" : 1525385052983, "lastDeployed" : 1525385052983, "deleted" : null, "description" : "Install complete" }, "pkg" : { "metadata" : { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "1.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RC1", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null }, "templates" : [ { "name" : "log.yml", "data" : "apiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: {{version}}\n applicationProperties:\n {{#spec.applicationProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.applicationProperties.entrySet}}\n deploymentProperties:\n {{#spec.deploymentProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.deploymentProperties.entrySet}}\n" } ], "dependencies" : [ ], "configValues" : { "raw" : "# Default values for {{name}}\n# This is a YAML-formatted file.\n# Declare variables to be passed into your templates\nversion: 1.2.0.RC1\n" }, "fileHolders" : [ ] }, "configValues" : { "raw" : null }, "manifest" : { "data" : "\n---\n# Source: log.yml\napiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: 1.2.0.RC1\n applicationProperties:\n deploymentProperties:\n" }, "platformName" : "default", "_links" : { "status" : { "href" : "http://localhost:7577/api/release/status/{name}", "templated" : true } } } ] } }
Path | Type | Description |
---|---|---|
|
| Name of the release |
|
| Version of the release |
|
| StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED) |
|
| Status from the underlying platform |
|
| Date/Time of first deployment |
|
| Date/Time of last deployment |
|
| Date/Time of when the release was deleted |
|
| Human-friendly 'log entry' about this release |
|
| The Package Index spec version this file is based on |
|
| Indicates the origin of the repository (free form text) |
|
| The repository ID this Package belongs to |
|
| The repository name this Package belongs to. |
|
| What type of package system is being used |
|
| The name of the package |
|
| Display name of the release |
|
| The version of the package |
|
| Location to source code for this package |
|
| The home page of the package |
|
| A comma separated list of tags to use for searching |
|
| Who is maintaining this package |
|
| Brief description of the package |
|
| Hash of package binary that will be downloaded using SHA256 hash algorithm |
|
| Url location of a icon |
|
| Name is the path-like name of the template |
|
| Data is the template as string data |
|
| The packages that this package depends upon |
|
| The raw YAML string of configuration values |
|
| Miscellaneous files in a package, e.g. README, LICENSE, etc. |
|
| The raw YAML string of configuration values |
|
| The manifest of the release |
|
| Platform name of the release |
The list
link can list the latest version of releases with status of deployed or failed by the
given release name.
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 3414 { "_embedded" : { "releases" : [ { "name" : "myLogRelease2", "version" : 1, "info" : { "status" : { "statusCode" : "DEPLOYED", "platformStatus" : "[{\"deploymentId\":\"myLogRelease2.log-v1\",\"instances\":{\"myLogRelease2.log-v1-0\":{\"instanceNumber\":0,\"baseUrl\":\"http://10.194.6.15:50560\",\"attributes\":{\"guid\":\"50560\",\"pid\":\"23611\",\"port\":\"50560\",\"stderr\":\"/tmp/spring-cloud-deployer-2581995465932256215/myLogRelease2-1525385037606/myLogRelease2.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-deployer-2581995465932256215/myLogRelease2-1525385037606/myLogRelease2.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.15:50560\",\"working.dir\":\"/tmp/spring-cloud-deployer-2581995465932256215/myLogRelease2-1525385037606/myLogRelease2.log-v1\"},\"process\":{\"outputStream\":{},\"errorStream\":{},\"alive\":true,\"inputStream\":{}},\"id\":\"myLogRelease2.log-v1-0\",\"state\":\"deployed\"}},\"state\":\"deployed\"}]" }, "firstDeployed" : 1525385037596, "lastDeployed" : 1525385037596, "deleted" : null, "description" : "Install complete" }, "pkg" : { "metadata" : { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "1.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RC1", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null }, "templates" : [ { "name" : "log.yml", "data" : "apiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: {{version}}\n applicationProperties:\n {{#spec.applicationProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.applicationProperties.entrySet}}\n deploymentProperties:\n {{#spec.deploymentProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.deploymentProperties.entrySet}}\n" } ], "dependencies" : [ ], "configValues" : { "raw" : "# Default values for {{name}}\n# This is a YAML-formatted file.\n# Declare variables to be passed into your templates\nversion: 1.2.0.RC1\n" }, "fileHolders" : [ ] }, "configValues" : { "raw" : null }, "manifest" : { "data" : "\n---\n# Source: log.yml\napiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: 1.2.0.RC1\n applicationProperties:\n deploymentProperties:\n" }, "platformName" : "default", "_links" : { "status" : { "href" : "http://localhost:7577/api/release/status/{name}", "templated" : true } } } ] } }
Path | Type | Description |
---|---|---|
|
| Name of the release |
|
| Version of the release |
|
| StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED) |
|
| Status from the underlying platform |
|
| Date/Time of first deployment |
|
| Date/Time of last deployment |
|
| Date/Time of when the release was deleted |
|
| Human-friendly 'log entry' about this release |
|
| The Package Index spec version this file is based on |
|
| Indicates the origin of the repository (free form text) |
|
| The repository ID this Package belongs to |
|
| The repository name this Package belongs to. |
|
| What type of package system is being used |
|
| The name of the package |
|
| Display name of the release |
|
| The version of the package |
|
| Location to source code for this package |
|
| The home page of the package |
|
| A comma separated list of tags to use for searching |
|
| Who is maintaining this package |
|
| Brief description of the package |
|
| Hash of package binary that will be downloaded using SHA256 hash algorithm |
|
| Url location of a icon |
|
| Name is the path-like name of the template |
|
| Data is the template as string data |
|
| The packages that this package depends upon |
|
| The raw YAML string of configuration values |
|
| Miscellaneous files in a package, e.g. README, LICENSE, etc. |
|
| The raw YAML string of configuration values |
|
| The manifest of the release |
|
| Platform name of the release |
The status
REST endpoint provides the status for the last known release version.
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 1128 { "status" : { "statusCode" : "DEPLOYED", "platformStatus" : "[{\"deploymentId\":\"myLogRelease.log-v1\",\"instances\":{\"myLogRelease.log-v1-0\":{\"instanceNumber\":0,\"baseUrl\":\"http://10.194.6.15:36460\",\"attributes\":{\"guid\":\"36460\",\"pid\":\"23279\",\"port\":\"36460\",\"stderr\":\"/tmp/spring-cloud-deployer-7140931486538737052/myLogRelease-1525384941794/myLogRelease.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-deployer-7140931486538737052/myLogRelease-1525384941794/myLogRelease.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.15:36460\",\"working.dir\":\"/tmp/spring-cloud-deployer-7140931486538737052/myLogRelease-1525384941794/myLogRelease.log-v1\"},\"process\":{\"outputStream\":{},\"errorStream\":{},\"alive\":true,\"inputStream\":{}},\"id\":\"myLogRelease.log-v1-0\",\"state\":\"deployed\"}},\"state\":\"deployed\"}]" }, "firstDeployed" : 1525384941784, "lastDeployed" : 1525384941784, "deleted" : null, "description" : "Install complete", "_links" : { "manifest" : { "href" : "http://localhost:7577/api/release/manifest/{name}", "templated" : true } } }
Path | Type | Description |
---|---|---|
|
| StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED) |
|
| Status from the underlying platform |
|
| Date/Time of first deployment |
|
| Date/Time of last deployment |
|
| Date/Time of when the release was deleted |
|
| Human-friendly 'log entry' about this release |
The status
REST endpoint can provide the status for a specific release version.
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 1137 { "status" : { "statusCode" : "DEPLOYED", "platformStatus" : "[{\"deploymentId\":\"myLogRelease2.log-v1\",\"instances\":{\"myLogRelease2.log-v1-0\":{\"instanceNumber\":0,\"baseUrl\":\"http://10.194.6.15:31782\",\"attributes\":{\"guid\":\"31782\",\"pid\":\"23341\",\"port\":\"31782\",\"stderr\":\"/tmp/spring-cloud-deployer-7140931486538737052/myLogRelease2-1525384957129/myLogRelease2.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-deployer-7140931486538737052/myLogRelease2-1525384957129/myLogRelease2.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.15:31782\",\"working.dir\":\"/tmp/spring-cloud-deployer-7140931486538737052/myLogRelease2-1525384957129/myLogRelease2.log-v1\"},\"process\":{\"outputStream\":{},\"errorStream\":{},\"alive\":true,\"inputStream\":{}},\"id\":\"myLogRelease2.log-v1-0\",\"state\":\"deployed\"}},\"state\":\"deployed\"}]" }, "firstDeployed" : 1525384957119, "lastDeployed" : 1525384957119, "deleted" : null, "description" : "Install complete", "_links" : { "manifest" : { "href" : "http://localhost:7577/api/release/manifest/{name}", "templated" : true } } }
Path | Type | Description |
---|---|---|
|
| StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED) |
|
| Status from the underlying platform |
|
| Date/Time of first deployment |
|
| Date/Time of last deployment |
|
| Date/Time of when the release was deleted |
|
| Human-friendly 'log entry' about this release |
The upgrade link upgrades an existing release with the configured package and config values from the UpgradeRequest
.
POST /api/release/upgrade HTTP/1.1 Content-Type: application/json;charset=UTF-8 Accept: application/json Host: localhost:7577 Content-Length: 157 { "packageIdentifier" : { "packageName" : "log", "packageVersion" : "1.1.0" }, "upgradeProperties" : { "releaseName" : "myLogRelease" } }
$ curl 'http://localhost:7577/api/release/upgrade' -i -X POST \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Accept: application/json' \ -d '{ "packageIdentifier" : { "packageName" : "log", "packageVersion" : "1.1.0" }, "upgradeProperties" : { "releaseName" : "myLogRelease" } }'
HTTP/1.1 201 Created Content-Type: application/json;charset=UTF-8 Content-Length: 2342 { "name" : "myLogRelease", "version" : 2, "info" : { "status" : { "statusCode" : "UNKNOWN", "platformStatus" : null }, "firstDeployed" : 1525384991324, "lastDeployed" : 1525384991324, "deleted" : null, "description" : "Upgrade install underway" }, "pkg" : { "metadata" : { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "1.1.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null }, "templates" : [ { "name" : "log.yml", "data" : "apiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: {{version}}\n applicationProperties:\n {{#spec.applicationProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.applicationProperties.entrySet}}\n deploymentProperties:\n {{#spec.deploymentProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.deploymentProperties.entrySet}}\n" } ], "dependencies" : [ ], "configValues" : { "raw" : "# Default values for {{name}}\n# This is a YAML-formatted file.\n# Declare variables to be passed into your templates\nversion: 1.3.0.M1\n" }, "fileHolders" : [ ] }, "configValues" : { "raw" : null }, "manifest" : { "data" : "\n---\n# Source: log.yml\napiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: 1.3.0.M1\n applicationProperties:\n deploymentProperties:\n" }, "platformName" : "default", "links" : [ { "rel" : "status", "href" : "http://localhost:7577/api/release/status/{name}" } ] }
Path | Type | Description |
---|---|---|
|
| Name of the release |
|
| Version of the release |
|
| StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED) |
|
| Status from the underlying platform |
|
| Date/Time of first deployment |
|
| Date/Time of last deployment |
|
| Date/Time of when the release was deleted |
|
| Human-friendly 'log entry' about this release |
|
| The Package Index spec version this file is based on |
|
| Indicates the origin of the repository (free form text) |
|
| The repository ID this Package belongs to. |
|
| The repository name this Package belongs to. |
|
| What type of package system is being used |
|
| The name of the package |
|
| Display name of the release |
|
| The version of the package |
|
| Location to source code for this package |
|
| The home page of the package |
|
| A comma separated list of tags to use for searching |
|
| Who is maintaining this package |
|
| Brief description of the package |
|
| Hash of package binary that will be downloaded using SHA256 hash algorithm |
|
| Url location of a icon |
|
| Name is the path-like name of the template |
|
| Data is the template as string data |
|
| The packages that this package depends upon |
|
| The raw YAML string of configuration values |
|
| Miscellaneous files in a package, e.g. README, LICENSE, etc. |
|
| The raw YAML string of configuration values |
|
| The manifest of the release |
|
| Platform name of the release |
The rollback link rolls back the release to a previous or a specific release.
HTTP/1.1 201 Created Content-Type: application/hal+json;charset=UTF-8 Content-Length: 2366 { "name" : "myLogRelease", "version" : 3, "info" : { "status" : { "statusCode" : "UNKNOWN", "platformStatus" : null }, "firstDeployed" : 1525384847019, "lastDeployed" : 1525384847019, "deleted" : null, "description" : "Upgrade install underway" }, "pkg" : { "metadata" : { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "1.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RC1", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null }, "templates" : [ { "name" : "log.yml", "data" : "apiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: {{version}}\n applicationProperties:\n {{#spec.applicationProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.applicationProperties.entrySet}}\n deploymentProperties:\n {{#spec.deploymentProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.deploymentProperties.entrySet}}\n" } ], "dependencies" : [ ], "configValues" : { "raw" : "# Default values for {{name}}\n# This is a YAML-formatted file.\n# Declare variables to be passed into your templates\nversion: 1.2.0.RC1\n" }, "fileHolders" : [ ] }, "configValues" : { "raw" : null }, "manifest" : { "data" : "\n---\n# Source: log.yml\napiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: 1.2.0.RC1\n applicationProperties:\n deploymentProperties:\n" }, "platformName" : "default", "_links" : { "status" : { "href" : "http://localhost:7577/api/release/status/{name}", "templated" : true } } }
Path | Type | Description |
---|---|---|
|
| Name of the release |
|
| Version of the release |
|
| StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED) |
|
| Status from the underlying platform |
|
| Date/Time of first deployment |
|
| Date/Time of last deployment |
|
| Date/Time of when the release was deleted |
|
| Human-friendly 'log entry' about this release |
|
| The Package Index spec version this file is based on |
|
| Indicates the origin of the repository (free form text) |
|
| The repository ID this Package belongs to. |
|
| The repository name this Package belongs to. |
|
| What type of package system is being used |
|
| The name of the package |
|
| Display name of the release |
|
| The version of the package |
|
| Location to source code for this package |
|
| The home page of the package |
|
| A comma separated list of tags to use for searching |
|
| Who is maintaining this package |
|
| Brief description of the package |
|
| Hash of package binary that will be downloaded using SHA256 hash algorithm |
|
| Url location of a icon |
|
| Name is the path-like name of the template |
|
| Data is the template as string data |
|
| The packages that this package depends upon |
|
| The raw YAML string of configuration values |
|
| Miscellaneous files in a package, e.g. README, LICENSE, etc. |
|
| The raw YAML string of configuration values |
|
| The manifest of the release |
|
| Platform name of the release |
The manifest
REST endpoint returns the manifest for the last known release version.
GET /api/release/manifest/myLogRelease HTTP/1.1 Content-Type: application/json;charset=UTF-8 Accept: application/json Host: localhost:7577
$ curl 'http://localhost:7577/api/release/manifest/myLogRelease' -i \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Accept: application/json'
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Content-Length: 415 { "data" : "\n---\n# Source: log.yml\napiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: 1.2.0.RC1\n applicationProperties:\n deploymentProperties:\n", "links" : [ { "rel" : "status", "href" : "http://localhost:7577/api/release/status/{name}" } ] }
The manifest
REST endpoint can return the manifest for a specific release version.
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 441 { "data" : "\n---\n# Source: log.yml\napiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: 1.2.0.RC1\n applicationProperties:\n deploymentProperties:\n", "_links" : { "status" : { "href" : "http://localhost:7577/api/release/status/{name}", "templated" : true } } }
You can use a DELETE
request to delete an existing release.
The delete operation does not uninstall the uploaded packages corresponding to the release.
DELETE /api/release/myLogRelease1 HTTP/1.1 Content-Type: application/json;charset=UTF-8 Accept: application/json Host: localhost:7577
$ curl 'http://localhost:7577/api/release/myLogRelease1' -i -X DELETE \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Accept: application/json'
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Content-Length: 2332 { "name" : "myLogRelease1", "version" : 1, "info" : { "status" : { "statusCode" : "DELETED", "platformStatus" : null }, "firstDeployed" : 1525384890072, "lastDeployed" : 1525384890072, "deleted" : null, "description" : "Delete complete" }, "pkg" : { "metadata" : { "apiVersion" : "skipper.spring.io/v1", "origin" : "samples-package-repository", "repositoryId" : 1, "repositoryName" : "test", "kind" : "SkipperPackageMetadata", "name" : "log", "displayName" : null, "version" : "1.0.0", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RC1", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null }, "templates" : [ { "name" : "log.yml", "data" : "apiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: {{version}}\n applicationProperties:\n {{#spec.applicationProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.applicationProperties.entrySet}}\n deploymentProperties:\n {{#spec.deploymentProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.deploymentProperties.entrySet}}\n" } ], "dependencies" : [ ], "configValues" : { "raw" : "# Default values for {{name}}\n# This is a YAML-formatted file.\n# Declare variables to be passed into your templates\nversion: 1.2.0.RC1\n" }, "fileHolders" : [ ] }, "configValues" : { "raw" : null }, "manifest" : { "data" : "\n---\n# Source: log.yml\napiVersion: skipper.spring.io/v1\nkind: SpringCloudDeployerApplication\nmetadata:\n name: log\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n version: 1.2.0.RC1\n applicationProperties:\n deploymentProperties:\n" }, "platformName" : "default", "links" : [ { "rel" : "status", "href" : "http://localhost:7577/api/release/status/{name}" } ] }
Path | Type | Description |
---|---|---|
|
| Name of the release |
|
| Version of the release |
|
| StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED) |
|
| Status from the underlying platform |
|
| Date/Time of first deployment |
|
| Date/Time of last deployment |
|
| Date/Time of when the release was deleted |
|
| Human-friendly 'log entry' about this release |
|
| The Package Index spec version this file is based on |
|
| Indicates the origin of the repository (free form text) |
|
| The repository ID this Package belongs to. |
|
| The repository name this Package belongs to. |
|
| What type of package system is being used |
|
| The name of the package |
|
| Display name of the release |
|
| The version of the package |
|
| Location to source code for this package |
|
| The home page of the package |
|
| A comma separated list of tags to use for searching |
|
| Who is maintaining this package |
|
| Brief description of the package |
|
| Hash of package binary that will be downloaded using SHA256 hash algorithm |
|
| Url location of a icon |
|
| Name is the path-like name of the template |
|
| Data is the template as string data |
|
| The packages that this package depends upon |
|
| The raw YAML string of configuration values |
|
| Miscellaneous files in a package, e.g. README, LICENSE, etc. |
|
| The raw YAML string of configuration values |
|
| The manifest of the release |
|
| Platform name of the release |
You can use a DELETE request to delete an existing release and uninstall the packages corresponding to the release, provided there are no other releases in active state use these packages.
DELETE /api/release/myLogRelease/package HTTP/1.1 Content-Type: application/json;charset=UTF-8 Accept: application/json Host: localhost:7577
$ curl 'http://localhost:7577/api/release/myLogRelease/package' -i -X DELETE \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Accept: application/json'
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Content-Length: 2637 { "name" : "myLogRelease", "version" : 1, "info" : { "status" : { "statusCode" : "DELETED", "platformStatus" : null }, "firstDeployed" : 1525384874643, "lastDeployed" : 1525384874643, "deleted" : null, "description" : "Delete complete" }, "pkg" : { "metadata" : { "apiVersion" : "v1", "origin" : null, "repositoryId" : 2, "repositoryName" : "local", "kind" : "skipper", "name" : "mylog", "displayName" : null, "version" : "9.9.9", "packageSourceUrl" : "https://github.com/spring-cloud-stream-app-starters/log/tree/v1.2.0.RELEASE", "packageHomeUrl" : "http://cloud.spring.io/spring-cloud-stream-app-starters/", "tags" : "logging, sink", "maintainer" : "https://github.com/sobychacko", "description" : "The log sink uses the application logger to output the data for inspection.", "sha256" : null, "iconUrl" : null }, "templates" : [ { "name" : "log.yml", "data" : "apiVersion: skipper/v1\nkind: SpringBootApp\nmetadata:\n name: mylog\n count: {{metadata.count}}\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit:{{version}}\n resourceMetadata: maven://org.springframework.cloud.stream.app:log-sink-rabbit:jar:metadata:{{version}}\n applicationProperties:\n {{#spec.applicationProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.applicationProperties.entrySet}}\n deploymentProperties:\n {{#spec.deploymentProperties.entrySet}}\n {{key}}: {{value}}\n {{/spec.deploymentProperties.entrySet}}\n" } ], "dependencies" : [ ], "configValues" : { "raw" : "# Default values for {{name}}\n# This is a YAML-formatted file.\n# Declare variables to be passed into your templates\nversion: 1.2.0.RELEASE\nmetadata:\n count: 1\n#resources:\n# log:\n# resourceGroupAndName: maven://org.springframework.cloud.stream.app:log-sink-rabbit\n# version: 1.2.0.RELEASE\n\n" }, "fileHolders" : [ ] }, "configValues" : { "raw" : null }, "manifest" : { "data" : "\n---\n# Source: log.yml\napiVersion: skipper/v1\nkind: SpringBootApp\nmetadata:\n name: mylog\n count: 1\n type: sink\nspec:\n resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.2.0.RELEASE\n resourceMetadata: maven://org.springframework.cloud.stream.app:log-sink-rabbit:jar:metadata:1.2.0.RELEASE\n applicationProperties:\n deploymentProperties:\n" }, "platformName" : "default", "links" : [ { "rel" : "status", "href" : "http://localhost:7577/api/release/status/{name}" } ] }
Path | Type | Description |
---|---|---|
|
| Name of the release |
|
| Version of the release |
|
| StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED) |
|
| Status from the underlying platform |
|
| Date/Time of first deployment |
|
| Date/Time of last deployment |
|
| Date/Time of when the release was deleted |
|
| Human-friendly 'log entry' about this release |
|
| The Package Index spec version this file is based on |
|
| Indicates the origin of the repository (free form text) |
|
| The repository ID this Package belongs to. |
|
| The repository name this Package belongs to. |
|
| What type of package system is being used |
|
| The name of the package |
|
| Display name of the release |
|
| The version of the package |
|
| Location to source code for this package |
|
| The home page of the package |
|
| A comma separated list of tags to use for searching |
|
| Who is maintaining this package |
|
| Brief description of the package |
|
| Hash of package binary that will be downloaded using SHA256 hash algorithm |
|
| Url location of a icon |
|
| Name is the path-like name of the template |
|
| Data is the template as string data |
|
| The packages that this package depends upon |
|
| The raw YAML string of configuration values |
|
| Miscellaneous files in a package, e.g. README, LICENSE, etc. |
|
| The raw YAML string of configuration values |
|
| The manifest of the release |
|
| Platform name of the release |