The index provides the entry point into Spring Cloud Skipper’s REST API.
A GET
request is used to access the index
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 1366 { "_links" : { "jpaRepositoryStates" : { "href" : "http://localhost:7577/api/jpaRepositoryStates" }, "releases" : { "href" : "http://localhost:7577/api/releases{?page,size,sort}", "templated" : true }, "jpaRepositoryGuards" : { "href" : "http://localhost:7577/api/jpaRepositoryGuards" }, "packageMetadata" : { "href" : "http://localhost:7577/api/packageMetadata{?page,size,sort,projection}", "templated" : true }, "jpaRepositoryActions" : { "href" : "http://localhost:7577/api/jpaRepositoryActions" }, "jpaRepositoryTransitions" : { "href" : "http://localhost:7577/api/jpaRepositoryTransitions" }, "repositories" : { "href" : "http://localhost:7577/api/repositories{?page,size,sort}", "templated" : true }, "jpaRepositoryStateMachines" : { "href" : "http://localhost:7577/api/jpaRepositoryStateMachines" }, "deployers" : { "href" : "http://localhost:7577/api/deployers{?page,size,sort}", "templated" : true }, "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 main element of the index are the links as they allow you to traverse the API and execute the desired functionality:
Relation | Description |
---|---|
| Exposes 'package repository' repository |
| Exposes deployer repository |
| Exposes package metadata repository |
| Exposes release repository |
| Entrypoint to provide ALPS metadata defining simple descriptions of application-level semantics |
| Provides meta information of the server |
| Exposes release resource |
| Exposes package resource |
The Server resource exposes build and version information of the server.
A GET
request will return meta information for Spring Cloud Skipper. This includes:
spring-cloud-skipper-server
1.0.0.RC4
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 what is exported from the Spring Data Repository DeployerRepository
and exposed by Spring Data REST.
A GET
request will return 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: 983 { "_embedded" : { "deployers" : [ { "name" : "default", "type" : "local", "description" : "ShutdownTimeout = [30], EnvVarsToInherit = [TMP,LANG,LANGUAGE,LC_.*,PATH], JavaCmd = [/opt/jdk1.8.0_144/jre/bin/java], WorkingDirectoriesRoot = [/tmp], DeleteFilesOnExit = [true]", "_links" : { "self" : { "href" : "http://localhost:7577/api/deployers/aa4dad47-4673-41d7-b7da-6ec3809bfb02" }, "deployer" : { "href" : "http://localhost:7577/api/deployers/aa4dad47-4673-41d7-b7da-6ec3809bfb02" } } } ] }, "_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 what 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: 8872 { "_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" } } } ] }, "_links" : { "self" : { "href" : "http://localhost:7577/api/packageMetadata{&sort,projection}", "templated" : true }, "profile" : { "href" : "http://localhost:7577/api/profile/packageMetadata" }, "search" : { "href" : "http://localhost:7577/api/packageMetadata/search" } }, "page" : { "size" : 10, "totalElements" : 8, "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 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 will return 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 |
The Package resource maps onto the PackageController for uploading and installing packages
Upload 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 |
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.12:55572\",\"process\":{\"errorStream\":{},\"outputStream\":{},\"alive\":true,\"inputStream\":{}},\"attributes\":{\"guid\":\"55572\",\"pid\":\"21571\",\"port\":\"55572\",\"stderr\":\"/tmp/spring-cloud-dataflow-3818125067429431778/myLogRelease-1516674908401/myLogRelease.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-dataflow-3818125067429431778/myLogRelease-1516674908401/myLogRelease.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.12:55572\",\"working.dir\":\"/tmp/spring-cloud-dataflow-3818125067429431778/myLogRelease-1516674908401/myLogRelease.log-v1\"},\"id\":\"myLogRelease.log-v1-0\",\"state\":\"deploying\"}},\"state\":\"deploying\"}]" }, "firstDeployed" : 1516674908378, "lastDeployed" : 1516674908378, "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 |
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.12:55501\",\"process\":{\"errorStream\":{},\"outputStream\":{},\"alive\":true,\"inputStream\":{}},\"attributes\":{\"guid\":\"55501\",\"pid\":\"21647\",\"port\":\"55501\",\"stderr\":\"/tmp/spring-cloud-dataflow-3818125067429431778/myLogReleaseWithInstallProperties-1516674923694/myLogReleaseWithInstallProperties.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-dataflow-3818125067429431778/myLogReleaseWithInstallProperties-1516674923694/myLogReleaseWithInstallProperties.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.12:55501\",\"working.dir\":\"/tmp/spring-cloud-dataflow-3818125067429431778/myLogReleaseWithInstallProperties-1516674923694/myLogReleaseWithInstallProperties.log-v1\"},\"id\":\"myLogReleaseWithInstallProperties.log-v1-0\",\"state\":\"deploying\"}},\"state\":\"deploying\"}]" }, "firstDeployed" : 1516674923685, "lastDeployed" : 1516674923685, "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 what is exported from the Spring Data Repository RepositoryRepository
(yes, funnyn name) and exposed by Spring Data REST.
A GET
request will return 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 will return 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 what is exported from the Spring Data Repository ReleaseRepository
and exposed by Spring Data REST.
A GET
request will return a paginated list for all Spring Cloud Skipper releases.
Rollback the release to a previous or a specific release.
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 439 { "_embedded" : { "releases" : [ ] }, "_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" : 0, "totalPages" : 0, "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) |
|
| Provides a list of releases |
The Release resource maps onto the ReleaseController for managing the lifecycle of a release.
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.12:15407\",\"process\":{\"errorStream\":{},\"outputStream\":{},\"alive\":true,\"inputStream\":{}},\"attributes\":{\"guid\":\"15407\",\"pid\":\"21480\",\"port\":\"15407\",\"stderr\":\"/tmp/spring-cloud-dataflow-7451017383632683810/myLogRelease-1516674890189/myLogRelease.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-dataflow-7451017383632683810/myLogRelease-1516674890189/myLogRelease.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.12:15407\",\"working.dir\":\"/tmp/spring-cloud-dataflow-7451017383632683810/myLogRelease-1516674890189/myLogRelease.log-v1\"},\"id\":\"myLogRelease.log-v1-0\",\"state\":\"deployed\"}},\"state\":\"deployed\"}]" }, "firstDeployed" : 1516674890176, "lastDeployed" : 1516674890176, "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 |
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.12:44300\",\"process\":{\"errorStream\":{},\"outputStream\":{},\"alive\":true,\"inputStream\":{}},\"attributes\":{\"guid\":\"44300\",\"pid\":\"21424\",\"port\":\"44300\",\"stderr\":\"/tmp/spring-cloud-dataflow-7451017383632683810/myLogRelease2-1516674874779/myLogRelease2.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-dataflow-7451017383632683810/myLogRelease2-1516674874779/myLogRelease2.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.12:44300\",\"working.dir\":\"/tmp/spring-cloud-dataflow-7451017383632683810/myLogRelease2-1516674874779/myLogRelease2.log-v1\"},\"id\":\"myLogRelease2.log-v1-0\",\"state\":\"deployed\"}},\"state\":\"deployed\"}]" }, "firstDeployed" : 1516674874767, "lastDeployed" : 1516674874767, "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 |
This 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.12:46382\",\"process\":{\"errorStream\":{},\"outputStream\":{},\"alive\":true,\"inputStream\":{}},\"attributes\":{\"guid\":\"46382\",\"pid\":\"21090\",\"port\":\"46382\",\"stderr\":\"/tmp/spring-cloud-dataflow-3234204172477328326/myLogRelease-1516674776976/myLogRelease.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-dataflow-3234204172477328326/myLogRelease-1516674776976/myLogRelease.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.12:46382\",\"working.dir\":\"/tmp/spring-cloud-dataflow-3234204172477328326/myLogRelease-1516674776976/myLogRelease.log-v1\"},\"id\":\"myLogRelease.log-v1-0\",\"state\":\"deployed\"}},\"state\":\"deployed\"}]" }, "firstDeployed" : 1516674776966, "lastDeployed" : 1516674776966, "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 |
This REST endpoint provides 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.12:32764\",\"process\":{\"errorStream\":{},\"outputStream\":{},\"alive\":true,\"inputStream\":{}},\"attributes\":{\"guid\":\"32764\",\"pid\":\"21161\",\"port\":\"32764\",\"stderr\":\"/tmp/spring-cloud-dataflow-3234204172477328326/myLogRelease2-1516674792330/myLogRelease2.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-dataflow-3234204172477328326/myLogRelease2-1516674792330/myLogRelease2.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.12:32764\",\"working.dir\":\"/tmp/spring-cloud-dataflow-3234204172477328326/myLogRelease2-1516674792330/myLogRelease2.log-v1\"},\"id\":\"myLogRelease2.log-v1-0\",\"state\":\"deployed\"}},\"state\":\"deployed\"}]" }, "firstDeployed" : 1516674792323, "lastDeployed" : 1516674792323, "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 |
Upgrade an existing release using 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" : 1516674827836, "lastDeployed" : 1516674827836, "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 |
Rollback 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" : 1516674701094, "lastDeployed" : 1516674701094, "deleted" : null, "description" : "Initial 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 |
REST endpoint that 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}" } ] }
REST endpoint that returns 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 } } }
Delete an existing release. This doesn’t 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" : 1516674734956, "lastDeployed" : 1516674734956, "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 |
Delete an existing release and uninstall the installed 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" : 1516674719517, "lastDeployed" : 1516674719517, "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 |