> For the complete documentation index, see [llms.txt](https://docs.infraglide.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.infraglide.com/visual-canvas-and-pipeline-designer/interface-overview.md).

# Designer Interface Overview

The **Pipeline Designer** is InfraGlide's visual workspace for building cloud architecture. Open it from **My Pipelines**, a template, or a deep link to `/pipeline/{id}/{version}`.

This page covers the main layout regions and toolbar actions. Details for the component drawer, containers, connectors, inheritance, and versioning are in sibling pages.

***

### Layout at a Glance

![alt text](/files/savJYyRAYrOO0QyI36Kp)

| Region          | What you see                                                                                                                                                                                            |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Top toolbar** | Back, pipeline name, version switcher, status chips (provider + save status + collaborators), Credential / Undo / Redo / Save / Preview / Deploy / Destroy / Publish buttons, and the pipeline menu (⋯) |
| **Left drawer** | Component Library — collapsible to an icon strip                                                                                                                                                        |
| **Center**      | Canvas, Config (Terraform), or Executions view                                                                                                                                                          |
| **Properties**  | Full-screen modal for node configuration (not a permanently docked right panel)                                                                                                                         |
| **Overlays**    | Live console during Preview/Deploy/Destroy; drift banners when open                                                                                                                                     |

The canvas is powered by interactive graph components representing cloud resources and structural container groups.

***

### Top Toolbar — Left Cluster

* **Back (←)** — return to My Pipelines.
* **Pipeline name** — current pipeline title (click away from it to dismiss edit on some states).
* **Version dropdown** — switch among saved versions of this pipeline (shows version number + "Latest" badge).
* **Version pill** — on unsaved/new pipelines, shows tags such as **DRAFT**.

***

### Top Toolbar — Center Status Chips

![alt text](/files/gbvPDRKuUDatf6Y1xR0m)

The status bar area shows ambient pipeline status in small muted text (visible on `lg` screens and above):

```
{provider} {version} · Terraform {tf-version}  •  Unsaved changes / All changes saved  •  [collaborator avatars]
```

| Chip                      | Description                                                                                                             |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **Provider version pill** | Current provider + version + Terraform CLI version. Click to open **Change Provider Version** dialog on saved pipelines |
| **Save status**           | "Unsaved changes" or "All changes saved"                                                                                |
| **Collaborator avatars**  | Shown when other users are co-editing (collaboration presence)                                                          |

***

### Top Toolbar — Right Cluster

| Control                  | Purpose                                                                                                                                                                                          |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Credential & Project** | Select or update the Sandbox credential and cloud project (credentials locked after deploy for security; project ID selectable)                                                                  |
| **Undo** (↩)             | Undo last canvas action (e.g. reverse a drag-drop — makes a just-added resource disappear)                                                                                                       |
| **Redo** (↪)             | Redo last undone canvas action (e.g. re-adds a resource that was just undone)                                                                                                                    |
| **Save** (+ menu ▾)      | Primary save; dropdown includes **Save as new version** and **Validate configuration**. (When saving changes on a deployed pipeline, prompts to update existing version or create a new version) |
| **Preview**              | Run Terraform `plan` (dry run execution with live log stream)                                                                                                                                    |
| **Deploy**               | Open the deploy dialog to trigger `apply` (with strategy prompt on deployed versions)                                                                                                            |
| **Destroy**              | Tear down this version's infrastructure (typed confirmation required)                                                                                                                            |
| **Publish**              | Open the Publish dialog to publish/push this pipeline version to a GitHub repository or Hub                                                                                                      |
| **Pipeline menu (⋯)**    | Dropdown with import, export, drift, compare, state inspect, share, and edit details                                                                                                             |

#### Pipeline Menu Items (⋯)

![alt text](/files/rSNYjyTDTvtC8s3Li2EL)

| Item                      | Description                                                  |
| ------------------------- | ------------------------------------------------------------ |
| **Import pipeline**       | Import a pipeline JSON file                                  |
| **Import Terraform JSON** | Import Terraform JSON directly into the designer             |
| **Export pipeline**       | Download the pipeline as a JSON file                         |
| *(separator)*             |                                                              |
| **Check drift**           | Trigger a drift check against live cloud resources           |
| **Compare versions**      | Open the version diff dialog                                 |
| **Inspect state**         | Open the state inspector (shown only for deployed pipelines) |
| *(separator)*             |                                                              |
| **Share**                 | Share this pipeline with other users                         |
| *(separator)*             |                                                              |
| **Edit details**          | Edit pipeline name, description, and other metadata          |

> **Note:** "Publish" is a **toolbar button**, not a pipeline menu item.

***

### Import Pipeline

**Pipeline menu (⋯) → Import pipeline** ![alt text](/files/e6nv7O8e1guYMvgMc75R)

The Import Pipeline action lets you load a previously exported InfraGlide pipeline JSON file directly into the designer canvas, restoring all resources, containers, connections, and configuration exactly as they were exported.

![alt text](/files/cdruYrCpF68Kot8qtgD3)

* Accepts InfraGlide pipeline JSON format (`.json`).
* Replaces the current canvas with the imported pipeline's resources and connections.
* After import, review the canvas and **Save** to persist the imported pipeline.

***

### Import Terraform JSON

**Pipeline menu (⋯) → Import Terraform JSON**

The Import Terraform JSON action lets you paste or upload existing Terraform configuration (HCL `.tf` files or Terraform JSON) and InfraGlide converts it into visual canvas nodes.

![alt text](/files/PZx6Sr6yGYDTJs5OVb9o)

* Supports both **HCL** (`.tf`) and **Terraform JSON** (`.tf.json`) formats.
* Parsed resources are placed as canvas nodes with their configuration pre-filled.
* Resources not recognized by InfraGlide's schema are placed as passthrough nodes.
* After import, validate each node's Configuration modal and **Save** before deploying.

***

### Export Pipeline

**Pipeline menu (⋯) → Export pipeline**

Export downloads the current pipeline canvas state as a structured InfraGlide JSON file. The export captures:

* All resource nodes with their full configurations.
* All container nodes and their nesting hierarchy.
* All connectors and dependency edges.
* Provider, version, and pipeline metadata.

The exported file can be re-imported using **Import pipeline** on any InfraGlide workspace.

***

### Check Drift

**Pipeline menu (⋯) → Check drift** *(available on deployed pipelines with an active credential)*

Drift detection compares the **live cloud infrastructure state** against InfraGlide's last known deployment state for this pipeline. When the check finishes, a toast notification summarizes:

* How many resources were checked.
* How many have drifted (i.e., their live state no longer matches the last deployed config).
* Any errors encountered during the check.

If drift is found, a **drift banner** appears across the top of the canvas to alert all users. Resolve drift by re-deploying the pipeline or adjusting the canvas to match the intended state.

***

### Compare Versions

**Pipeline menu (⋯) → Compare versions**

The Compare Versions dialog lets you diff any two saved versions of a pipeline side-by-side at the field level.

![alt text](/files/VHi2yZWJvTfeaQT69otT)

* Select any two versions from the dropdowns.
* Diff shows **added**, **removed**, and **modified** resource fields between versions.
* Use this before deploying a new version over a live environment to review exactly what will change.

***

### Share Pipeline

**Pipeline menu (⋯) → Share**

The Share Pipeline dialog lets you grant other users access to view or edit this pipeline.

![alt text](/files/PjOFwtbHoIBQ2xbBcMUn)

| Permission | Capabilities                                            |
| ---------- | ------------------------------------------------------- |
| **Viewer** | Can view and export the pipeline; cannot edit or deploy |
| **Editor** | Can view, edit, modify, and deploy the pipeline         |

* Enter a user's email address and choose a permission level.
* Organization members can be invited directly from the **Invite from organization** list.
* Existing access grants are shown in the **Shared with** table with the ability to remove access.

***

### Edit Pipeline Details

**Pipeline menu (⋯) → Edit details**

The Edit Details modal lets you update the pipeline's metadata without changing the canvas or running a deployment.

![alt text](/files/i2mebbqj0bwIUU3LOniu)

* Update the **pipeline name** (shown in the toolbar and in My Pipelines).
* Update the **description** for documentation and team context.
* Changes are saved immediately and don't create a new pipeline version.

***

### Publish Pipeline

**Toolbar → Publish button**

The Publish dialog lets you publish a specific pipeline version to the **InfraGlide Hub** and push it to a connected **GitHub repository** for sharing with the wider community or your organization.

![alt text](/files/mvmVDERnGBi0wnhzGLAO)

* Select which **pipeline version** to publish.
* Enter the **GitHub repository** (format: `username/repository-name`).
* Add a **description** explaining what the pipeline does.
* Add **tags** (comma-separated) to help others discover it (e.g. `web-app, gcp, production`).
* After publishing, the pipeline version is available on the Hub and pushed to the specified GitHub repo.

***

### Center Workspace Views

A floating pill switcher in the toolbar switches views without leaving the designer:

| Tab            | Content                                                                                       |
| -------------- | --------------------------------------------------------------------------------------------- |
| **Canvas**     | Interactive graph: place nodes, nest containers, draw edges, and view live node status badges |
| **Config**     | Read-only **Terraform Configuration** view with **Import JSON** and **Copy** actions          |
| **Executions** | Comprehensive deployment history, streaming logs, and per-resource execution status           |

#### Canvas Tab Controls

On the Canvas tab you also get:

* React Flow **zoom / fit** controls (bottom-right corner)
* **Undo / Redo** toolbar buttons for canvas node placement history
* **Multi-select bar** (appears on selection): selection count, **Extract module**, **Delete selected**
* Dot-grid canvas background
* Pan with middle or right mouse drag; marquee select with left-drag on empty space
* Collaborator remote cursors (when co-editing)
* **Node Deployment Badges** — individual visual status indicators on each resource node (Green checkmark for deployed, Red alert icon for failure)

![alt text](/files/18OJsp55NQiAolHEykxA)

Autosave is **off by default**. Explicit **Save** (or silent save used by some validation paths) persists the graph.

***

### Executions Tab & Deployment Logs

Clicking **Executions** in the center workspace view switcher opens the full deployment audit log and execution history for the pipeline:

![alt text](/files/69A0nWyPLdPE9qcbtMcb)

* **Execution Runs List** — Complete chronological list of Preview (`plan`), Deploy (`apply`), and Destroy runs with execution status badges (Success, Failed, Running).
* **Resource Status & Failure Diagnostics** — Expand any execution run to view individual resource deployment statuses. If a resource fails during apply, the error reason and detailed failure traceback are displayed directly alongside the resource name.
* **Live & Historical Logs** — Inspect the complete, un-truncated stdout and stderr output stream for both active runs and historical deployments.

***

### Properties Modal

Selecting **Configuration** on a node opens a centered properties modal.

![alt text](/files/tuvLUMohyeJp1Bm1ktQf)

* Edit schema-driven fields, tags, and provider-specific options.
* Inherited fields show a blue **Inherited** badge and are typically read-only while inherited.
* Close with the modal controls or **Escape** (also clears canvas selection).

***

### Console & Live Feedback

During Preview, Deploy, or Destroy, a **ConsoleLog** overlay shows streaming Terraform output in real-time. You can reopen it from the **Task running** control while a job is active. Historical runs live under the **Executions** tab.

![alt text](/files/vavVTRpHBcSQrs6xSkuX)

***

### Collaboration & Locks

* Remote collaborator cursors can appear on the shared canvas.
* Viewer-only participants see an info banner: "You have view-only access. Drag-drop and edits are disabled."
* While a Terraform job runs, connect/drop actions are locked.
* After a successful deploy, configuration may be locked until you unlock it for edits.

![alt text](/files/zbqvCbkFF4PxK5S4TIQW)

***

### See also

* [Component Library](/visual-canvas-and-pipeline-designer/component-library.md)
* [Pipeline Versioning](/visual-canvas-and-pipeline-designer/versioning.md)
* [Plan, Deploy & Destroy Actions](/deployments-and-execution-history/execution-actions.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.infraglide.com/visual-canvas-and-pipeline-designer/interface-overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
