This is an automated email from the ASF dual-hosted git repository.
jshao pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/main by this push:
new 09502e2e2 [#4356] docs(iceberg-rest-server): polish iceberg rest
service document (#4357)
09502e2e2 is described below
commit 09502e2e21a66d4a374a560a9b26733ded5d062e
Author: FANNG <[email protected]>
AuthorDate: Mon Aug 5 17:39:14 2024 +0800
[#4356] docs(iceberg-rest-server): polish iceberg rest service document
(#4357)
### What changes were proposed in this pull request?
1. add `Gravitino Iceberg REST catalog service` to `README.md` and
`index.md`
2. add security capacibility to Iceberg REST server and add a refer to
it.
3. remove `auxService` from security Iceberg REST server configurations.
4. reorganize Iceberg REST service configuration to make it more clear,
like place `s3` and `HDFS` to `storage` part,
5. add docker instructions.
### Why are the changes needed?
Fix: #4356
### Does this PR introduce _any_ user-facing change?
no
### How was this patch tested?
just document
---
README.md | 4 ++
docs/iceberg-rest-service.md | 87 ++++++++++++++++++++++++---------------
docs/index.md | 34 +++++++++++----
docs/lakehouse-iceberg-catalog.md | 7 ++--
docs/security.md | 50 +++++++++++-----------
5 files changed, 111 insertions(+), 71 deletions(-)
diff --git a/README.md b/README.md
index b57278660..75fae32f4 100644
--- a/README.md
+++ b/README.md
@@ -108,6 +108,10 @@ Alternatively, to run the Gravitino server in frontend,
please run:
And press `CTRL+C` to stop the Gravitino server.
+### Gravitino Iceberg REST catalog service
+
+Gravitino provides Iceberg REST catalog service to manage Iceberg, please
refer to [Gravitino Iceberg REST catalog service](docs/iceberg-rest-service.md)
for more details.
+
### Using Trino with Apache Gravitino
Gravitino provides a Trino connector to access the metadata in Gravitino. To
use Trino with Gravitino, please follow the [trino-gravitino-connector
doc](docs/trino-connector/index.md).
diff --git a/docs/iceberg-rest-service.md b/docs/iceberg-rest-service.md
index 47cd6e719..6ae17f74b 100644
--- a/docs/iceberg-rest-service.md
+++ b/docs/iceberg-rest-service.md
@@ -18,12 +18,9 @@ The Apache Gravitino Iceberg REST Server follows the [Apache
Iceberg REST API sp
- multi table transaction
- pagination
- Works as a catalog proxy, supporting `Hive` and `JDBC` as catalog backend.
-- Provides a pluggable metrics store interface to store and delete Iceberg
metrics.
- Supports HDFS and S3 storage.
-
-:::info
-Builds with Hadoop 2.10.x. There may be compatibility issues when accessing
Hadoop 3.x clusters.
-:::
+- Supports OAuth2 and HTTPS.
+- Provides a pluggable metrics store interface to store and delete Iceberg
metrics.
## Server management
@@ -82,23 +79,44 @@ Please note that, it only takes affect in `gravitino.conf`,
you don't need to sp
The filter in `customFilters` should be a standard javax servlet filter.
You can also specify filter parameters by setting configuration entries in the
style `gravitino.iceberg-rest.<class name of filter>.param.<param
name>=<value>`.
-### Apache Iceberg metrics store configuration
+### Security
-Gravitino provides a pluggable metrics store interface to store and delete
Iceberg metrics. You can develop a class that implements
`org.apache.gravitino.catalog.lakehouse.iceberg.web.metrics` and add the
corresponding jar file to the Iceberg REST service classpath directory.
+Gravitino Iceberg REST server supports OAuth2 and HTTPS, please refer to
[Security](./security.md) for more details.
+### Storage
-| Configuration item | Description
| Default value | Required | Since Version |
-|-------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|---------------|----------|---------------|
-| `gravitino.iceberg-rest.metricsStore` | The Iceberg metrics
storage class name.
| (none) | No | 0.4.0 |
-| `gravitino.iceberg-rest.metricsStoreRetainDays` | The days to retain Iceberg
metrics in store, the value not greater than 0 means retain forever.
| -1 | No | 0.4.0 |
-| `gravitino.iceberg-rest.metricsQueueCapacity` | The size of queue to store
metrics temporally before storing to the persistent storage. Metrics will be
dropped when queue is full. | 1000 | No | 0.4.0 |
+Gravitino Iceberg REST server supports S3 and HDFS for storage.
+
+#### S3 configuration
+
+Gravitino Iceberg REST service supports using static access-key-id and
secret-access-key to access S3 data.
+
+| Configuration item | Description
| Default value | Required | Since Version |
+|-----------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|----------|---------------|
+| `gravitino.iceberg-rest.io-impl` | The IO implementation for
`FileIO` in Iceberg, use `org.apache.iceberg.aws.s3.S3FileIO` for S3.
| (none) | No | 0.6.0 |
+| `gravitino.iceberg-rest.s3-access-key-id` | The static access key ID
used to access S3 data.
| (none) | No | 0.6.0 |
+| `gravitino.iceberg-rest.s3-secret-access-key` | The static secret access key
used to access S3 data.
| (none) | No | 0.6.0 |
+| `gravitino.iceberg-rest.s3-endpoint` | An alternative endpoint of
the S3 service, This could be used for S3FileIO with any s3-compatible object
storage service that has a different endpoint, or access a private S3 endpoint
in a virtual private cloud. | (none) | No | 0.6.0 |
+| `gravitino.iceberg-rest.s3-region` | The region of the S3
service, like `us-west-2`.
| (none) | No | 0.6.0 |
+
+For other Iceberg s3 properties not managed by Gravitino like `s3.sse.type`,
you could config it directly by `gravitino.iceberg-rest.s3.sse.type`.
+:::info
+Please set `gravitino.iceberg-rest.warehouse` to
`s3://{bucket_name}/${prefix_name}` for Jdbc catalog backend,
`s3a://{bucket_name}/${prefix_name}` for Hive catalog backend.
+:::
+
+#### HDFS configuration
+
+You should place HDFS configuration file to the classpath of the Iceberg REST
server, `iceberg-rest-server/conf` for Gravitino server package, `conf` for
standalone Gravitino Iceberg REST server package. When writing to HDFS, the
Gravitino Iceberg REST catalog service can only operate as the specified HDFS
user and doesn't support proxying to other HDFS users. See [How to access
Apache Hadoop](gravitino-server-config.md#how-to-access-apache-hadoop) for more
details.
+
+:::info
+Builds with Hadoop 2.10.x. There may be compatibility issues when accessing
Hadoop 3.x clusters.
+:::
### Apache Gravitino Iceberg catalog backend configuration
:::info
-The Gravitino Iceberg REST catalog service uses the memory catalog backend by
default. You can
-specify a Hive or JDBC catalog backend for production environment.
+The Gravitino Iceberg REST catalog service uses the memory catalog backend by
default. You can specify a Hive or JDBC catalog backend for production
environment.
:::
#### Apache Hive backend configuration
@@ -110,7 +128,6 @@ specify a Hive or JDBC catalog backend for production
environment.
| `gravitino.iceberg-rest.warehouse` | The warehouse directory of
the Hive catalog, such as `/user/hive/warehouse-hive/`.
| (none)
| Yes | 0.2.0 |
| `gravitino.iceberg-rest.catalog-backend-name` | The catalog backend name
passed to underlying Iceberg catalog backend. Catalog name in JDBC backend is
used to isolate namespace and tables. | `hive` for Hive backend, `jdbc` for
JDBC backend, `memory` for memory backend | No | 0.5.2 |
-
#### JDBC backend configuration
| Configuration item | Description
| Default value | Required | Since Version |
@@ -143,27 +160,15 @@ The `clients` property for example:
`catalog-impl` has no effect.
:::
-### S3 configuration
-
-Gravitino Iceberg REST service supports using static access-key-id and
secret-access-key to access S3 data.
-
-| Configuration item | Description
| Default value | Required | Since Version |
-|-----------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|----------|---------------|
-| `gravitino.iceberg-rest.io-impl` | The IO implementation for
`FileIO` in Iceberg, use `org.apache.iceberg.aws.s3.S3FileIO` for S3.
| (none) | No | 0.6.0 |
-| `gravitino.iceberg-rest.s3-access-key-id` | The static access key ID
used to access S3 data.
| (none) | No | 0.6.0 |
-| `gravitino.iceberg-rest.s3-secret-access-key` | The static secret access key
used to access S3 data.
| (none) | No | 0.6.0 |
-| `gravitino.iceberg-rest.s3-endpoint` | An alternative endpoint of
the S3 service, This could be used for S3FileIO with any s3-compatible object
storage service that has a different endpoint, or access a private S3 endpoint
in a virtual private cloud. | (none) | No | 0.6.0 |
-| `gravitino.iceberg-rest.s3-region` | The region of the S3
service, like `us-west-2`.
| (none) | No | 0.6.0 |
-
-For other Iceberg s3 properties not managed by Gravitino like `s3.sse.type`,
you could config it directly by `gravitino.iceberg-rest.s3.sse.type`.
-
-:::info
-Please set `gravitino.iceberg-rest.warehouse` to
`s3://{bucket_name}/${prefix_name}` for Jdbc catalog backend,
`s3a://{bucket_name}/${prefix_name}` for Hive catalog backend.
-:::
+### Apache Iceberg metrics store configuration
-### HDFS configuration
+Gravitino provides a pluggable metrics store interface to store and delete
Iceberg metrics. You can develop a class that implements
`org.apache.gravitino.catalog.lakehouse.iceberg.web.metrics` and add the
corresponding jar file to the Iceberg REST service classpath directory.
-You should place HDFS configuration file to the classpath of the Iceberg REST
server, `iceberg-rest-server/conf` for Gravitino server package, `conf` for
standalone Gravitino Iceberg REST server package. When writing to HDFS, the
Gravitino Iceberg REST catalog service can only operate as the specified HDFS
user and doesn't support proxying to other HDFS users. See [How to access
Apache Hadoop](gravitino-server-config.md#how-to-access-apache-hadoop) for more
details.
+| Configuration item | Description
| Default value | Required | Since Version |
+|-------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|---------------|----------|---------------|
+| `gravitino.iceberg-rest.metricsStore` | The Iceberg metrics
storage class name.
| (none) | No | 0.4.0 |
+| `gravitino.iceberg-rest.metricsStoreRetainDays` | The days to retain Iceberg
metrics in store, the value not greater than 0 means retain forever.
| -1 | No | 0.4.0 |
+| `gravitino.iceberg-rest.metricsQueueCapacity` | The size of queue to store
metrics temporally before storing to the persistent storage. Metrics will be
dropped when queue is full. | 1000 | No | 0.4.0 |
## Starting the Iceberg REST server
@@ -225,4 +230,18 @@ INSERT INTO dml.test VALUES (1), (2);
SELECT * FROM dml.test;
```
+## Docker instructions
+
+You could run Gravitino server though docker container:
+
+```shell
+docker run -d -p 9001:9001 datastrato/iceberg-rest-server:0.6
+```
+
+Or build it manually to add custom logics:
+
+```shell
+sh ./dev/docker/build-docker.sh --platform linux/arm64 --type
iceberg-rest-server --image datastrato/iceberg-rest-server --tag 0.6
+```
+
You could try Spark with Gravitino REST catalog service in our
[playground](./how-to-use-the-playground.md#using-iceberg-rest-service).
diff --git a/docs/index.md b/docs/index.md
index d6c9d9260..fb73ca18f 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -68,6 +68,7 @@ Gravitino currently supports the following catalogs:
**Relational catalogs:**
* [**Iceberg catalog**](./lakehouse-iceberg-catalog.md)
+* [**Paimon catalog**](./lakehouse-paimon-catalog.md)
* [**Hive catalog**](./apache-hive-catalog.md)
* [**MySQL catalog**](./jdbc-mysql-catalog.md)
* [**PostgreSQL catalog**](./jdbc-postgresql-catalog.md)
@@ -104,10 +105,8 @@ complete environment. To experience all the features, see
Gravitino supports different catalogs to manage the metadata in different
sources. Please see:
-* [Iceberg catalog](./lakehouse-iceberg-catalog.md): a complete guide to using
Gravitino to
- manage Apache Iceberg data.
-* [Iceberg REST catalog service](./iceberg-rest-service.md): a
- complete guide to using Gravitino as an Apache Iceberg REST catalog service.
+* [Iceberg catalog](./lakehouse-iceberg-catalog.md): a complete guide to using
Gravitino to manage Apache Iceberg data.
+* [Paimon catalog](./lakehouse-paimon-catalog.md): a complete guide to using
Gravitino to manage Apache Paimon data.
* [Hive catalog](./apache-hive-catalog.md): a complete guide to using
Gravitino to manage Apache Hive data.
* [MySQL catalog](./jdbc-mysql-catalog.md): a complete guide to using
Gravitino to manage MySQL data.
* [PostgreSQL catalog](./jdbc-postgresql-catalog.md): a complete guide to
using Gravitino to manage PostgreSQL data.
@@ -116,13 +115,30 @@ Gravitino supports different catalogs to manage the
metadata in different source
using Hadoop Compatible File System (HCFS).
* [Kafka catalog](./kafka-catalog.md): a complete guide to using Gravitino to
manage Kafka topics metadata.
-### Trino connector
+### Gravitino Iceberg REST catalog service
-Gravitino provides a Trino connector to manage Trino metadata in a unified
-way. To use the Trino connector, see:
+* [Iceberg REST catalog service](./iceberg-rest-service.md): a complete guide
to using Gravitino as an Apache Iceberg REST catalog service.
+
+### Connectors
+
+#### Trino connector
+
+Gravitino provides a Trino connector to manage Trino metadata in a unified
way. To use the Trino connector, see:
+
+* [How to use Gravitino Trino connector](./trino-connector/index.md): a
complete guide to using the Gravitino Trino connector.
+
+#### Spark connector
+
+Gravitino provides a Spark connector to manage metadata in a unified way. To
use the Spark connector, see:
+
+* [Gravitino Spark connector](./spark-connector/spark-connector.md): a
complete guide to using the Gravitino Spark connector.
+
+#### Flink connector
+
+Gravitino provides a Flink connector to manage metadata in a unified way. To
use the Flink connector, see:
+
+* [Gravitino Flink connector](./flink-connector/flink-connector.md): a
complete guide to using the Gravitino Flink connector.
-* [How to use Gravitino Trino connector](./trino-connector/index.md): a
complete guide to using the Gravitino
- Trino connector.
### Server administration
diff --git a/docs/lakehouse-iceberg-catalog.md
b/docs/lakehouse-iceberg-catalog.md
index 1523b6e06..1b330d30f 100644
--- a/docs/lakehouse-iceberg-catalog.md
+++ b/docs/lakehouse-iceberg-catalog.md
@@ -18,8 +18,7 @@ Apache Gravitino provides the ability to manage Apache
Iceberg metadata.
### Requirements and limitations
:::info
-Builds with Apache Iceberg `1.3.1`. The Apache Iceberg table format version is
`1` by default.
-Builds with Hadoop 2.10.x, there may be compatibility issues when accessing
Hadoop 3.x clusters.
+Builds with Apache Iceberg `1.5.2`. The Apache Iceberg table format version is
`2` by default.
:::
## Catalog
@@ -29,6 +28,7 @@ Builds with Hadoop 2.10.x, there may be compatibility issues
when accessing Hado
- Works as a catalog proxy, supporting `HiveCatalog`, `JdbcCatalog` and
`RESTCatalog`.
- Supports DDL operations for Iceberg schemas and tables.
- Doesn't support snapshot or table management operations.
+- Supports S3 and HDFS storage.
- Supports Kerberos or simple authentication for Iceberg catalog with Hive
backend.
### Catalog properties
@@ -304,6 +304,7 @@ If you update a nullability column to non nullability,
there may be compatibilit
You can place `core-site.xml` and `hdfs-site.xml` in the
`catalogs/lakehouse-iceberg/conf` directory to automatically load as the
default HDFS configuration.
-:::caution
+:::info
+Builds with Hadoop 2.10.x, there may be compatibility issues when accessing
Hadoop 3.x clusters.
When writing to HDFS, the Gravitino Iceberg REST server can only operate as
the specified HDFS user and doesn't support proxying to other HDFS users. See
[How to access Apache Hadoop](gravitino-server-config.md) for more details.
:::
diff --git a/docs/security.md b/docs/security.md
index ddc680e97..190a90941 100644
--- a/docs/security.md
+++ b/docs/security.md
@@ -204,20 +204,20 @@ Both the Gravitino server and Iceberg REST service can
configure HTTPS.
### Apache Iceberg REST service's configuration
-| Configuration item | Description
| Default value | Required
| Since version |
-|------------------------------------------------------------|--------------------------------------------------------------------|---------------|---------------------------------------------------|---------------|
-| `gravitino.auxService.iceberg-rest.enableHttps` | Enables HTTPS.
| `false` | No
| 0.3.0 |
-| `gravitino.auxService.iceberg-rest.httpsPort` | The HTTPS port
number of the Jetty web server. | `9433` | No
| 0.3.0 |
-| `gravitino.auxService.iceberg-rest.keyStorePath` | Path to the key
store file. | (none) | Yes if use
HTTPS | 0.3.0 |
-| `gravitino.auxService.iceberg-rest.keyStorePassword` | Password to the
key store. | (none) | Yes if use
HTTPS | 0.3.0 |
-| `gravitino.auxService.iceberg-rest.keyStoreType` | The type to the
key store. | `JKS` | No
| 0.3.0 |
-| `gravitino.auxService.iceberg-rest.managerPassword` | Manager
password to the key store. | (none) |
Yes if use HTTPS | 0.3.0 |
-| `gravitino.auxService.iceberg-rest.tlsProtocol` | TLS protocol to
use. The JVM must support the TLS protocol to use. | (none) | No
| 0.3.0 |
-| `gravitino.auxService.iceberg-rest.enableCipherAlgorithms` | The collection
of enabled cipher algorithms. | `` | No
| 0.3.0 |
-| `gravitino.auxService.iceberg-rest.enableClientAuth` | Enables the
authentication of the client. | `false` | No
| 0.3.0 |
-| `gravitino.auxService.iceberg-rest.trustStorePath` | Path to the
trust store file. | (none) | Yes if
use HTTPS and the authentication of client | 0.3.0 |
-| `gravitino.auxService.iceberg-rest.trustStorePassword` | Password to the
trust store. | (none) | Yes if use
HTTPS and the authentication of client | 0.3.0 |
-| `gravitino.auxService.iceberg-rest.trustStoreType` | The type to the
trust store. | `JKS` | No
| 0.3.0 |
+| Configuration item | Description
| Default value | Required
| Since version |
+|-------------------------------------------------|--------------------------------------------------------------------|---------------|---------------------------------------------------|---------------|
+| `gravitino.iceberg-rest.enableHttps` | Enables HTTPS.
| `false` | No
| 0.3.0 |
+| `gravitino.iceberg-rest.httpsPort` | The HTTPS port number of
the Jetty web server. | `9433` | No
| 0.3.0 |
+| `gravitino.iceberg-rest.keyStorePath` | Path to the key store
file. | (none) | Yes if use HTTPS
| 0.3.0 |
+| `gravitino.iceberg-rest.keyStorePassword` | Password to the key store.
| (none) | Yes if use HTTPS
| 0.3.0 |
+| `gravitino.iceberg-rest.keyStoreType` | The type to the key store.
| `JKS` | No
| 0.3.0 |
+| `gravitino.iceberg-rest.managerPassword` | Manager password to the
key store. | (none) | Yes if use HTTPS
| 0.3.0 |
+| `gravitino.iceberg-rest.tlsProtocol` | TLS protocol to use. The
JVM must support the TLS protocol to use. | (none) | No
| 0.3.0 |
+| `gravitino.iceberg-rest.enableCipherAlgorithms` | The collection of enabled
cipher algorithms. | `` | No
| 0.3.0 |
+| `gravitino.iceberg-rest.enableClientAuth` | Enables the authentication
of the client. | `false` | No
| 0.3.0 |
+| `gravitino.iceberg-rest.trustStorePath` | Path to the trust store
file. | (none) | Yes if use HTTPS
and the authentication of client | 0.3.0 |
+| `gravitino.iceberg-rest.trustStorePassword` | Password to the trust
store. | (none) | Yes if use HTTPS
and the authentication of client | 0.3.0 |
+| `gravitino.iceberg-rest.trustStoreType` | The type to the trust
store. | `JKS` | No
| 0.3.0 |
Refer to the "Additional JSSE Standard Names" section of the [Java security
guide](https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#jssenames)
for the list of protocols related to tlsProtocol. You can find the list of
`tlsProtocol` values for Java 8 in this document.
@@ -313,14 +313,14 @@ curl -v -X GET --cacert ./certificate.pem -H "Accept:
application/vnd.gravitino.
### Apache Iceberg REST service's configuration
-| Configuration item | Description
| Default value |
Required | Since version |
-|-----------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------|----------|---------------|
-| `gravitino.auxService.iceberg-rest.enableCorsFilter` | Enable
cross-origin resource share filter.
| false
| No | 0.4.0 |
-| `gravitino.auxService.iceberg-rest.allowedOrigins` | A comma
separated list of allowed origins that access the resources. The default value
is *, which means all origins.
| `*`
| No | 0.4.0 |
-| `gravitino.auxService.iceberg-rest.allowedTimingOrigins` | A comma
separated list of allowed origins that time the resource. The default value is
the empty string, which means no origins.
| ``
| No | 0.4.0 |
-| `gravitino.auxService.iceberg-rest.allowedMethods` | A comma
separated list of allowed HTTP methods used when accessing the resources. The
default values are GET, POST, HEAD, and DELETE.
| `GET,POST,HEAD,DELETE,PUT`
| No | 0.4.0 |
-| `gravitino.auxService.iceberg-rest.allowedHeaders` | A comma
separated list of HTTP allowed headers specified when accessing the resources.
The default value is X-Requested-With,Content-Type,Accept,Origin. If the value
is a single *, it accepts all headers. |
`X-Requested-With,Content-Type,Accept,Origin` | No | 0.4.0 |
-| `gravitino.auxService.iceberg-rest.preflightMaxAgeInSecs` | The number of
seconds to cache preflight requests by the client. The default value is 1800
seconds or 30 minutes.
| `1800`
| No | 0.4.0 |
-| `gravitino.auxService.iceberg-rest.allowCredentials` | A boolean
indicating if the resource allows requests with credentials. The default value
is true.
| `true`
| No | 0.4.0 |
-| `gravitino.auxService.iceberg-rest.exposedHeaders` | A comma
separated list of allowed HTTP headers exposed on the client. The default value
is the empty list.
| ``
| No | 0.4.0 |
-| `gravitino.auxService.iceberg-rest.chainPreflight` | If true chained
preflight requests for normal handling (as an OPTION request). Otherwise, the
filter responds to the preflight. The default is true.
| `true`
| No | 0.4.0 |
+| Configuration item | Description
| Default value | Required |
Since version |
+|------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------|----------|---------------|
+| `gravitino.iceberg-rest.enableCorsFilter` | Enable cross-origin
resource share filter.
| false | No
| 0.4.0 |
+| `gravitino.iceberg-rest.allowedOrigins` | A comma separated list of
allowed origins that access the resources. The default value is *, which means
all origins.
| `*` | No
| 0.4.0 |
+| `gravitino.iceberg-rest.allowedTimingOrigins` | A comma separated list of
allowed origins that time the resource. The default value is the empty string,
which means no origins.
| `` | No
| 0.4.0 |
+| `gravitino.iceberg-rest.allowedMethods` | A comma separated list of
allowed HTTP methods used when accessing the resources. The default values are
GET, POST, HEAD, and DELETE.
| `GET,POST,HEAD,DELETE,PUT` | No
| 0.4.0 |
+| `gravitino.iceberg-rest.allowedHeaders` | A comma separated list of
HTTP allowed headers specified when accessing the resources. The default value
is X-Requested-With,Content-Type,Accept,Origin. If the value is a single *, it
accepts all headers. | `X-Requested-With,Content-Type,Accept,Origin` | No
| 0.4.0 |
+| `gravitino.iceberg-rest.preflightMaxAgeInSecs` | The number of seconds to
cache preflight requests by the client. The default value is 1800 seconds or 30
minutes.
| `1800` | No
| 0.4.0 |
+| `gravitino.iceberg-rest.allowCredentials` | A boolean indicating if the
resource allows requests with credentials. The default value is true.
| `true` | No |
0.4.0 |
+| `gravitino.iceberg-rest.exposedHeaders` | A comma separated list of
allowed HTTP headers exposed on the client. The default value is the empty
list.
| `` | No
| 0.4.0 |
+| `gravitino.iceberg-rest.chainPreflight` | If true chained preflight
requests for normal handling (as an OPTION request). Otherwise, the filter
responds to the preflight. The default is true.
| `true` | No
| 0.4.0 |