# Explorer UI (Experimental)

![Control API Explorer UI (Experimental)](https://3431003532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LsNFVozLgvw3NDMzxBg-1847203797%2Fuploads%2Fgit-blob-7123e9e142e8dcdde5d175c5d74f116b369b2b63%2Fcontrol-api-explorer.png?alt=media)

## Overview

The Control API Explorer UI is a graphical editor for Grey Matter service mesh configuration that gives a high-level overview of the mesh topology. It allows a mesh operator to visualize the connections between objects for each service and troubleshoot broken links or misconfigured sidecars.

## Architecture

The Explorer UI is bundled with the Control API server and served at `/explorer`. It uses the experimental `/services` endpoint to query for services running in the mesh.

## Deployment

To enable the Explorer UI, set the following environment variable for Control API:

```bash
# Enables the `/explorer` and `/services` endpoints
GM_CONTROL_API_EXPERIMENTS=true
```

If you have deployed Control API somewhere other than a root route `/`, you will also need to tell the server what the base URL is. By default, the API is served at `/v1.0/`, so you'll need to prepend your base url to `/v1.0/` (note the trailing slash). For example:

```bash
GM_CONTROL_API_BASE_URL=/path/to/controlapi/v1.0/
```

The Explorer UI would then be accessed at `https://yourhost.com/path/to/controlapi/v1.0/explorer`

## Usage

The left sidebar renders a dropdown menu to select services within the mesh. A service is defined by configuring a [`proxy` object](https://greymatter.gitbook.io/grey-matter-documentation/1.7-beta/reference/api/fabric-api/proxy). Selecting a service renders the configuration graph using the proxy object as the root node.

Selecting an object node on the graph displays that object's configuration in the JSON editor on the left. You can make adjustments to the object via the editor. When finished, click `Save` to apply those changes to the server and rerender the graph. Currently, there is no way to delete nodes via this UI.
