diff --git a/docs/assets/webui/catalog-in-use.png b/docs/assets/webui/catalog-in-use.png
new file mode 100644
index 00000000000..a27cc5f64d8
Binary files /dev/null and b/docs/assets/webui/catalog-in-use.png differ
diff --git a/docs/assets/webui/catalog-not-in-use.png b/docs/assets/webui/catalog-not-in-use.png
new file mode 100644
index 00000000000..358365ed424
Binary files /dev/null and b/docs/assets/webui/catalog-not-in-use.png differ
diff --git a/docs/assets/webui/create-fileset.png b/docs/assets/webui/create-fileset.png
new file mode 100644
index 00000000000..6d93d9586e4
Binary files /dev/null and b/docs/assets/webui/create-fileset.png differ
diff --git a/docs/assets/webui/create-schema.png b/docs/assets/webui/create-schema.png
new file mode 100644
index 00000000000..b96916b2750
Binary files /dev/null and b/docs/assets/webui/create-schema.png differ
diff --git a/docs/assets/webui/created-catalog.png b/docs/assets/webui/created-catalog.png
index 2de7b49da4f..dae5e57053d 100644
Binary files a/docs/assets/webui/created-catalog.png and b/docs/assets/webui/created-catalog.png differ
diff --git a/docs/assets/webui/delete-catalog.png b/docs/assets/webui/delete-catalog.png
index 56084b2c5ae..23e6e5ae1db 100644
Binary files a/docs/assets/webui/delete-catalog.png and b/docs/assets/webui/delete-catalog.png differ
diff --git a/docs/assets/webui/delete-fileset.png b/docs/assets/webui/delete-fileset.png
new file mode 100644
index 00000000000..3cf81d2f13e
Binary files /dev/null and b/docs/assets/webui/delete-fileset.png differ
diff --git a/docs/assets/webui/delete-metalake.png b/docs/assets/webui/delete-metalake.png
index 3717724735b..05fd67d43af 100644
Binary files a/docs/assets/webui/delete-metalake.png and b/docs/assets/webui/delete-metalake.png differ
diff --git a/docs/assets/webui/delete-schema.png b/docs/assets/webui/delete-schema.png
new file mode 100644
index 00000000000..d7f9cc784bd
Binary files /dev/null and b/docs/assets/webui/delete-schema.png differ
diff --git a/docs/assets/webui/demo-columns.png b/docs/assets/webui/demo-columns.png
deleted file mode 100644
index ee54456d7b4..00000000000
Binary files a/docs/assets/webui/demo-columns.png and /dev/null differ
diff --git a/docs/assets/webui/demo-tables.png b/docs/assets/webui/demo-tables.png
deleted file mode 100644
index b8b8cd83c0c..00000000000
Binary files a/docs/assets/webui/demo-tables.png and /dev/null differ
diff --git a/docs/assets/webui/fileset-details.png b/docs/assets/webui/fileset-details.png
index 7d0253daacf..6a190bdbe76 100644
Binary files a/docs/assets/webui/fileset-details.png and b/docs/assets/webui/fileset-details.png differ
diff --git a/docs/assets/webui/fileset-selected-details.png b/docs/assets/webui/fileset-selected-details.png
new file mode 100644
index 00000000000..9ca78b02e47
Binary files /dev/null and b/docs/assets/webui/fileset-selected-details.png differ
diff --git a/docs/assets/webui/list-columns.png b/docs/assets/webui/list-columns.png
new file mode 100644
index 00000000000..f5235a401a5
Binary files /dev/null and b/docs/assets/webui/list-columns.png differ
diff --git a/docs/assets/webui/list-filesets.png b/docs/assets/webui/list-filesets.png
new file mode 100644
index 00000000000..c0e2c7eaeb3
Binary files /dev/null and b/docs/assets/webui/list-filesets.png differ
diff --git a/docs/assets/webui/list-schemas.png b/docs/assets/webui/list-schemas.png
new file mode 100644
index 00000000000..4e267e535a0
Binary files /dev/null and b/docs/assets/webui/list-schemas.png differ
diff --git a/docs/assets/webui/list-tables.png b/docs/assets/webui/list-tables.png
new file mode 100644
index 00000000000..921159b60bb
Binary files /dev/null and b/docs/assets/webui/list-tables.png differ
diff --git a/docs/assets/webui/metalake-details.png b/docs/assets/webui/metalake-details.png
index 361dfeeca1f..2c29e0819bb 100644
Binary files a/docs/assets/webui/metalake-details.png and b/docs/assets/webui/metalake-details.png differ
diff --git a/docs/assets/webui/metalake-in-use.png b/docs/assets/webui/metalake-in-use.png
new file mode 100644
index 00000000000..7c5dc73d346
Binary files /dev/null and b/docs/assets/webui/metalake-in-use.png differ
diff --git a/docs/assets/webui/metalake-list.png b/docs/assets/webui/metalake-list.png
index aabc3b0b9d4..d288d6cc4cb 100644
Binary files a/docs/assets/webui/metalake-list.png and b/docs/assets/webui/metalake-list.png differ
diff --git a/docs/assets/webui/metalake-not-in-use.png b/docs/assets/webui/metalake-not-in-use.png
new file mode 100644
index 00000000000..5149fdba85f
Binary files /dev/null and b/docs/assets/webui/metalake-not-in-use.png differ
diff --git a/docs/assets/webui/props-authentication-kerberos.png b/docs/assets/webui/props-authentication-kerberos.png
new file mode 100644
index 00000000000..2c10af76ccc
Binary files /dev/null and b/docs/assets/webui/props-authentication-kerberos.png differ
diff --git a/docs/assets/webui/props-authentication-type.png b/docs/assets/webui/props-authentication-type.png
new file mode 100644
index 00000000000..4d04ec6316a
Binary files /dev/null and b/docs/assets/webui/props-authentication-type.png differ
diff --git a/docs/assets/webui/props-hudi.png b/docs/assets/webui/props-hudi.png
new file mode 100644
index 00000000000..b73c0e7eb32
Binary files /dev/null and b/docs/assets/webui/props-hudi.png differ
diff --git a/docs/assets/webui/props-oceanbase.png b/docs/assets/webui/props-oceanbase.png
new file mode 100644
index 00000000000..0a4fb7c82dd
Binary files /dev/null and b/docs/assets/webui/props-oceanbase.png differ
diff --git a/docs/assets/webui/props-paimon-filesystem.png b/docs/assets/webui/props-paimon-filesystem.png
new file mode 100644
index 00000000000..2a328d6d989
Binary files /dev/null and b/docs/assets/webui/props-paimon-filesystem.png differ
diff --git a/docs/assets/webui/props-paimon-hive.png b/docs/assets/webui/props-paimon-hive.png
new file mode 100644
index 00000000000..a53a3304899
Binary files /dev/null and b/docs/assets/webui/props-paimon-hive.png differ
diff --git a/docs/assets/webui/props-paimon-jdbc.png b/docs/assets/webui/props-paimon-jdbc.png
new file mode 100644
index 00000000000..349994c2551
Binary files /dev/null and b/docs/assets/webui/props-paimon-jdbc.png differ
diff --git a/docs/assets/webui/schema-details.png b/docs/assets/webui/schema-details.png
new file mode 100644
index 00000000000..4e431aa6fdf
Binary files /dev/null and b/docs/assets/webui/schema-details.png differ
diff --git a/docs/assets/webui/show-catalog-details.png b/docs/assets/webui/show-catalog-details.png
index f66786f2d97..6058f07f888 100644
Binary files a/docs/assets/webui/show-catalog-details.png and b/docs/assets/webui/show-catalog-details.png differ
diff --git a/docs/assets/webui/tree-view-reload-catalog.png b/docs/assets/webui/tree-view-reload-catalog.png
index e0758248f28..91bbf84221c 100644
Binary files a/docs/assets/webui/tree-view-reload-catalog.png and b/docs/assets/webui/tree-view-reload-catalog.png differ
diff --git a/docs/assets/webui/tree-view.png b/docs/assets/webui/tree-view.png
index 9be54f9fa84..58d3c5c30e3 100644
Binary files a/docs/assets/webui/tree-view.png and b/docs/assets/webui/tree-view.png differ
diff --git a/docs/assets/webui/update-catalog.png b/docs/assets/webui/update-catalog.png
index 30eaae8e7a5..4cf8d7c9bb2 100644
Binary files a/docs/assets/webui/update-catalog.png and b/docs/assets/webui/update-catalog.png differ
diff --git a/docs/assets/webui/update-fileset-dialog.png b/docs/assets/webui/update-fileset-dialog.png
new file mode 100644
index 00000000000..a769aa73f92
Binary files /dev/null and b/docs/assets/webui/update-fileset-dialog.png differ
diff --git a/docs/assets/webui/update-schema-dialog.png b/docs/assets/webui/update-schema-dialog.png
new file mode 100644
index 00000000000..4637be8e899
Binary files /dev/null and b/docs/assets/webui/update-schema-dialog.png differ
diff --git a/docs/webui.md b/docs/webui.md
index 3a174234062..960eb821f74 100644
--- a/docs/webui.md
+++ b/docs/webui.md
@@ -3,8 +3,8 @@ title: 'Apache Gravitino web UI'
slug: /webui
keyword: webui
last_update:
- date: 2024-04-12
- author: ch3yne
+ date: 2024-10-30
+ author: LauraXia123
license: 'This software is licensed under the Apache License version 2.'
---
@@ -59,7 +59,7 @@ Such as Safari need to enable the developer menu, and select `Disable Cross-Orig
1. Enter the values corresponding to your specific configuration. For detailed instructions, please refer to [Security](security/security.md).
-2. Clicking on the `LOGIN` button takes you to the homepage.
+2. Click on the `LOGIN` button takes you to the homepage.
![webui-metalakes-oauth](./assets/webui/metalakes-oauth.png)
@@ -91,7 +91,7 @@ There are 3 actions you can perform on a metalake.
#### Show metalake details
-Clicking on the action icon in the table cell.
+Click on the action icon in the table cell.
You can see the detailed information of this metalake in the drawer component on the right.
@@ -99,37 +99,49 @@ You can see the detailed information of this metalake in the drawer component on
#### Edit metalake
-Clicking on the action icon in the table cell.
+Click on the action icon in the table cell.
Displays the dialog for modifying fields of the selected metalake.
![create-metalake-dialog](./assets/webui/create-metalake-dialog.png)
-#### Delete metalake
+#### Disable metalake
-Clicking on the action icon in the table cell.
+Metalake defaults to in-use after successful creation.
-Displays a confirmation dialog, clicking on the `SUBMIT` button deletes this metalake.
+Mouse over the switch next to the metalake's name to see the 'In-use' tip.
+
+![metalake-in-use](./assets/webui/metalake-in-use.png)
+
+Click on the switch will disable the metalake, mouse over the switch next to the metalake's name to see the 'Not in-use' tip.
+
+![metalake-not-in-use](./assets/webui/metalake-not-in-use.png)
+
+#### Drop metalake
+
+Click on the action icon in the table cell.
+
+Displays a confirmation dialog, clicking on the `DROP` button drops this metalake.
![delete-metalake](./assets/webui/delete-metalake.png)
### Catalog
-Clicking on a metalake name in the table views catalogs in a metalake.
+Click on a metalake name in the table views catalogs in a metalake.
If this is the first time, it shows no data until after creating a catalog.
-Clicking on the left arrow icon button takes you to the metalake page.
+Click on the left arrow icon button takes you to the metalake page.
![metalake-catalogs](./assets/webui/metalake-catalogs.png)
-Clicking on the Tab - `DETAILS` views the details of the catalog on the metalake catalogs page.
+Click on the Tab - `DETAILS` views the details of the metalake on the metalake catalogs page.
![metalake-catalogs-details](./assets/webui/metalake-catalogs-details.png)
On the left side of the page is a tree list, and the icons of the catalog correspond to their type and provider.
-- Catalog
+- Catalog (e.g. iceberg catalog)
- Schema
- Table
@@ -141,7 +153,7 @@ Hover your mouse over the corresponding icon to the data changes to a reload ico
#### Create catalog
-Clicking on the `CREATE CATALOG` button displays the dialog to create a catalog.
+Click on the `CREATE CATALOG` button displays the dialog to create a catalog.
![create-catalog](./assets/webui/create-catalog.png)
@@ -150,7 +162,7 @@ Creating a catalog requires these fields:
1. **Catalog name**(**_required_**): the name of the catalog
2. **Type**(**_required_**): `relational`/`fileset`/`messaging`, the default value is `relational`
3. **Provider**(**_required_**):
- 1. Type `relational` - `hive`/`iceberg`/`mysql`/`postgresql`/`doris`
+ 1. Type `relational` - `hive`/`iceberg`/`mysql`/`postgresql`/`doris`/`paimon`/`hudi`/`oceanbase`
2. Type `fileset` - `hadoop`
3. Type `messaging` - `kafka`
4. **Comment**(_optional_): the comment of this catalog
@@ -203,6 +215,20 @@ Creating a catalog requires these fields:
|jdbc-user |jdbc username |
|jdbc-password|jdbc password |
+ the parameter `authentication.type` provides two values: `simple`, and `Kerberos`.
+
+
+
+ - `Kerberos`
+
+
+
+ |Key |Description |
+ |----------------------------------|-------------------------------------------------------------------------------------------------------------|
+ |authentication.type |The type of authentication for Paimon catalog backend, currently Gravitino only supports Kerberos and simple.|
+ |authentication.kerberos.principal |The principal of the Kerberos authentication. |
+ |authentication.kerberos.keytab-uri|The URI of The keytab for the Kerberos authentication. |
+
Follow the [JDBC MySQL catalog](./jdbc-mysql-catalog.md) document.
@@ -224,7 +250,7 @@ Creating a catalog requires these fields:
|Key |Description |
|-------------|-----------------------------------------------------|
- |jdbc-driver |e.g. `org.postgresql.Driver` |
+ |jdbc-driver |e.g. `org.postgresql.Driver` |
|jdbc-url |e.g. `jdbc:postgresql://localhost:5432/your_database`|
|jdbc-user |The JDBC user name |
|jdbc-password|The JDBC password |
@@ -244,6 +270,84 @@ Creating a catalog requires these fields:
|jdbc-password|The JDBC password |
+
+ Follow the [lakehouse-paimon-catalog](./lakehouse-paimon-catalog.md) document.
+
+ the parameter `catalog-backend` provides three values: `filesystem`, `hive`, and `jdbc`.
+
+ |Key |Description |
+ |---------------|-------------------------------|
+ |catalog-backend|`filesystem`, `hive`, or `jdbc`|
+
+ - `filesystem`
+
+
+
+ |Key |Description |
+ |---------|--------------------------------|
+ |warehouse|Paimon catalog warehouse config |
+
+ - `hive`
+
+
+
+ |Key |Description |
+ |---------|--------------------------------|
+ |uri |Paimon catalog URI config |
+ |warehouse|Paimon catalog warehouse config |
+
+ - `jdbc`
+
+
+
+ |Key |Description |
+ |-------------|-------------------------------------------------------------------------------------------------------|
+ |uri |Paimon catalog URI config |
+ |warehouse |Paimon catalog warehouse config |
+ |jdbc-driver |"com.mysql.jdbc.Driver" or "com.mysql.cj.jdbc.Driver" for MySQL, "org.postgresql.Driver" for PostgreSQL|
+ |jdbc-user |jdbc username |
+ |jdbc-password|jdbc password |
+
+ the parameter `authentication.type` provides two values: `simple`, and `Kerberos`.
+
+
+
+ - `Kerberos`
+
+
+
+
+ |Key |Description |
+ |----------------------------------|-------------------------------------------------------------------------------------------------------------|
+ |authentication.type |The type of authentication for Paimon catalog backend, currently Gravitino only supports Kerberos and simple.|
+ |authentication.kerberos.principal |The principal of the Kerberos authentication. |
+ |authentication.kerberos.keytab-uri|The URI of The keytab for the Kerberos authentication. |
+
+
+
+ Follow the [lakehouse-hudi-catalog](./lakehouse-hudi-catalog.md) document.
+
+
+
+ |Key |Description |
+ |---------------|-------------------------------|
+ |catalog-backend|`hms` |
+ |uri |Hudi catalog URI config |
+
+
+
+ Follow the [jdbc-oceanbase-catalog](./jdbc-oceanbase-catalog.md) document.
+
+
+
+ |Key |Description |
+ |-------------|-----------------------------------------------------------------------------------|
+ |jdbc-driver |e.g. com.mysql.jdbc.Driver or com.mysql.cj.jdbc.Driver or com.oceanbase.jdbc.Driver|
+ |jdbc-url |e.g. jdbc:mysql://localhost:2881 or jdbc:oceanbase://localhost:2881 |
+ |jdbc-user |The JDBC user name |
+ |jdbc-password|The JDBC password |
+
+
:::tip
@@ -282,7 +386,7 @@ After verifying the values of these fields, clicking on the `CREATE` button crea
#### Show catalog details
-Clicking on the action icon in the table cell.
+Click on the action icon in the table cell.
You can see the detailed information of this catalog in the drawer component on the right.
@@ -290,7 +394,7 @@ You can see the detailed information of this catalog in the drawer component on
#### Edit catalog
-Clicking on the action icon in the table cell.
+Click on the action icon in the table cell.
Displays the dialog for modifying fields of the selected catalog.
@@ -300,26 +404,128 @@ Only the `name`, `comment`, and custom fields in `properties` can be modified, o
The fields that are not allowed to be modified cannot be selected and modified in the web UI.
+#### Disable catalog
+
+Catalog defaults to in-use after successful creation.
+
+Mouse over the switch next to the catalog's name to see the 'In-use' tip.
+
+![catalog-in-use](./assets/webui/catalog-in-use.png)
+
+Click on the switch will disable the catalog, mouse over the switch next to the catalog's name to see the 'Not in-use' tip.
+
+![catalog-not-in-use](./assets/webui/catalog-not-in-use.png)
+
#### Delete catalog
-Clicking on the action icon in the table cell.
+Click on the action icon in the table cell.
Displays a confirmation dialog, clicking on the SUBMIT button deletes this catalog.
![delete-catalog](./assets/webui/delete-catalog.png)
### Schema
+Click the catalog tree node on the left sidebar or the catalog name link in the table cell.
+
+Displays the list schemas of the catalog.
+
+![list-schemas](./assets/webui/list-schemas.png)
+
+#### Create schema
+
+Click on the `CREATE SCHEMA` button displays the dialog to create a schema.
+
+![create-schema](./assets/webui/create-schema.png)
+
+Creating a schema needs these fields:
+
+1. **Name**(**_required_**): the name of the schema.
+2. **Comment**(_optional_): the comment of the schema.
+3. **Properties**(_optional_): Click on the `ADD PROPERTY` button to add custom properties.
+
+#### Show schema details
+
+Click on the action icon in the table cell.
+
+You can see the detailed information of this schema in the drawer component on the right.
+
+![schema-details](./assets/webui/schema-details.png)
+
+#### Edit schema
+
+Click on the action icon in the table cell.
+
+Displays the dialog for modifying fields of the selected schema.
+
+![update-schema-dialog](./assets/webui/update-schema-dialog.png)
+
+#### Drop schema
+
+Click on the action icon in the table cell.
-![demo-tables](./assets/webui/demo-tables.png)
+Displays a confirmation dialog, clicking on the `DROP` button drops this schema.
+
+![delete-schema](./assets/webui/delete-schema.png)
### Table
-![demo-columns](./assets/webui/demo-columns.png)
+![list-tables](./assets/webui/list-tables.png)
+
+![list-columns](./assets/webui/list-columns.png)
### Fileset
+Click the fileset schema tree node on the left sidebar or the schema name link in the table cell.
+
+Displays the list fileset of the schema.
+
+![list-filesets](./assets/webui/list-filesets.png)
+
+#### Create fileset
+
+Click on the `CREATE FILESET` button displays the dialog to create a fileset.
+
+![create-fileset](./assets/webui/create-fileset.png)
+
+Creating a fileset needs these fields:
+
+1. **Name**(**_required_**): the name of the fileset.
+2. **Type**(**_required_**): `managed`/`external`, the default value is `managed`.
+3. **Storage Location**(_optional_):
+ 1. It is optional if the fileset is 'Managed' type and a storage location is already specified at the parent catalog or schema level.
+ 2. It becomes mandatory if the fileset type is 'External' or no storage location is defined at the parent level.
+4. **Comment**(_optional_): the comment of the fileset.
+5. **Properties**(_optional_): Click on the `ADD PROPERTY` button to add custom properties.
+
+#### Show fileset details
+
+Click on the action icon in the table cell.
+
+You can see the detailed information of this fileset in the drawer component on the right.
![fileset-details](./assets/webui/fileset-details.png)
+Click the fileset tree node on the left sidebar or the fileset name link in the table cell.
+
+You can see the detailed information on the right page.
+
+![fileset-selected-details](./assets/webui/fileset-selected-details.png)
+
+#### Edit fileset
+
+Click on the action icon in the table cell.
+
+Displays the dialog for modifying fields of the selected fileset.
+
+![update-fileset-dialog](./assets/webui/update-fileset-dialog.png)
+
+#### Drop fileset
+
+Click on the action icon in the table cell.
+
+Displays a confirmation dialog, clicking on the `DROP` button drops this fileset.
+
+![delete-fileset](./assets/webui/delete-fileset.png)
+
### Topic
![topic-details](./assets/webui/topic-details.png)
@@ -330,9 +536,9 @@ Displays a confirmation dialog, clicking on the SUBMIT button deletes this catal
| -------- | --------------------------------------------------------------------------------- |
| Metalake | _`View`_ ✔ / _`Create`_ ✔ / _`Edit`_ ✔ / _`Delete`_ ✔ |
| Catalog | _`View`_ ✔ / _`Create`_ ✔ / _`Edit`_ ✔ / _`Delete`_ ✔ |
-| Schema | _`View`_ ✔ / _`Create`_ ✘ / _`Edit`_ ✘ / _`Delete`_ ✘ |
+| Schema | _`View`_ ✔ / _`Create`_ ✔ / _`Edit`_ ✔ / _`Delete`_ ✔ |
| Table | _`View`_ ✔ / _`Create`_ ✘ / _`Edit`_ ✘ / _`Delete`_ ✘ |
-| Fileset | _`View`_ ✔ / _`Create`_ ✘ / _`Edit`_ ✘ / _`Delete`_ ✘ |
+| Fileset | _`View`_ ✔ / _`Create`_ ✔ / _`Edit`_ ✔ / _`Delete`_ ✔ |
| Topic | _`View`_ ✔ / _`Create`_ ✘ / _`Edit`_ ✘ / _`Delete`_ ✘ |
## E2E test