Search

13.2. Embedded Cartridges

download PDF
Embedded cartridges are added to an OpenShift application to extend functionality. For example, a MySQL cartridge provides database support for an application.

13.2.1. Add Embedded Cartridge

Description

Add an embedded cartridge to an application.

Method and URL Structure

Method Resource URL
POST /broker/rest/application/:id/cartridges

Request Parameters

Name Description Required Default
name Name of cartridge; note that valid options may be different from those shown here Yes
colocate_with Component to colocate with No  
scales_from Minimum number of gears to run component No
scales_to Maximum number of gears to run component No
additional_storage Additional GB of storage request on gears running this component No
gear_size Cartridge gear size No  
url URL to a downloadable cartridge No
environment_variables Add or update application environment variables No

See Section A.7, “Cartridges” for more information about the valid options applicable to these request parameters.
Request

{
  "name": "mysql-5.5",
  "colocate_with": "ruby-2.0",
  "gear_size": "small"
}

cURL Command Example

$ curl -X POST https://openshift.redhat.com/broker/rest/application/534253991015616165707776/cartridges --user "user:Password" --data-urlencode name=mysql-5.5 --data-urlencode colocate_with=ruby-2.0 --data-urlencode gear_size=small

JSON Response

The API returns the embedded cartridge resource. Unnecessary information and related resource links returned by the API have been removed for brevity. See Chapter 13, Cartridges for more information on all cartridge parameters.

{
  "api_version": 1.6,
  "data": {
    "additional_gear_storage": 0,
    "base_gear_storage": 1,
    "collocated_with": [
      "ruby-2.0",
      "haproxy-1.4"
    ],
    "current_scale": 1,
    "description": "MySQL is a multi-user, multi-threaded SQL database server.",
    "display_name": "MySQL Database 5.5",
    "gear_profile": "small",
    "help_topics": {
    },
    "license": "GPL",
    "license_url": "",
    "name": "mysql-5.5",
    "properties": [
      {
        "name": "username",
        "type": "cart_data",
        "description": "Root user on mysql database",
        "value": "adminthGnHLU"
      },
      {
        "name": "password",
        "type": "cart_data",
        "description": "Password for root user on mysql database",
        "value": "dPFjWLrUjfxC"
      },
      {
        "name": "database_name",
        "type": "cart_data",
        "description": "MySQL DB name",
        "value": "myapp"
      },
      {
        "name": "connection_url",
        "type": "cart_data",
        "description": "MySQL DB connection URL",
        "value": "mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/"
      }
    ],
    "scales_from": 1,
    "scales_to": 1,
    "scales_with": "haproxy-1.4",
    "status_messages": null,
    "supported_scales_from": 1,
    "supported_scales_to": 1,
    "tags": [
      "service",
      "database",
      "embedded"
    ],
    "type": "embedded",
    "url": null,
    "usage_rates": [

    ],
    "version": "5.5",
    "website": "http://www.mysql.com"
  },
  "messages": [
    {
      "exit_code": 0,
      "field": null,
      "severity": "info",
      "text": "Added mysql-5.5 to application myapp"
    },
    {
      "exit_code": 0,
      "field": null,
      "severity": "debug",
      "text": "\n\nmysql-5.5: Connection URL: mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT\n"
    },

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.