---
title: "Web V2 UI"
slug: "/webui-v2"
keyword: "webui v2"
last_update:
  date: 2026-01-30
  author: LauraXia123
license: "This software is licensed under the Apache License version 2."
---

## Introduction

This document outlines how users can manage metadata within Apache Gravitino using the Web V2 UI, the latest graphical interface accessible through a web browser as an alternative to writing code or using the REST interface.

[Build](./how-to-build.md#quick-start) and [deploy](./getting-started/index.md#local-workstation) the Gravitino Web UI and open it in a browser at `http://<gravitino-host>:<gravitino-port>`. By default, it is [http://localhost:8090](http://localhost:8090).

## Web V2 (UI Version 1.3.0)

Starting with version 1.3.0, Gravitino introduces Web V2. By default, Gravitino uses Web V2 (`GRAVITINO_USE_WEB_V2=true` when unset). To switch back to the legacy v1 UI, explicitly set `GRAVITINO_USE_WEB_V2=false`. To force Web V2 explicitly, set it to `true`.

If you want to configure this from the server env file, set the following environment variable in `conf/gravitino-env.sh` before starting the server:

```bash
# In <path-to-gravitino>/conf/gravitino-env.sh
GRAVITINO_USE_WEB_V2=true
```

After changing this value, restart the Gravitino server for the change to take effect:

```bash
<path-to-gravitino>/bin/gravitino.sh restart
```

## Web V2

The sections below describe the Web V2. This is the default UI; set `GRAVITINO_USE_WEB_V2=false` to use the legacy v1 UI.
The Web V2 introduces additional modules (such as Jobs, Job Templates, Data Compliance, and Access) and expands table creation and editing to support more complex data types across providers.

Data Compliance includes **Tags** and **Policies**. The **Access** module is visible only when `gravitino.authorization.enable=true` and includes **Users**, **User Groups**, and **Roles**.

### Initial Page

The Web V2 landing page depends on both the authentication mode and whether authorization is enabled in `<path-to-gravitino>/conf/gravitino.conf`.

- When `gravitino.authorization.enable=false`, authorization is disabled. In `simple` mode, the UI opens directly to the metalake list page.

  ![metalakes-list](./assets/webui-v2/metalakes-list.png)

- When `gravitino.authorization.enable=true`, authorization is enabled. In `simple` mode, the UI shows a login page. Enter any username without a password.

  ![simple-with-login](./assets/webui-v2/simple-with-login.png)

- When `gravitino.authenticators=basic` and the built-in IdP extension package is configured, the
  Web UI shows a username and password login form backed by built-in IdP user metadata. See
  [built-in IDP Web UI](security/how-to-use-built-in-idp.md#web-ui).

- When `gravitino.authenticators=oauth`, OAuth configuration is required for login. OAuth mode requires `gravitino.authorization.enable=true`. See the details in [Security](security/security.md)

  ![oauth-login](./assets/webui-v2/oauth-login.png)

### Metalakes

Overview for Metalake in the Web V2.

![metalakes-list](./assets/webui-v2/metalakes-list.png)

#### Create Metalake

Click the `CREATE METALAKE` button to open the create dialog. Fill in the form fields and submit to create the metalake.

![create-metalake](./assets/webui-v2/create-metalake.png)

After creation, the basic information is visible in the metalake list.

#### Properties Popover

Hover over the number in the **Properties** column to view the properties popover.

![metalake-properties-popover](./assets/webui-v2/metalake-properties-popover.png)

#### Actions

In the **Actions** column, you can edit or delete the metalake. The settings dropdown includes:

- **Set Owner** (available only when `gravitino.authorization.enable=true`)
- **Toggle in-use / not in-use**

![metalake-actions](./assets/webui-v2/metalake-actions.png)

#### Delete Metalake

To delete a metalake, the metalake must be **not in-use** (set it in the [Actions](#actions) settings dropdown), and all sub-entities must be deleted first. The delete dialog requires entering the metalake name for confirmation before deletion.

![metalake-delete-confirm](./assets/webui-v2/metalake-delete-confirm.png)

### Catalogs

Overview for Catalog in the Web V2.

#### Catalog Type Filter

On the catalogs page, use the catalog type selector at the top-left to switch between `relational`, `messaging`, `fileset`, and `model`. The list updates to show catalogs of the selected type.


#### Tags and Policies Association

The catalog list shows basic catalog information along with associated **Tags** and **Policies**. Use **Associate Tag** and **Associate Policy** in the list to add associations. Click the **X** on a tag to remove it.

![catalogs-list](./assets/webui-v2/catalogs-list.png)

#### Disable Catalog

From the **Actions** settings dropdown, switch a catalog to **not in-use**. A disabled icon appears next to the catalog name, and the catalog name becomes non-clickable (you cannot enter the catalog details page).

![catalog-actions](./assets/webui-v2/catalog-actions.png)

#### Provider Filter

Use the filter on the **Provider** table header to narrow the catalogs list by provider.

![catalogs-disabled-icon-and-filter-catalogs](./assets/webui-v2/catalogs-disabled-icon-and-filter-catalogs.png)

#### Create Catalog

Click **Create Catalog** to open the creation form for the selected catalog type. In step 1, choose the provider for the selected type. Click **Next** to go to step 2, fill in the required properties, and submit to create the catalog. Some providers support **Test Connection** so you can validate connectivity before submitting.

![catalogs-create-step1](./assets/webui-v2/create-catalog-step1.png)

![catalogs-create-step2](./assets/webui-v2/create-catalog-step2.png)

#### Delete Catalog

If the catalog is still in-use, the UI shows the **Delete** entry as shown in **Figure 1 below**. After switching the catalog to **not in-use** (see [Disable Catalog](#disable-catalog)), the **Delete** entry changes to **Figure 2 below**. Enter the catalog name for the second confirmation, then you can delete it.

![catalog-delete-figure-1](./assets/webui-v2/catalog-delete-figure-1.png)

![catalog-delete-figure-2](./assets/webui-v2/catalog-delete-figure-2.png)

#### Navbar

The navbar provides the following shortcuts:

- Click the **System Mode** icon on the right to navigate back to the metalake list page.
- The **User** icon dropdown shows a list of all metalake names (click to switch).
- When `gravitino.authorization.enable=true`, the **User** icon dropdown also shows the current user name and a **Logout** button that returns to the login page.

![navbar-system-mode](./assets/webui-v2/navbar-system-mode.png)
![navbar-user-dropdown](./assets/webui-v2/navbar-user-dropdown.png)

### Catalog Details and Schemas

Enter the catalog details page by clicking the catalog name either from the left tree or from the catalog name in the right list. The catalog name shows basic catalog information underneath it. Hover over the highlighted numbers to open a popover with more details.

Below the catalog information, the page shows the **Schemas** list and the catalog's **Associated Roles**. The **Associated Roles** section is visible only when `gravitino.authorization.enable=true`, and it lists the role name and its privileges.

#### Schemas List

Overview for Schemas in the Web V2.

![schemas-list](./assets/webui-v2/schemas-list.png)

#### Associated Roles

Overview for Associated Roles in the Web V2. (visible only when `gravitino.authorization.enable=true`)

![catalog-associated-roles](./assets/webui-v2/catalog-associated-roles.png)

The Apache Gravitino Spark connector supports loading user-defined functions (UDFs) registered
in the Gravitino function registry. Once a function is
[registered in Gravitino](./manage-user-defined-function-using-gravitino.md), Spark can discover and
invoke it through standard Spark SQL syntax — no additional `CREATE FUNCTION` statement is needed.
If a UDF is registered, you can see a **Functions** list tab on the schema details page.

![schema-functions-list](./assets/webui-v2/schema-functions-list.png)

Click a function tree node or a function name in the list to view detailed parameters for the
function definition.

![function-details](./assets/webui-v2/function-details.png)

### Tables

Overview for Table in the Web V2.

![tables-list](./assets/webui-v2/tables-list.png)

#### Create Table

In the **Schema details** page, the list shows all tables under the selected schema. Click **Create Table** to open the table creation form.

In the form, add columns and select column types. The Web V2 supports composite inputs for `char`, `varchar`, and `decimal`. Some complex types are supported (for example `list`, `map`, `struct`, `union`) depending on the provider.

Depending on the provider, you can configure **Partitions**, **Sort Orders**, and **Distribution**.

![tables-create-columns](./assets/webui-v2/create-table.png)
![tables-create-columns2](./assets/webui-v2/create-table2.png)
![create-table-sortOrders](./assets/webui-v2/create-table-sortOrders.png)


In **Properties**, default values are prefilled and can be changed. Reselect and update the values before submitting.

![tables-create-properties](./assets/webui-v2/tables-create-properties.png)

Submit the form to create a complex table.

### Filesets

Overview for Fileset in the Web V2.

![filesets-list](./assets/webui-v2/filesets-list.png)

Overview for files under fileset in the Web V2.

![files-list](./assets/webui-v2/files-list.png)

### Topics

Overview for Topic in the Web V2.

![topics-list](./assets/webui-v2/topics-list.png)

### Models

Overview for Model in the Web V2.

![models-list](./assets/webui-v2/models-list.png)

### Versions

Overview for Version in the Web V2.

![versions-list](./assets/webui-v2/versions-list.png)

### Jobs

Overview for Job in the Web V2.

![jobs-list](./assets/webui-v2/jobs-list.png)

#### Run Job

Click **Run Job**, select a job template, and review the template parameters on the left. On the right, use **Job Configuration** to replace the template placeholders defined with `{{}}`. After the replacements, the final job script is generated and executed.

![run-job](./assets/webui-v2/run-job.png)

In the job template select dropdown, you can choose **Register Job Template** to create a new template, or click **Go to job templates** to navigate to the job template list page.

![run-job](./assets/webui-v2/run-job2.png)

### Job Templates

Overview for Job Template in the Web V2.

![jobTemplates-list](./assets/webui-v2/jobTemplates-list.png)

#### Register Job Template

Click **Register Job Template** to open the create template form. Choose a job type, fill in the required fields, and submit to register the template.

![job-template-register](./assets/webui-v2/job-template-register.png)


### Tags

Overview for Data Compliance Tags in the Web V2.

![tags-list](./assets/webui-v2/tags-list.png)

#### Create Tag

Click **Create Tag** to open the create form. Fill in the required fields and submit to create a tag.

![tags-create](./assets/webui-v2/tags-create.png)

#### Tag Metadata Objects

Click a tag to navigate to the **Metadata Objects** page, which lists all metadata objects associated with the selected tag.

![tag-metadata-objects](./assets/webui-v2/tag-metadata-objects.png)

### Policies

Overview for Data Compliance Policies in the Web V2.

![policies-list](./assets/webui-v2/policies-list.png)

#### Create Policy

Click **Create Policy** to open the create form. Fill in the required fields and submit to create a policy.

![policies-create](./assets/webui-v2/policies-create.png)

#### Policy Metadata Objects

Click a policy tag to navigate to the **Metadata Objects** page, which lists all metadata objects associated with the selected policy.

![policy-metadata-objects](./assets/webui-v2/policy-metadata-objects.png)

### Access

The Access module is visible only when `gravitino.authorization.enable=true`.

### User Access

Overview for Access Users in the Web V2.

![users-list](./assets/webui-v2/users-list.png)

#### Add User

Click **Add User** to open the create form. Fill in the required fields and submit to create a user.

![users-add](./assets/webui-v2/users-add.png)

#### Grant Role

From the **Actions**, click **Grant Role** icon to assign roles to the selected user.

![users-grant-role](./assets/webui-v2/users-grant-role.png)

### User Group Access

Overview for Access User Groups in the Web V2.

![userGroups-list](./assets/webui-v2/userGroups-list.png)

#### Add User Group

Click **Add User Group** to open the create form. Fill in the required fields and submit to create a user group.

![userGroups-add](./assets/webui-v2/userGroups-add.png)

#### Grant Role

From the **Actions**, click **Grant Role** icon to assign roles to the selected user group.

![userGroups-grant-role](./assets/webui-v2/userGroups-grant-role.png)

### Role Access

Overview for Access Roles in the Web V2.

![roles-list](./assets/webui-v2/roles-list.png)

#### Create Role

Click **Create Role** to open the create form. A role can include multiple securable objects. Different securable object types have different available privileges. For details, see [Securable Objects](security/access-control.md#securable-objects) and [Privilege Types](security/access-control.md#privilege-types).

![roles-create](./assets/webui-v2/roles-create.png)
