Skip to content

MindSphere Managed Backing Services

This section gives an overview of the included Backing Services. Each instance of a Backing Service runs on a dedicated virtual machine. These virtual machines and services are operated by MindSphere.

Available Backing Services

The following Backing Services are currently included and available as subscription and Pay-per-Use version:

Backing Service Description Plan
PostgreSQL PostgreSQL is a powerful, open source object-relational database system. postgresql-xs
postgresql-s10
postgresql-m50
postgresql-s10_ha
postgresql-m
postgresql-m150_ha
Redis Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. redis-xs
redis-s10
redis-m50
redis-s10_ha
redis-m
redis-m150_ha
RabbitMQ RabbitMQ is the most widely deployed open source message broker. rabbitmq-xs
rabbitmq-s10
rabbitmq-m50
rabbitmq-s10_ha
rabbitmq-m
rabbitmq-m150_ha
Elasticsearch Elasticsearch is a distributed, RESTful search and analytics engine capable of solving a growing number of use cases. As the heart of the Elastic Stack, it centrally stores your data so you can discover the expected and uncover the unexpected. elasticsearch-xs
elasticsearch-s10
elasticsearch-m50
elasticsearch-s10_ha
elasticsearch-m
elasticsearch-m150_ha
LogMe LogMe allows to provision Elasticsearch, Logstash and Kibana, i.e. the ELK-stack. Simply bind your Cloud Foundry app to LogMe and it will automatically start collecting metrics and syslogs from your apps and services. logme-xs
logme-s10
logme-m50
logme-s10_ha
logme-m
logme-m150_ha

Service Plans

All service plans (*-xs, *-s10, *-m50, *-s10_ha, *-m and *-m150_ha) are enabled for every Org. Those plans are all marked as paid plans as you can buy additional instances of those. Depending on your offering a certain amount of concurrent instances is included. The following table lists those for the MindAccess Developer Plan:

Offering Concurrent instances included
Developer Plan S 2 XS instances
Developer Plan M 4 XS instances
Developer Plan L 6 XS instances

You can buy additional service instances in different sizes via the MindSphere Store. Therefore, the Cloud Foundry quota of your Org does not reflect allowed number of concurrent service instances.

Update to a larger Service Plan

Upgrade the service plan using the following command:

1
cf update-service <serviceName> -p <largerPlanName>

Note

Refer to Upgrade the Service Instance to another Service Plan chapter of individual Backing Service description to see the update possibilities.
* Elasticsearch
* LogMe
* PostgreSQL
* RabbitMQ
* Redis

Disk Alerts

Every service instance is monitored by a Parachute component to evaluate the ephemeral and persistent disk usage. If a disk usage reaches the configured threshold Parachute stops all of this instance's processes and writes a message into the log directory:

Limit reached for: <persistent/ephemeral> disk

Note

The disk sizes in the specification tables show the total virtual disk size. Some parts of the disk are not usable for data. These parts are for example: disk partition losses, root reservations, WAL files for PostgreSQL replication. By default, the Parachute threshold is set to 80%.
With this combined, for example a PostgreSQL service plan size m instance with 50 GB disk can use about 35 GB for your data before it becomes stopped by Parachute component.

Restart Stopped Instances

The disk usage threshold for service instances is set to 80% by default. When restarting a stopped service instance, the threshold can be configured using the max_disk_threshold parameter. It accepts integer values between 0 and 100. The following sample shows how to restart a service instance with a threshold of 90%:

1
cf update-service <serviceName> -c '{"max_disk_threshold": "90"}'

Restarting the service instance takes a few minutes.

Attention

This is only a temporary solution. The service instance is stopped when the threshold is reached again. For a long-term solution, the service instance must be updated to a larger plan size if available.

Sharing Service Instances

Sharing a service instance between spaces allows apps in different spaces to use the same instance of a MindSphere managed backing service. This eliminates the need to use service keys and user-provided services to bind apps to the same service instance.

Refer to the Cloud Foundry documentation about sharing instances for further details.

Features

  • Service instances can be shared among multiple spaces within one Cloud Foundry org.
  • Sharing service instances among spaces requires the Space Developer role in these spaces.
  • Service instances can be bound or unbound in spaces it is shared with, but cannot updated, renamed or deleted.
  • Configuration parameters used for provisioning or updating the service instance can be read from all spaces the instance is shared with.
  • Sharing a service instance to another space does not decrease the remaining service count quota of your org.
  • Shared service instances only count as one instance in the service count quota of your org.

Example scenario

Consider two development teams who deployed apps in their own spaces. Their apps shall communicate using a messaging queue.

  1. The development team in space A creates a RabbitMQ service instance, binds it to their app, and shares the service instance with space B.
  2. The development team in space B binds their app to the same service instance and the apps can begin to communicate.

Refer to the How Tos for instructions.

Restart or Recreate the Service Instance

To restart or recrate a running service instance, use the related buttons in the lower left corner of the service dashboard.

Service Dashboard Restart Recreate

Info

The restart button will trigger a shutdown/turn-on actions on all processes of the current instance.
The recreate button will remove and recreate the current instance and its related processes.

Instance Metrics

The Service Dashboard also offers a visualization of the following metrics from your Service Instance, per node:

This allows you to know at a glance your current consumption of resources. For a single instance, the metrics are displayed as shown in the image below:

Service Dashboard Metrics Single

For a cluster instance, the metrics are displayed in separate tabs, one per node, as shown in the image below:

Service Dashboard Metrics Cluster

Info

The order of the tabs is dynamic, which means that there is no special order of the tabs.

Size Calculation

The metrics collector gathers and shares the Service Instance's metrics in bytes. To make the values human readable, the values are converted to megabytes by dividing the bytes by 1024^2. This means, the value shown in the dashboard might differ from other tools which take the approach to divide by 1000^2.

The data are displayed in a used/available format.

Disks

The a9s Service Dashboard displays the following disks:

  • system: contains the operating system itself
  • ephemeral: mainly used for automation/infrastructure data and log data
  • persistent: mainly used for persistent data of the underlying data service

Other temporary disks are shown in disks metrics of Service Dashboard API.

Backing Service API

All backing services (except LogMe) provide an API for their service dashboard. With this API you can:

  • Get backing service instance metrics
  • List backups and restores, create backups, download backups and restore backups

Accessing the API

For Authentication and Authorization, you can use your WebKey user or create CloudFoundry Service Credentials in MindSphere and use this user.

Note

Your user needs SpaceDeveloper role for the space where your service is located.

Get bearer token with CF CLI

Authentication:
The following description shows how to get the bearer token for CloudFoundry Service Credentials created in MindSphere, using the CF CLI.

1
2
3
4
cf api https://api.cf.eu1.mindsphere.io
cf auth ${service_credentials_user} ${service_credentials_password}
oauth_token=$(cf oauth-token)
bearer_token=$(echo ${oauth_token} | grep bearer)

Get bearer token using curl

Authentication:
The following description shows how to get the bearer token for CloudFoundry Service Credentials created in MindSphere, using curl.

1
2
login_res=$(curl -XPOST -H "Application/json" -u "cf:" --data "username=${service_credentials_user}&password=${service_credentials_password}&client_id=cf&grant_type=password&response_type=token" https://login.cf.eu1.mindsphere.io/oauth/token)
bearer_token="bearer $(echo ${login_res} | jq '.access_token' | tr -d \")"

Using the API

For using the API, you need the service dashboard URL. Get the dashboard URL with cf service {instance_name}, e.g.:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
$cf service my-postgresql

Service instance: my-postgresql
Service: postgresql
Bound apps:
Tags:
Plan: postgresql-xs
Description: This is a service creating and managing dedicated PostgreSQL service instances and clusters, powered by the anynines Service Framework
Documentation url:
Dashboard: https://a9s-postgresql-dashboard.cf.eu1.mindsphere.io/service-instances/b02f4682-b4ba-4f04-9f25-0d24e09d8f0c/

Last Operation
Status: update succeeded
Message:
Started: 2017-10-26T08:28:38Z
Updated: 2017-10-26T08:28:38Z

For getting the Metrics API, you have to replace the part service-instances in the dashboard URL with v1/instances.

Example:

For dashboard URL
https://a9s-postgresql-dashboard.cf.eu1.mindsphere.io/service-instances/b02f4682-b4ba-4f04-9f25-0d24e09d8f0c/ (in following documentation named as dashboard_url)
the according Metrics API is
https://a9s-postgresql-dashboard.cf.eu1.mindsphere.io/v1/instances/b02f4682-b4ba-4f04-9f25-0d24e09d8f0c/ (in following documentation named as metrics_api).

Authorization:
For authorization, you need to execute the following request:

1
curl --cookie test.cookie --cookie-jar test.cookie --location --insecure --header "Authorization: ${bearer_token}" "${dashboard_url}"

Metrics API

Displays the metrics of your Service Instance.

1
curl --cookie test.cookie --cookie-jar test.cookie --location --insecure --header "Authorization: ${bearer_token}" "${metrics_api}/metrics?quantity=1"

Info

quantity defines the number of latest elements to be returned. If not set, all elements will be returned. Quantity must be greater than or equal to 1.

Response

The response is a JSON that contains a collection of metrics datapoints. These datapoints are strings in Graphite format: <path> <value> <timestamp>.

  • path: The metric namespace. The string is made of independent parts separated by dots (.): <namespace>.<type>.<specific>
  • namespace: The component under observation.
    The namespace is separated by dots (.) as well: <org-guid>.<space-guid>.<instance-guid>.<internal-instance-name>.<internal-service-name>.<node>
    Namespace examples:
    • 38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.7189a3e2-a0fb-4233-8c0d-d1ba3e6b970b.lod50f556.logme-es.0
    • 38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.2
  • type: Currently the suported DataPoint type is system
  • specific: The kind of data point. See below for more information.
  • value: The number that is assigned to the metric at this time
  • timestamp: The number of seconds elapsed since the Unix epoch
Load
Name Description
load.error 0 if the load average metrics could be fetched, 1 otherwise
load.load1 represents the average system load during the last one-minute period of time; multiplied by 1000000
load.load5 represents the average system load during the last five-minute period of time; multiplied by 1000000
load.load15 represents the average system load during the last fifteen-minute period of time; multiplied by 1000000
CPUs

The CPU number starts with 0.

Name Description
cpu.error 0 if the CPU stats could be fetched, 1 otherwise
cpu<number>.user the amount of time in milliseconds the CPU was busy running non-kernel code (user time, including nice time)
cpu<number>.system the amount of time in milliseconds the CPU was busy running kernel code
cpu<number>.idle the amount of time in milliseconds the CPU was not busy, or, otherwise, the amount of time in milliseconds it executed the kernel idle handler
Memory
Name Description
memory.error 0 if the memory stats could be fetched, 1 otherwise
memory.total the maximum available amount of memory in bytes
memory.used the amount of memory in bytes currently being used
memory.free the amount of memory in bytes not currently in use by any running process
memory.shared the amount of memory in bytes used by the tmpfs file system and also the shared memory
memory.buffers the amount of memory in bytes used as buffers
memory.cached the amount of memory in bytes used as cache
Swap
Name Description
swap.error 0 if the swap stats could be fetched, 1 otherwise
swap.total the maximum available amount of swap space in bytes
swap.used the amount of swap space in bytes currently being used
swap.free the amount of swap space in bytes not currently in use by any running process
Disks

Only physical devices with a size greater than 0 are monitored.

Name Description
disk.error 0 if the available disks stats could be fetched, 1 otherwise
disk.<name>.error 0 if the disk stats could be fetched, 1 otherwise
disk.<name>.total the maximum available amount of disk space in bytes
disk.<name>.used the amount of disk space in bytes currently being used
disk.<name>.free the amount of disk space in bytes not currently in use

The mount point of the device is used as name. The first / of the mount point is removed and all other / are replaced by _. The following mount points have special names:

Mount Point Name
/ system
/var/vcap/data ephemeral
/var/vcap/store persistent
Body

For success responses, the body contains the collection of metrics datapoints which can be piped to a file.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
[
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.load.error 0 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.load.load1 360000 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.load.load5 290000 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.load.load15 120000 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.cpu.error 0 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.cpu0.user 8150 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.cpu0.system 12970 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.cpu0.idle 120660 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.cpu1.user 8270 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.cpu1.system 9780 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.cpu1.idle 121010 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.memory.error 0 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.memory.total 481349632 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.memory.used 117506048 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.memory.free 12460032 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.memory.shared 26669056 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.memory.buffers 20025344 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.memory.cached 331358208 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.swap.error 0 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.swap.total 481292288 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.swap.used 262144 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.swap.free 481030144 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.error 0 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.system.error 0 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.system.total 3103686656 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.system.used 1545281536 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.system.free 1382715392 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.ephemeral.error 0 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.ephemeral.total 9958883328 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.ephemeral.used 946991104 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.ephemeral.free 8482414592 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.var_log.error 0 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.var_log.total 9958883328 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.var_log.used 946991104 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.var_log.free 8482414592 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.tmp.error 0 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.tmp.total 9958883328 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.tmp.used 946991104 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.tmp.free 8482414592 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.var_tmp.error 0 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.var_tmp.total 9958883328 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.var_tmp.used 946991104 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.var_tmp.free 8482414592 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.home.error 0 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.home.total 3103686656 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.home.used 1545281536 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.home.free 1382715392 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.persistent.error 0 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.persistent.total 3101442048 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.persistent.used 52965376 1614161502",
  "38d7d572-8101-4d8b-b8a2-4e8c4f6b7022.b3613b75-130b-4e78-a7d2-275cd7382411.4a9c81a1-838f-4f41-b094-2869c6a586b8.pod143bb5.pg.0.system.disk.persistent.free 2870743040 1614161502"
]

For error responses, the following fields are defined:

Response Field Type Description
error string A single word in camel case that uniquely identifies the error condition.
description string A user-facing error message explaining why the request failed.
Status
Status Code Description
200 OK The metrics were succesfully fetched.
401 Unauthorized The user does not have valid authentication credentials for the target resource
404 Not Found Entity not found.
500 Internal Server Error An unexpected error occured while handling the request.
502 Bad Gateway An error occured during upstream communication.
504 Gateway Timeout A timeout occured during upstream communication.

Backups API - List Backups and Restores

Lists all available backups and restores that have been applied.

1
curl --cookie test.cookie --cookie-jar test.cookie --location --insecure --header "Authorization: ${bearer_token}" "${dashboard_url}/backups"
Response

Note

The response description contains only the relevant fields.

Status Code Description
200 OK If the request has been processed successfully. The response body is below.
Body

For success responses, the following fields are defined:

Response Field Type Description
instance_id string The internal ID of the service instance. This ID is needed for restoring a backup.
backups array of Backup Objects Schema of backup objects defined below. The array may be empty.
restores array of Restore Objects Schema of restore objects defined below. The array may be empty.
Backup Object
Response Field Type Description
id integer The internal ID of the backup. This ID is needed for restoring a backup.
backup_agent_task Backup Agent Task object Schema of backup agent task object defined below.
Restore Object
Response Field Type Description
backup_agent_tasks array of Backup Agent Task objects Schema of backup agent task objects defined below.
Backup Agent Task Object
Response Field Type Description
status string The status of the task. The following stati exist: queued, running, done, failed, deleted.
created_at datetime The date the task was created.
updated_at datetime The date on which the status of the task was last changed.

Backups API - Create Backup

Trigger the creation of a backup of the service instance.

1
curl --cookie test.cookie --cookie-jar test.cookie --location --insecure --header "Authorization: ${bearer_token}" -X POST "${dashboard_url}/backups"
Response
Status Code Description
201 Created If the backup has been scheduled.
Body

For success responses, the following fields are defined:

Response Field Type Description
id integer The ID of the backup.
message string Backup creation status message.

Backups API - Restore Backup

Trigger the restore of a backup of the service instance.

Request Body Type Description
instance_id integer The internal ID of the service instance.
backup_id integer The internal ID of the backup.

You can get the IDs by listing all Backups and Restores.

1
curl --cookie test.cookie --cookie-jar test.cookie --location --insecure --header "Authorization: ${bearer_token}" -X POST "${dashboard_url}/backups/restore" --data "instance_id=${instance_id}" --data "backup_id=${backup_id}"
Response
Status Code Description
200 OK If the restore has been scheduled.
412 Precondition Failed Either instance_id or backup_id does not exist or match.
Body

For success responses, the following fields are defined:

Response Field Type Description
restore_id integer The internal ID of the restore.

For error responses, the following fields are defined:

Response Field Type Description
msg string Restore failure message.

Backups API - Download Backup

Downloads the given backup of a given Service Instance

1
curl --cookie test.cookie --cookie-jar test.cookie --location --insecure --header "Authorization: ${bearer_token}" "${dashboard_url}/backups/${backup_id}/download"
Response
Status Code Description
200 OK If the backup download is started
412 Precondition Failed Either instance_id or backup_id does not exist or match.
Body

For success responses, the body contains the encrypted and compressed backup. The response should be piped into a file.
How to decrypt and decompress the backup is described here.

For error responses, the following fields are defined:

Response Field Type Description
msg string Download failure message

Backing Service Documentation

Any questions left?

Ask the community


Except where otherwise noted, content on this site is licensed under the MindSphere Development License Agreement.