Runtime Stacks

A stack is a runtime configuration for a workspace. It contains a runtime recipe, meta information like tags, description, environment name, and security policies. Since RIDE Server supports different kinds of runtimes, there are different stack recipe formats.

Stacks are displayed within the user dashboard and stack tags are used to filter the project code samples that are available. It is possible to have a single stack with a variety of different project samples, each of which are filtered differently.

You can use RIDE Server’s built-in stacks or author your own custom stacks.

A stack is different from a recipe. A stack is a JSON definition with meta information which includes a reference to a recipe. A recipe is either a Dockerfile or a Docker compose file used by RIDE Server to create a runtime that will be embedded within the workspace. 

Using Stacks To Create A New Workspace

To create a new workspace in the user dashboard:

  • Click Dashboard > Create Workspace
  • Click Workspaces > Add Workspace
  • Hit the “+” next to Recent Workspaces

The stack selection form is available in the “Select Stack” section, it allows you to choose stacks provided with RIDE Server or create and edit your own stack.

Quick Start Stacks

RIDE Server provides quick start stacks for various technologies. These stacks provide a default set of tools and commands that are related to a particular technology.

Stack Administration

Stack Loading

Stacks are loaded from a JSON file that is packaged into resources of a special component deployed with a workspace master. This JSON isn’t exposed to users and stack management is performed in User Dashboard (that uses REST API).

Stacks are loaded from a JSON file only when the database is initialized, i.e. when a user first starts RIDE Server. 

Configuring Stacks

In the user dashboard, click the Stacks to view all the available stacks. New stacks can be created and existing stacks can be modified/searched.

Java Stack Example - Annotated

{
  "description": "SQL, R, Python 3 and Julia with Gadfly, RDatasets and HDF5. Intrinsic package plus data science packages.",
  "scope": "general",
  "workspaceConfig": {
    "environments": {
      "default": {
        "recipe": {
          "contentType": "application/x-yaml",
          "type": "compose",
          "content": "services:\n  dev-machine:\n    image: 'rideserver/ride-data-ws:latest'\n    environment:\n      RIDE: RIDE\n"
        },
        "machines": {
          "dev-machine": {
            "agents": [
              "org.eclipse.che.ws-agent",
              "org.eclipse.che.ssh",
              "org.eclipse.che.terminal",
              "org.eclipse.che.exec"
            ],
            "servers": {},
            "attributes": {
              "memoryLimitBytes": "2147483648"
            }
          }
        }
      }
    },
    "defaultEnv": "default",
    "commands": [],
    "projects": [],
    "name": "default",
    "links": []
  },
  "creator": "R-Brain",
  "components": [],
  "tags": [
    "R, Python, SQL, Julia"
  ],
  "name": "Data Science",
  "id": "ride-data-ws"
}

Learn more about the stack data model on the following page.

Create A Stack

A stack can be created from scratch using a skeleton template or duplicated from an existing stack.

To create a stack from scratch click the Add Stacks button at the top left of the page. This will load a skeleton template that can be edited. After editing the template configuration and changing the stack name, clicking the save button to add the new stack to the available stacks.

Duplicate A Stack

Duplicating an existing stack is often a good way to create your own. Click the duplicate icon on the right of the stack item you want. This will create a new stack name <original name> - Copy which can then be renamed and its configuration edited.

Edit A Stack

Stack name and configuration can be edited by clicking on the stack which will bring up the stack editing interface. The stack can be renamed at the top of the stack editing interface. The stack configuration can be changed using the provided forms. After editing is complete, the stack can be saved by clicking the save button. Please note that only Admin User is able to edit prebuilt stacks. 

Delete A Stack

Stacks can be deleted by clicking the checkbox on the left then the delete button that appear on the top right of the page or by clicking the trash bin icon on the right side of the stack item.

Did this answer your question?