19. Resources

19.1 Index

The index provides the entry point into Spring Cloud Skipper’s REST API.

19.1.1 Accessing the index

A GET request is used to access the index

Request structure

GET /api HTTP/1.1
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api' -i

Example response

HTTP/1.1 200 OK
Content-Type: application/hal+json;charset=UTF-8
Content-Length: 2149

{
  "_links" : {
    "releases" : {
      "href" : "http://localhost:7577/api/releases{?page,size,sort}",
      "templated" : true
    },
    "deployers" : {
      "href" : "http://localhost:7577/api/deployers{?page,size,sort}",
      "templated" : true
    },
    "appDeployerDatas" : {
      "href" : "http://localhost:7577/api/appDeployerDatas{?page,size,sort}",
      "templated" : true
    },
    "packageMetadata" : {
      "href" : "http://localhost:7577/api/packageMetadata{?page,size,sort,projection}",
      "templated" : true
    },
    "repositories" : {
      "href" : "http://localhost:7577/api/repositories{?page,size,sort}",
      "templated" : true
    },
    "about" : {
      "href" : "http://localhost:7577/api/about"
    },
    "upload" : {
      "href" : "http://localhost:7577/api/upload"
    },
    "install" : {
      "href" : "http://localhost:7577/api/install"
    },
    "install/id" : {
      "href" : "http://localhost:7577/api/install/{id}",
      "templated" : true
    },
    "status/name" : {
      "href" : "http://localhost:7577/api/status/{name}",
      "templated" : true
    },
    "status/name/version" : {
      "href" : "http://localhost:7577/api/status/{name}/123",
      "templated" : true
    },
    "manifest" : {
      "href" : "http://localhost:7577/api/manifest/{name}",
      "templated" : true
    },
    "manifest/name/version" : {
      "href" : "http://localhost:7577/api/manifest/{name}/123",
      "templated" : true
    },
    "upgrade" : {
      "href" : "http://localhost:7577/api/upgrade"
    },
    "rollback" : {
      "href" : "http://localhost:7577/api/rollback/{name}/123",
      "templated" : true
    },
    "delete" : {
      "href" : "http://localhost:7577/api/delete/{name}",
      "templated" : true
    },
    "history" : {
      "href" : "http://localhost:7577/api/history/{name}/123",
      "templated" : true
    },
    "list" : {
      "href" : "http://localhost:7577/api/list"
    },
    "list/name" : {
      "href" : "http://localhost:7577/api/list/{name}",
      "templated" : true
    },
    "profile" : {
      "href" : "http://localhost:7577/api/profile"
    }
  }
}

Links

The main element of the index are the links as they allow you to traverse the API and execute the desired functionality:

RelationDescription

about

Provides meta information of the server

upload

Uploads a package

install

Installs a package

install/id

Installs a package by also providing the package id

appDeployerDatas

Exposes App Deployer Data

repositories

Exposes package repositories

deployers

Exposes deployer

releases

Exposes release information

packageMetadata

Provides details for Package Metadata

profile

Entrypoint to provide ALPS metadata defining simple descriptions of application-level semantics

status/name

Get the status for the last known release version of the release by the given release name

status/name/version

Get the status for the release by the given release name and version

manifest

Get a release’s manifest

manifest/name/version

Get a release’s manifest by providing name and version

upgrade

Upgrade a release

rollback

Rollback the release to a previous or a specific release

delete

Delete the release

history

List the history of versions for a given release

list

List the latest version of releases with status of deployed or failed

list/name

List the latest version of releases by release name with status of deployed or failed

19.2 Server Meta Information

19.2.1 Retrieving information about the server

A GET request will return meta information for Spring Cloud Skipper. This includes:

  • Server name, typically spring-cloud-skipper-server
  • Version of the server, e.g. 1.0.0.M1

Request structure

GET /api/about HTTP/1.1
Accept: application/json
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/about' -i \
    -H 'Accept: application/json'

Response structure

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 39

{
  "name" : null,
  "version" : null
}

Response fields

PathTypeDescription

name

Null

Name of the Skipper server.

version

Null

Version of the Skipper server.

19.3 Upload

19.3.1 Upload a package

Upload a package into a configured local repository.

Request structure

POST /api/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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"
}

Example request

$ curl 'http://localhost:7577/api/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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"
}'

Response structure

HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 526

{
  "apiVersion" : "v1",
  "origin" : null,
  "repositoryId" : 2,
  "kind" : "skipper",
  "name" : "log",
  "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
}

Response fields

PathTypeDescription

apiVersion

String

The Package Index spec version this file is based on

origin

Null

Indicates the origin of the repository (free form text)

repositoryId

Number

The repository ID this Package Index file belongs to

kind

String

What type of package system is being used

name

String

The name of the package

version

String

The version of the package

packageSourceUrl

String

Location to source code for this package

packageHomeUrl

String

The home page of the package

tags

String

A comma separated list of tags to use for searching

maintainer

String

Who is maintaining this package

description

String

Brief description of the package

sha256

Null

Hash of package binary that will be downloaded using SHA256 hash algorithm

iconUrl

Null

Url location of a icon

19.4 Install

19.4.1 Install a package

Install a package (identified by the InstallRequest) into the target platform.

Request structure

POST /api/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"
  }
}

Example request

$ curl 'http://localhost:7577/api/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"
  }
}'

Response structure

HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 3030

{
  "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.19:24325\",\"process\":{\"errorStream\":{},\"outputStream\":{},\"alive\":true,\"inputStream\":{}},\"attributes\":{\"guid\":\"24325\",\"pid\":\"16757\",\"port\":\"24325\",\"stderr\":\"/tmp/spring-cloud-dataflow-3746540501904880046/myLogRelease-1509397944014/myLogRelease.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-dataflow-3746540501904880046/myLogRelease-1509397944014/myLogRelease.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.19:24325\",\"working.dir\":\"/tmp/spring-cloud-dataflow-3746540501904880046/myLogRelease-1509397944014/myLogRelease.log-v1\"},\"id\":\"myLogRelease.log-v1-0\",\"state\":\"deploying\"}},\"state\":\"deploying\"}]"
    },
    "firstDeployed" : 1509397944005,
    "lastDeployed" : 1509397944005,
    "deleted" : null,
    "description" : "Install complete"
  },
  "pkg" : {
    "metadata" : {
      "apiVersion" : "v1",
      "origin" : "samples-package-repository",
      "repositoryId" : 1,
      "kind" : "skipper",
      "name" : "log",
      "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/v1\nkind: SpringBootApp\nmetadata:\n  name: log\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.RC1\n"
    },
    "fileHolders" : [ ]
  },
  "configValues" : {
    "raw" : null
  },
  "manifest" : "\n---\n# Source: log.yml\napiVersion: skipper/v1\nkind: SpringBootApp\nmetadata:\n  name: log\n  type: sink\nspec:\n  resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.2.0.RC1\n  resourceMetadata: maven://org.springframework.cloud.stream.app:log-sink-rabbit:jar:metadata:1.2.0.RC1\n  applicationProperties:\n  deploymentProperties:\n",
  "platformName" : "default"
}

Response fields

PathTypeDescription

name

String

Name of the release

version

Number

Version of the release

info.status.statusCode

String

StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED)

info.status.platformStatus

String

Status from the underlying platform

info.firstDeployed

Number

Date/Time of first deployment

info.lastDeployed

Number

Date/Time of last deployment

info.deleted

Null

Date/Time of when the release was deleted

info.description

String

Human-friendly 'log entry' about this release

pkg.metadata.origin

String

Indicates the origin of the repository (free form text)

pkg.metadata.apiVersion

String

The Package Index spec version this file is based on

pkg.metadata.repositoryId

Number

The repository ID this Package Index file belongs to

pkg.metadata.kind

String

What type of package system is being used

pkg.metadata.name

String

The name of the package

pkg.metadata.version

String

The version of the package

pkg.metadata.packageSourceUrl

String

Location to source code for this package

pkg.metadata.packageHomeUrl

String

The home page of the package

pkg.metadata.tags

String

A comma separated list of tags to use for searching

pkg.metadata.maintainer

String

Who is maintaining this package

pkg.metadata.description

String

Brief description of the package

pkg.metadata.sha256

Null

Hash of package binary that will be downloaded using SHA256 hash algorithm

pkg.metadata.iconUrl

Null

Url location of a icon

pkg.templates[].name

String

Name is the path-like name of the template

pkg.templates[].data

String

Data is the template as string data

pkg.dependencies

Array

The packages that this package depends upon

pkg.configValues.raw

String

The raw YAML string of configuration values

pkg.fileHolders

Array

Miscellaneous files in a package, e.g. README, LICENSE, etc.

configValues.raw

Null

The raw YAML string of configuration values

manifest

String

The manifest of the release

platformName

String

Platform name of the release

19.4.2 Install a package with id

Install a package identified by its ID into the target platform.

Request structure

POST /api/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"
}

Example request

$ curl 'http://localhost:7577/api/install/2' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json' \
    -d '{
  "releaseName" : "myLogReleaseWithInstallProperties",
  "platformName" : "default"
}'

Response structure

HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 3241

{
  "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.19:36072\",\"process\":{\"errorStream\":{},\"outputStream\":{},\"alive\":true,\"inputStream\":{}},\"attributes\":{\"guid\":\"36072\",\"pid\":\"16901\",\"port\":\"36072\",\"stderr\":\"/tmp/spring-cloud-dataflow-3746540501904880046/myLogReleaseWithInstallProperties-1509397959271/myLogReleaseWithInstallProperties.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-dataflow-3746540501904880046/myLogReleaseWithInstallProperties-1509397959271/myLogReleaseWithInstallProperties.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.19:36072\",\"working.dir\":\"/tmp/spring-cloud-dataflow-3746540501904880046/myLogReleaseWithInstallProperties-1509397959271/myLogReleaseWithInstallProperties.log-v1\"},\"id\":\"myLogReleaseWithInstallProperties.log-v1-0\",\"state\":\"deploying\"}},\"state\":\"deploying\"}]"
    },
    "firstDeployed" : 1509397959265,
    "lastDeployed" : 1509397959265,
    "deleted" : null,
    "description" : "Install complete"
  },
  "pkg" : {
    "metadata" : {
      "apiVersion" : "v2",
      "origin" : "samples-package-repository",
      "repositoryId" : 1,
      "kind" : "skipper",
      "name" : "log",
      "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/v1\nkind: SpringBootApp\nmetadata:\n  name: log\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.3.0.M1\n"
    },
    "fileHolders" : [ ]
  },
  "configValues" : {
    "raw" : null
  },
  "manifest" : "\n---\n# Source: log.yml\napiVersion: skipper/v1\nkind: SpringBootApp\nmetadata:\n  name: log\n  type: sink\nspec:\n  resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.3.0.M1\n  resourceMetadata: maven://org.springframework.cloud.stream.app:log-sink-rabbit:jar:metadata:1.3.0.M1\n  applicationProperties:\n  deploymentProperties:\n",
  "platformName" : "default"
}

Response fields

PathTypeDescription

name

String

Name of the release

version

Number

Version of the release

info.status.statusCode

String

StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED)

info.status.platformStatus

String

Status from the underlying platform

info.firstDeployed

Number

Date/Time of first deployment

info.lastDeployed

Number

Date/Time of last deployment

info.deleted

Null

Date/Time of when the release was deleted

info.description

String

Human-friendly 'log entry' about this release

pkg.metadata.apiVersion

String

The Package Index spec version this file is based on

pkg.metadata.origin

String

Indicates the origin of the repository (free form text)

pkg.metadata.repositoryId

Number

The repository ID this Package Index file belongs to

pkg.metadata.kind

String

What type of package system is being used

pkg.metadata.name

String

The name of the package

pkg.metadata.version

String

The version of the package

pkg.metadata.packageSourceUrl

String

Location to source code for this package

pkg.metadata.packageHomeUrl

String

The home page of the package

pkg.metadata.tags

String

A comma separated list of tags to use for searching

pkg.metadata.maintainer

String

Who is maintaining this package

pkg.metadata.description

String

Brief description of the package

pkg.metadata.sha256

Null

Hash of package binary that will be downloaded using SHA256 hash algorithm

pkg.metadata.iconUrl

Null

Url location of a icon

pkg.templates[].name

String

Name is the path-like name of the template

pkg.templates[].data

String

Data is the template as string data

pkg.dependencies

Array

The packages that this package depends upon

pkg.configValues.raw

String

The raw YAML string of configuration values

pkg.fileHolders

Array

Miscellaneous files in a package, e.g. README, LICENSE, etc.

configValues.raw

Null

The raw YAML string of configuration values

manifest

String

The manifest of the release

platformName

String

Platform name of the release

19.5 Status

19.5.1 Get status of release

This REST endpoint provides the status for the last known release version.

Request structure

GET /api/status/myLogRelease HTTP/1.1
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/status/myLogRelease' -i

Response structure

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 990

{
  "status" : {
    "statusCode" : "DEPLOYED",
    "platformStatus" : "[{\"deploymentId\":\"myLogRelease.log-v1\",\"instances\":{\"myLogRelease.log-v1-0\":{\"instanceNumber\":0,\"baseUrl\":\"http://10.194.6.19:55673\",\"process\":{\"errorStream\":{},\"outputStream\":{},\"alive\":true,\"inputStream\":{}},\"attributes\":{\"guid\":\"55673\",\"pid\":\"15782\",\"port\":\"55673\",\"stderr\":\"/tmp/spring-cloud-dataflow-6130275405630560656/myLogRelease-1509397807696/myLogRelease.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-dataflow-6130275405630560656/myLogRelease-1509397807696/myLogRelease.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.19:55673\",\"working.dir\":\"/tmp/spring-cloud-dataflow-6130275405630560656/myLogRelease-1509397807696/myLogRelease.log-v1\"},\"id\":\"myLogRelease.log-v1-0\",\"state\":\"deployed\"}},\"state\":\"deployed\"}]"
  },
  "firstDeployed" : 1509397807681,
  "lastDeployed" : 1509397807681,
  "deleted" : null,
  "description" : "Install complete"
}

Response fields

PathTypeDescription

status.statusCode

String

StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED)

status.platformStatus

String

Status from the underlying platform

firstDeployed

Number

Date/Time of first deployment

lastDeployed

Number

Date/Time of last deployment

deleted

Null

Date/Time of when the release was deleted

description

String

Human-friendly 'log entry' about this release

19.5.2 Get status of release for a specific version

This REST endpoint provides the status for a specific release version.

Request structure

GET /api/status/myLogRelease2/1 HTTP/1.1
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/status/myLogRelease2/1' -i

Response structure

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 999

{
  "status" : {
    "statusCode" : "DEPLOYED",
    "platformStatus" : "[{\"deploymentId\":\"myLogRelease2.log-v1\",\"instances\":{\"myLogRelease2.log-v1-0\":{\"instanceNumber\":0,\"baseUrl\":\"http://10.194.6.19:53790\",\"process\":{\"errorStream\":{},\"outputStream\":{},\"alive\":true,\"inputStream\":{}},\"attributes\":{\"guid\":\"53790\",\"pid\":\"15896\",\"port\":\"53790\",\"stderr\":\"/tmp/spring-cloud-dataflow-6130275405630560656/myLogRelease2-1509397823100/myLogRelease2.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-dataflow-6130275405630560656/myLogRelease2-1509397823100/myLogRelease2.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.19:53790\",\"working.dir\":\"/tmp/spring-cloud-dataflow-6130275405630560656/myLogRelease2-1509397823100/myLogRelease2.log-v1\"},\"id\":\"myLogRelease2.log-v1-0\",\"state\":\"deployed\"}},\"state\":\"deployed\"}]"
  },
  "firstDeployed" : 1509397823092,
  "lastDeployed" : 1509397823092,
  "deleted" : null,
  "description" : "Install complete"
}

Response fields

PathTypeDescription

status.statusCode

String

StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED)

status.platformStatus

String

Status from the underlying platform

firstDeployed

Number

Date/Time of first deployment

lastDeployed

Number

Date/Time of last deployment

deleted

Null

Date/Time of when the release was deleted

description

String

Human-friendly 'log entry' about this release

19.6 Manifest

19.6.1 Get the manifest

REST endpoint that returns the manifest for the last known release version.

Request structure

GET /api/manifest/myLogRelease HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/manifest/myLogRelease' -i \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json'

Response structure

HTTP/1.1 200 OK
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 343


---
# Source: log.yml
apiVersion: skipper/v1
kind: SpringBootApp
metadata:
  name: log
  type: sink
spec:
  resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.2.0.RC1
  resourceMetadata: maven://org.springframework.cloud.stream.app:log-sink-rabbit:jar:metadata:1.2.0.RC1
  applicationProperties:
  deploymentProperties:

19.6.2 Get the manifest for a specific version

REST endpoint that returns the manifest for a specific release version.

Request structure

GET /api/manifest/myLogRelease2/1 HTTP/1.1
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/manifest/myLogRelease2/1' -i

Response structure

HTTP/1.1 200 OK
Content-Type: text/plain;charset=ISO-8859-1
Content-Length: 343


---
# Source: log.yml
apiVersion: skipper/v1
kind: SpringBootApp
metadata:
  name: log
  type: sink
spec:
  resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.2.0.RC1
  resourceMetadata: maven://org.springframework.cloud.stream.app:log-sink-rabbit:jar:metadata:1.2.0.RC1
  applicationProperties:
  deploymentProperties:

19.7 Upgrade

19.7.1 Upgrade a release

Upgrade an existing release using the configured package and config values from the UpgradeRequest.

Request structure

POST /api/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"
  }
}

Example request

$ curl 'http://localhost:7577/api/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"
  }
}'

Response structure

HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 2254

{
  "name" : "myLogRelease",
  "version" : 2,
  "info" : {
    "status" : {
      "statusCode" : "UNKNOWN",
      "platformStatus" : null
    },
    "firstDeployed" : 1509397856488,
    "lastDeployed" : 1509397856488,
    "deleted" : null,
    "description" : "Upgrade install underway"
  },
  "pkg" : {
    "metadata" : {
      "apiVersion" : "v2",
      "origin" : "samples-package-repository",
      "repositoryId" : 1,
      "kind" : "skipper",
      "name" : "log",
      "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/v1\nkind: SpringBootApp\nmetadata:\n  name: log\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.3.0.M1\n"
    },
    "fileHolders" : [ ]
  },
  "configValues" : {
    "raw" : null
  },
  "manifest" : "\n---\n# Source: log.yml\napiVersion: skipper/v1\nkind: SpringBootApp\nmetadata:\n  name: log\n  type: sink\nspec:\n  resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.3.0.M1\n  resourceMetadata: maven://org.springframework.cloud.stream.app:log-sink-rabbit:jar:metadata:1.3.0.M1\n  applicationProperties:\n  deploymentProperties:\n",
  "platformName" : "default"
}

Response fields

PathTypeDescription

name

String

Name of the release

version

Number

Version of the release

info.status.statusCode

String

StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED)

info.status.platformStatus

Null

Status from the underlying platform

info.firstDeployed

Number

Date/Time of first deployment

info.lastDeployed

Number

Date/Time of last deployment

info.deleted

Null

Date/Time of when the release was deleted

info.description

String

Human-friendly 'log entry' about this release

pkg.metadata.apiVersion

String

The Package Index spec version this file is based on

pkg.metadata.origin

String

Indicates the origin of the repository (free form text)

pkg.metadata.repositoryId

Number

The repository ID this Package Index file belongs to

pkg.metadata.kind

String

What type of package system is being used

pkg.metadata.name

String

The name of the package

pkg.metadata.version

String

The version of the package

pkg.metadata.packageSourceUrl

String

Location to source code for this package

pkg.metadata.packageHomeUrl

String

The home page of the package

pkg.metadata.tags

String

A comma separated list of tags to use for searching

pkg.metadata.maintainer

String

Who is maintaining this package

pkg.metadata.description

String

Brief description of the package

pkg.metadata.sha256

Null

Hash of package binary that will be downloaded using SHA256 hash algorithm

pkg.metadata.iconUrl

Null

Url location of a icon

pkg.templates[].name

String

Name is the path-like name of the template

pkg.templates[].data

String

Data is the template as string data

pkg.dependencies

Array

The packages that this package depends upon

pkg.configValues.raw

String

The raw YAML string of configuration values

pkg.fileHolders

Array

Miscellaneous files in a package, e.g. README, LICENSE, etc.

configValues.raw

Null

The raw YAML string of configuration values

manifest

String

The manifest of the release

platformName

String

Platform name of the release

19.8 Rollback

19.8.1 Rollback release

Rollback the release to a previous or a specific release.

Request structure

POST /api/rollback/myLogRelease/1 HTTP/1.1
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/rollback/myLogRelease/1' -i -X POST

Response structure

HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 2607

{
  "name" : "myLogRelease",
  "version" : 3,
  "info" : {
    "status" : {
      "statusCode" : "UNKNOWN",
      "platformStatus" : null
    },
    "firstDeployed" : 1509397740386,
    "lastDeployed" : 1509397740386,
    "deleted" : null,
    "description" : "Initial install underway"
  },
  "pkg" : {
    "metadata" : {
      "apiVersion" : "v1",
      "origin" : "samples-package-repository",
      "repositoryId" : 1,
      "kind" : "skipper",
      "name" : "log",
      "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/v1\nkind: SpringBootApp\nmetadata:\n  name: log\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.RC1\n"
    },
    "fileHolders" : [ ]
  },
  "configValues" : {
    "raw" : "\n---\n# Source: log.yml\napiVersion: skipper/v1\nkind: SpringBootApp\nmetadata:\n  name: log\n  type: sink\nspec:\n  resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.2.0.RC1\n  resourceMetadata: maven://org.springframework.cloud.stream.app:log-sink-rabbit:jar:metadata:1.2.0.RC1\n  applicationProperties:\n  deploymentProperties:\n"
  },
  "manifest" : "\n---\n# Source: log.yml\napiVersion: skipper/v1\nkind: SpringBootApp\nmetadata:\n  name: log\n  type: sink\nspec:\n  resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.2.0.RC1\n  resourceMetadata: maven://org.springframework.cloud.stream.app:log-sink-rabbit:jar:metadata:1.2.0.RC1\n  applicationProperties:\n  deploymentProperties:\n",
  "platformName" : "default"
}

Response fields

PathTypeDescription

name

String

Name of the release

version

Number

Version of the release

info.status.statusCode

String

StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED)

info.status.platformStatus

Null

Status from the underlying platform

info.firstDeployed

Number

Date/Time of first deployment

info.lastDeployed

Number

Date/Time of last deployment

info.deleted

Null

Date/Time of when the release was deleted

info.description

String

Human-friendly 'log entry' about this release

pkg.metadata.apiVersion

String

The Package Index spec version this file is based on

pkg.metadata.origin

String

Indicates the origin of the repository (free form text)

pkg.metadata.repositoryId

Number

The repository ID this Package Index file belongs to

pkg.metadata.kind

String

What type of package system is being used

pkg.metadata.name

String

The name of the package

pkg.metadata.version

String

The version of the package

pkg.metadata.packageSourceUrl

String

Location to source code for this package

pkg.metadata.packageHomeUrl

String

The home page of the package

pkg.metadata.tags

String

A comma separated list of tags to use for searching

pkg.metadata.maintainer

String

Who is maintaining this package

pkg.metadata.description

String

Brief description of the package

pkg.metadata.sha256

Null

Hash of package binary that will be downloaded using SHA256 hash algorithm

pkg.metadata.iconUrl

Null

Url location of a icon

pkg.templates[].name

String

Name is the path-like name of the template

pkg.templates[].data

String

Data is the template as string data

pkg.dependencies

Array

The packages that this package depends upon

pkg.configValues.raw

String

The raw YAML string of configuration values

pkg.fileHolders

Array

Miscellaneous files in a package, e.g. README, LICENSE, etc.

configValues.raw

String

The raw YAML string of configuration values

manifest

String

The manifest of the release

platformName

String

Platform name of the release

19.9 Delete

19.9.1 Delete a release

Delete an existing release by uninstalling the installed packages corresponding to the release.

Request structure

POST /api/delete/myLogRelease HTTP/1.1
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/delete/myLogRelease' -i -X POST

Response structure

HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 2244

{
  "name" : "myLogRelease",
  "version" : 1,
  "info" : {
    "status" : {
      "statusCode" : "DELETED",
      "platformStatus" : null
    },
    "firstDeployed" : 1509397767657,
    "lastDeployed" : 1509397767657,
    "deleted" : null,
    "description" : "Delete complete"
  },
  "pkg" : {
    "metadata" : {
      "apiVersion" : "v1",
      "origin" : "samples-package-repository",
      "repositoryId" : 1,
      "kind" : "skipper",
      "name" : "log",
      "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/v1\nkind: SpringBootApp\nmetadata:\n  name: log\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.RC1\n"
    },
    "fileHolders" : [ ]
  },
  "configValues" : {
    "raw" : null
  },
  "manifest" : "\n---\n# Source: log.yml\napiVersion: skipper/v1\nkind: SpringBootApp\nmetadata:\n  name: log\n  type: sink\nspec:\n  resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.2.0.RC1\n  resourceMetadata: maven://org.springframework.cloud.stream.app:log-sink-rabbit:jar:metadata:1.2.0.RC1\n  applicationProperties:\n  deploymentProperties:\n",
  "platformName" : "default"
}

Response fields

PathTypeDescription

name

String

Name of the release

version

Number

Version of the release

info.status.statusCode

String

StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED)

info.status.platformStatus

Null

Status from the underlying platform

info.firstDeployed

Number

Date/Time of first deployment

info.lastDeployed

Number

Date/Time of last deployment

info.deleted

Null

Date/Time of when the release was deleted

info.description

String

Human-friendly 'log entry' about this release

pkg.metadata.apiVersion

String

The Package Index spec version this file is based on

pkg.metadata.origin

String

Indicates the origin of the repository (free form text)

pkg.metadata.repositoryId

Number

The repository ID this Package Index file belongs to

pkg.metadata.kind

String

What type of package system is being used

pkg.metadata.name

String

The name of the package

pkg.metadata.version

String

The version of the package

pkg.metadata.packageSourceUrl

String

Location to source code for this package

pkg.metadata.packageHomeUrl

String

The home page of the package

pkg.metadata.tags

String

A comma separated list of tags to use for searching

pkg.metadata.maintainer

String

Who is maintaining this package

pkg.metadata.description

String

Brief description of the package

pkg.metadata.sha256

Null

Hash of package binary that will be downloaded using SHA256 hash algorithm

pkg.metadata.iconUrl

Null

Url location of a icon

pkg.templates[].name

String

Name is the path-like name of the template

pkg.templates[].data

String

Data is the template as string data

pkg.dependencies

Array

The packages that this package depends upon

pkg.configValues.raw

String

The raw YAML string of configuration values

pkg.fileHolders

Array

Miscellaneous files in a package, e.g. README, LICENSE, etc.

configValues.raw

Null

The raw YAML string of configuration values

manifest

String

The manifest of the release

platformName

String

Platform name of the release

19.10 History

19.10.1 Show version history

List the history of versions for a given release.

Request structure

GET /api/history/myLogRelease/3 HTTP/1.1
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/history/myLogRelease/3' -i

Response structure

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 3032

[ {
  "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.19:28740\",\"process\":{\"errorStream\":{},\"outputStream\":{},\"alive\":true,\"inputStream\":{}},\"attributes\":{\"guid\":\"28740\",\"pid\":\"17138\",\"port\":\"28740\",\"stderr\":\"/tmp/spring-cloud-dataflow-7433366573642419626/myLogRelease-1509397994366/myLogRelease.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-dataflow-7433366573642419626/myLogRelease-1509397994366/myLogRelease.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.19:28740\",\"working.dir\":\"/tmp/spring-cloud-dataflow-7433366573642419626/myLogRelease-1509397994366/myLogRelease.log-v1\"},\"id\":\"myLogRelease.log-v1-0\",\"state\":\"deployed\"}},\"state\":\"deployed\"}]"
    },
    "firstDeployed" : 1509397994355,
    "lastDeployed" : 1509397994355,
    "deleted" : null,
    "description" : "Install complete"
  },
  "pkg" : {
    "metadata" : {
      "apiVersion" : "v1",
      "origin" : "samples-package-repository",
      "repositoryId" : 1,
      "kind" : "skipper",
      "name" : "log",
      "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/v1\nkind: SpringBootApp\nmetadata:\n  name: log\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.RC1\n"
    },
    "fileHolders" : [ ]
  },
  "configValues" : {
    "raw" : null
  },
  "manifest" : "\n---\n# Source: log.yml\napiVersion: skipper/v1\nkind: SpringBootApp\nmetadata:\n  name: log\n  type: sink\nspec:\n  resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.2.0.RC1\n  resourceMetadata: maven://org.springframework.cloud.stream.app:log-sink-rabbit:jar:metadata:1.2.0.RC1\n  applicationProperties:\n  deploymentProperties:\n",
  "platformName" : "default"
} ]

Response fields

PathTypeDescription

[].name

String

Name of the release

[].version

Number

Version of the release

[].info.status.statusCode

String

StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED)

[].info.status.platformStatus

String

Status from the underlying platform

[].info.firstDeployed

Number

Date/Time of first deployment

[].info.lastDeployed

Number

Date/Time of last deployment

[].info.deleted

Null

Date/Time of when the release was deleted

[].info.description

String

Human-friendly 'log entry' about this release

[].pkg.metadata.apiVersion

String

The Package Index spec version this file is based on

[].pkg.metadata.origin

String

Indicates the origin of the repository (free form text)

[].pkg.metadata.repositoryId

Number

The repository ID this Package Index file belongs to

[].pkg.metadata.kind

String

What type of package system is being used

[].pkg.metadata.name

String

The name of the package

[].pkg.metadata.version

String

The version of the package

[].pkg.metadata.packageSourceUrl

String

Location to source code for this package

[].pkg.metadata.packageHomeUrl

String

The home page of the package

[].pkg.metadata.tags

String

A comma separated list of tags to use for searching

[].pkg.metadata.maintainer

String

Who is maintaining this package

[].pkg.metadata.description

String

Brief description of the package

[].pkg.metadata.sha256

Null

Hash of package binary that will be downloaded using SHA256 hash algorithm

[].pkg.metadata.iconUrl

Null

Url location of a icon

[].pkg.templates[].name

String

Name is the path-like name of the template

[].pkg.templates[].data

String

Data is the template as string data

[].pkg.dependencies

Array

The packages that this package depends upon

[].pkg.configValues.raw

String

The raw YAML string of configuration values

[].pkg.fileHolders

Array

Miscellaneous files in a package, e.g. README, LICENSE, etc.

[].configValues.raw

Null

The raw YAML string of configuration values

[].manifest

String

The manifest of the release

[].platformName

String

Platform name of the release

19.11 List

19.11.1 List

List the latest version of releases with status of deployed or failed.

Request structure

GET /api/list HTTP/1.1
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/list' -i

Response structure

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 3032

[ {
  "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.19:29420\",\"process\":{\"errorStream\":{},\"outputStream\":{},\"alive\":true,\"inputStream\":{}},\"attributes\":{\"guid\":\"29420\",\"pid\":\"16621\",\"port\":\"29420\",\"stderr\":\"/tmp/spring-cloud-dataflow-7946711670835771009/myLogRelease-1509397927230/myLogRelease.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-dataflow-7946711670835771009/myLogRelease-1509397927230/myLogRelease.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.19:29420\",\"working.dir\":\"/tmp/spring-cloud-dataflow-7946711670835771009/myLogRelease-1509397927230/myLogRelease.log-v1\"},\"id\":\"myLogRelease.log-v1-0\",\"state\":\"deployed\"}},\"state\":\"deployed\"}]"
    },
    "firstDeployed" : 1509397927221,
    "lastDeployed" : 1509397927221,
    "deleted" : null,
    "description" : "Install complete"
  },
  "pkg" : {
    "metadata" : {
      "apiVersion" : "v1",
      "origin" : "samples-package-repository",
      "repositoryId" : 1,
      "kind" : "skipper",
      "name" : "log",
      "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/v1\nkind: SpringBootApp\nmetadata:\n  name: log\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.RC1\n"
    },
    "fileHolders" : [ ]
  },
  "configValues" : {
    "raw" : null
  },
  "manifest" : "\n---\n# Source: log.yml\napiVersion: skipper/v1\nkind: SpringBootApp\nmetadata:\n  name: log\n  type: sink\nspec:\n  resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.2.0.RC1\n  resourceMetadata: maven://org.springframework.cloud.stream.app:log-sink-rabbit:jar:metadata:1.2.0.RC1\n  applicationProperties:\n  deploymentProperties:\n",
  "platformName" : "default"
} ]

Response fields

PathTypeDescription

[].name

String

Name of the release

[].version

Number

Version of the release

[].info.status.statusCode

String

StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED)

[].info.status.platformStatus

String

Status from the underlying platform

[].info.firstDeployed

Number

Date/Time of first deployment

[].info.lastDeployed

Number

Date/Time of last deployment

[].info.deleted

Null

Date/Time of when the release was deleted

[].info.description

String

Human-friendly 'log entry' about this release

[].pkg.metadata.apiVersion

String

The Package Index spec version this file is based on

[].pkg.metadata.origin

String

Indicates the origin of the repository (free form text)

[].pkg.metadata.repositoryId

Number

The repository ID this Package Index file belongs to

[].pkg.metadata.kind

String

What type of package system is being used

[].pkg.metadata.name

String

The name of the package

[].pkg.metadata.version

String

The version of the package

[].pkg.metadata.packageSourceUrl

String

Location to source code for this package

[].pkg.metadata.packageHomeUrl

String

The home page of the package

[].pkg.metadata.tags

String

A comma separated list of tags to use for searching

[].pkg.metadata.maintainer

String

Who is maintaining this package

[].pkg.metadata.description

String

Brief description of the package

[].pkg.metadata.sha256

Null

Hash of package binary that will be downloaded using SHA256 hash algorithm

[].pkg.metadata.iconUrl

Null

Url location of a icon

[].pkg.templates[].name

String

Name is the path-like name of the template

[].pkg.templates[].data

String

Data is the template as string data

[].pkg.dependencies

Array

The packages that this package depends upon

[].pkg.configValues.raw

String

The raw YAML string of configuration values

[].pkg.fileHolders

Array

Miscellaneous files in a package, e.g. README, LICENSE, etc.

[].configValues.raw

Null

The raw YAML string of configuration values

[].manifest

String

The manifest of the release

[].platformName

String

Platform name of the release

19.11.2 List by release name

List the latest version of releases with status of deployed or failed by the given release name.

Request structure

GET /api/list/myLogRelease2 HTTP/1.1
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/list/myLogRelease2' -i

Response structure

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 3042

[ {
  "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.19:64532\",\"process\":{\"errorStream\":{},\"outputStream\":{},\"alive\":true,\"inputStream\":{}},\"attributes\":{\"guid\":\"64532\",\"pid\":\"16519\",\"port\":\"64532\",\"stderr\":\"/tmp/spring-cloud-dataflow-7946711670835771009/myLogRelease2-1509397911717/myLogRelease2.log-v1/stderr_0.log\",\"stdout\":\"/tmp/spring-cloud-dataflow-7946711670835771009/myLogRelease2-1509397911717/myLogRelease2.log-v1/stdout_0.log\",\"url\":\"http://10.194.6.19:64532\",\"working.dir\":\"/tmp/spring-cloud-dataflow-7946711670835771009/myLogRelease2-1509397911717/myLogRelease2.log-v1\"},\"id\":\"myLogRelease2.log-v1-0\",\"state\":\"deployed\"}},\"state\":\"deployed\"}]"
    },
    "firstDeployed" : 1509397911707,
    "lastDeployed" : 1509397911707,
    "deleted" : null,
    "description" : "Install complete"
  },
  "pkg" : {
    "metadata" : {
      "apiVersion" : "v1",
      "origin" : "samples-package-repository",
      "repositoryId" : 1,
      "kind" : "skipper",
      "name" : "log",
      "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/v1\nkind: SpringBootApp\nmetadata:\n  name: log\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.RC1\n"
    },
    "fileHolders" : [ ]
  },
  "configValues" : {
    "raw" : null
  },
  "manifest" : "\n---\n# Source: log.yml\napiVersion: skipper/v1\nkind: SpringBootApp\nmetadata:\n  name: log\n  type: sink\nspec:\n  resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.2.0.RC1\n  resourceMetadata: maven://org.springframework.cloud.stream.app:log-sink-rabbit:jar:metadata:1.2.0.RC1\n  applicationProperties:\n  deploymentProperties:\n",
  "platformName" : "default"
} ]

Response fields

PathTypeDescription

[].name

String

Name of the release

[].version

Number

Version of the release

[].info.status.statusCode

String

StatusCode of the release’s status (UNKNOWN,DEPLOYED,DELETED,FAILED)

[].info.status.platformStatus

String

Status from the underlying platform

[].info.firstDeployed

Number

Date/Time of first deployment

[].info.lastDeployed

Number

Date/Time of last deployment

[].info.deleted

Null

Date/Time of when the release was deleted

[].info.description

String

Human-friendly 'log entry' about this release

[].pkg.metadata.apiVersion

String

The Package Index spec version this file is based on

[].pkg.metadata.origin

String

Indicates the origin of the repository (free form text)

[].pkg.metadata.repositoryId

Number

The repository ID this Package Index file belongs to

[].pkg.metadata.kind

String

What type of package system is being used

[].pkg.metadata.name

String

The name of the package

[].pkg.metadata.version

String

The version of the package

[].pkg.metadata.packageSourceUrl

String

Location to source code for this package

[].pkg.metadata.packageHomeUrl

String

The home page of the package

[].pkg.metadata.tags

String

A comma separated list of tags to use for searching

[].pkg.metadata.maintainer

String

Who is maintaining this package

[].pkg.metadata.description

String

Brief description of the package

[].pkg.metadata.sha256

Null

Hash of package binary that will be downloaded using SHA256 hash algorithm

[].pkg.metadata.iconUrl

Null

Url location of a icon

[].pkg.templates[].name

String

Name is the path-like name of the template

[].pkg.templates[].data

String

Data is the template as string data

[].pkg.dependencies

Array

The packages that this package depends upon

[].pkg.configValues.raw

String

The raw YAML string of configuration values

[].pkg.fileHolders

Array

Miscellaneous files in a package, e.g. README, LICENSE, etc.

[].configValues.raw

Null

The raw YAML string of configuration values

[].manifest

String

The manifest of the release

[].platformName

String

Platform name of the release

19.12 Resources Repositories

19.12.1 Retrieving a list of repositories

A GET request will return a paginated list for all Spring Cloud Skipper repositories.

Request structure

GET /api/repositories?page=0&size=10 HTTP/1.1
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/repositories?page=0&size=10' -i

Response structure

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
  }
}

Response fields

PathTypeDescription

page

Object

Pagination properties

page.size

Number

The size of the page being returned

page.totalElements

Number

Total elements available for pagination

page.totalPages

Number

Total amount of pages

page.number

Number

Page number of the page returned (zero-based)

_embedded.repositories

Array

Contains a collection of Repositories

_embedded.repositories[].name

String

Name of the Repository

_embedded.repositories[].url

String

Url of the Repository

_embedded.repositories[].sourceUrl

Null

Source Url of the repository

_embedded.repositories[].description

String

Description of the Repository

_embedded.repositories[].local

Boolean

Is the repo local?

_embedded.repositories[].repoOrder

Null

Order of the Repository

19.12.2 Retrieving a single repository

A GET request will return a single Spring Cloud Skipper repositories.

Request structure

GET /api/repositories/1 HTTP/1.1
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/repositories/1' -i

Response structure

HTTP/1.1 200 OK
ETag: "0"
Content-Type: application/hal+json;charset=UTF-8
Content-Length: 377

{
  "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"
    }
  }
}

Response fields

PathTypeDescription

name

String

Name of the Repository

url

String

URL of the Repository

description

String

Description of the Repository

local

Boolean

Is the repo local?

repoOrder

Null

Order of the Repository

sourceUrl

Null

Source URL of the repository

19.13 App Deployers Datas

19.13.1 Retrieving a list of app deployer datas

A GET request will return a paginated list for all Spring Cloud Skipper app deployer data.

Request structure

GET /api/appDeployerDatas?page=0&size=10 HTTP/1.1
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/appDeployerDatas?page=0&size=10' -i

Response structure

HTTP/1.1 200 OK
Content-Type: application/hal+json;charset=UTF-8
Content-Length: 471

{
  "_embedded" : {
    "appDeployerDatas" : [ ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:7577/api/appDeployerDatas{&sort}",
      "templated" : true
    },
    "profile" : {
      "href" : "http://localhost:7577/api/profile/appDeployerDatas"
    },
    "search" : {
      "href" : "http://localhost:7577/api/appDeployerDatas/search"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 0,
    "totalPages" : 0,
    "number" : 0
  }
}

Response fields

PathTypeDescription

page

Object

Pagination properties

page.size

Number

The size of the page being returned

page.totalElements

Number

Total elements available for pagination

page.totalPages

Number

Total amount of pages

page.number

Number

Page number of the page returned (zero-based)

_embedded.appDeployerDatas

Array

Array of App Deployer Data objects.

19.14 Deployers

19.14.1 Retrieving a list of app deployers

A GET request will return a paginated list for all the Spring Cloud Skipper application deployers.

Request structure

GET /api/deployers?page=0&size=10 HTTP/1.1
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/deployers?page=0&size=10' -i

Response structure

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/1ec7eda6-6042-4cc4-a634-62a8f4f48bc5"
        },
        "deployer" : {
          "href" : "http://localhost:7577/api/deployers/1ec7eda6-6042-4cc4-a634-62a8f4f48bc5"
        }
      }
    } ]
  },
  "_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
  }
}

Response fields

PathTypeDescription

page

Object

Pagination properties

page.size

Number

The size of the page being returned

page.totalElements

Number

Total elements available for pagination

page.totalPages

Number

Total amount of pages

page.number

Number

Page number of the page returned (zero-based)

_embedded.deployers

Array

Array containing Deployer objects

_embedded.deployers[].name

String

Name of the deployer

_embedded.deployers[].type

String

Type of the deployer (e.g. 'local')

_embedded.deployers[].description

String

Description providing some deployer properties

19.15 Releases

19.15.1 Retrieving a list of releases

A GET request will return a paginated list for all Spring Cloud Skipper releases.

Request structure

GET /api/releases?page=0&size=10 HTTP/1.1
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/releases?page=0&size=10' -i

Response structure

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
  }
}

Response fields

PathTypeDescription

page

Object

Pagination properties

page.size

Number

The size of the page being returned

page.totalElements

Number

Total elements available for pagination

page.totalPages

Number

Total amount of pages

page.number

Number

Page number of the page returned (zero-based)

_embedded.releases

Array

Provides a list of releases

19.16 Package Metadata

19.16.1 Retrieving a list of package metadata

A GET request will return a paginated list for all Spring Cloud Skipper package metadata.

Request structure

GET /api/packageMetadata?page=0&size=10 HTTP/1.1
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/packageMetadata?page=0&size=10' -i

Response structure

HTTP/1.1 200 OK
Content-Type: application/hal+json;charset=UTF-8
Content-Length: 8064

{
  "_embedded" : {
    "packageMetadata" : [ {
      "apiVersion" : "v1",
      "origin" : "samples-package-repository",
      "repositoryId" : 1,
      "kind" : "skipper",
      "name" : "log",
      "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/install/1"
        }
      }
    }, {
      "apiVersion" : "v2",
      "origin" : "samples-package-repository",
      "repositoryId" : 1,
      "kind" : "skipper",
      "name" : "log",
      "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/install/2"
        }
      }
    }, {
      "apiVersion" : "v1",
      "origin" : "samples-package-repository",
      "repositoryId" : 1,
      "kind" : "skipper",
      "name" : "log",
      "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/install/3"
        }
      }
    }, {
      "apiVersion" : "v1",
      "origin" : "samples-package-repository",
      "repositoryId" : 1,
      "kind" : "skipper",
      "name" : "time",
      "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/install/4"
        }
      }
    }, {
      "apiVersion" : "v1",
      "origin" : "samples-package-repository",
      "repositoryId" : 1,
      "kind" : "skipper",
      "name" : "ticktock",
      "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/install/5"
        }
      }
    }, {
      "apiVersion" : "v1",
      "origin" : "samples-package-repository",
      "repositoryId" : 1,
      "kind" : "skipper",
      "name" : "log-docker",
      "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 version",
      "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/install/6"
        }
      }
    }, {
      "apiVersion" : "v1",
      "origin" : "samples-package-repository",
      "repositoryId" : 1,
      "kind" : "skipper",
      "name" : "log-docker",
      "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/install/7"
        }
      }
    }, {
      "apiVersion" : "v1",
      "origin" : "samples-package-repository",
      "repositoryId" : 1,
      "kind" : "skipper",
      "name" : "helloworld-docker",
      "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/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
  }
}

Response fields

PathTypeDescription

page

Object

Pagination properties

page.size

Number

The size of the page being returned

page.totalElements

Number

Total elements available for pagination

page.totalPages

Number

Total amount of pages

page.number

Number

Page number of the page returned (zero-based)

_embedded.packageMetadata

Array

Contains a collection of Package Metadata items

_embedded.packageMetadata[].apiVersion

String

The Package Index spec version this file is based on

_embedded.packageMetadata[].origin

String

Indicates the origin of the repository (free form text)

_embedded.packageMetadata[].repositoryId

Number

The repository ID this Package Index file belongs to

_embedded.packageMetadata[].kind

String

What type of package system is being used

_embedded.packageMetadata[].name

String

The name of the package

_embedded.packageMetadata[].version

String

The version of the package

_embedded.packageMetadata[].packageSourceUrl

String

Location to source code for this package

_embedded.packageMetadata[].packageHomeUrl

String

The home page of the package

_embedded.packageMetadata[].tags

String

A comma separated list of tags to use for searching

_embedded.packageMetadata[].maintainer

String

Who is maintaining this package

_embedded.packageMetadata[].description

String

Brief description of the package

_embedded.packageMetadata[].sha256

Null

Hash of package binary that will be downloaded using SHA256 hash algorithm

_embedded.packageMetadata[].iconUrl

Null

Url location of a icon

19.16.2 Package metadata details

A GET request will return details of a package using the id of the package.

Request structure

GET /api/packageMetadata/1 HTTP/1.1
Host: localhost:7577

Example request

$ curl 'http://localhost:7577/api/packageMetadata/1' -i

Response structure

HTTP/1.1 200 OK
ETag: "1"
Content-Type: application/hal+json;charset=UTF-8
Content-Length: 859

{
  "apiVersion" : "v1",
  "origin" : "samples-package-repository",
  "repositoryId" : 1,
  "kind" : "skipper",
  "name" : "log",
  "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/install/1"
    }
  }
}

Response fields

PathTypeDescription

apiVersion

String

The Package Index spec version this file is based on

origin

String

Indicates the origin of the repository (free form text)

repositoryId

Number

The repository ID this Package Index file belongs to

kind

String

What type of package system is being used

name

String

The name of the package

version

String

The version of the package

packageSourceUrl

String

Location to source code for this package

packageHomeUrl

String

The home page of the package

tags

String

A comma separated list of tags to use for searching

maintainer

String

Who is maintaining this package

description

String

Brief description of the package

sha256

Null

Hash of package binary that will be downloaded using SHA256 hash algorithm

iconUrl

Null

Url location of a icon