This is an automated email from the ASF dual-hosted git repository.

fanng 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 e2947e131a [Improvement] feat(iceberg): Enable setting of additional 
configuration parameters through environment variables (#6458)
e2947e131a is described below

commit e2947e131aecacd79cf676e9ba09aaaa64f89318
Author: this-user <[email protected]>
AuthorDate: Wed Feb 19 02:50:37 2025 +0100

    [Improvement] feat(iceberg): Enable setting of additional configuration 
parameters through environment variables (#6458)
    
    ### What changes were proposed in this pull request?
    
    Add the environment variables `GRAVITINO_JDBC_USER`,
    `GRAVITINO_JDBC_PASSWORD`, and `GRAVITINO_S3_ENDPOINT` to the
    `rewrite_config.py`, so database user and password can be set by the
    user in a container environment as well as a custom S3 endpoint.
    
    ### Why are the changes needed?
    
    Currently, JDBC user and PW are hardcoded to `iceberg` and cannot be
    changed when using the container images. One workaround is including the
    values in the JDBC connection string, but this neither elegant nor in
    line with how containers commonly handle this issue.
    
    Additionally, it wasn't possible to set the value of
    `gravitino.iceberg-rest.s3-endpoint` in a container environment, which
    can be useful in a variety of situations when using a provider other
    than AWS.
    
    ### Does this PR introduce _any_ user-facing change?
    
    Added the three aforementioned two environment variables that can be
    used by the user.
    
    ### How was this patch tested?
    
    Was tested locally only, since this is a minimal change.
---
 dev/docker/iceberg-rest-server/rewrite_config.py | 4 ++++
 docs/iceberg-rest-service.md                     | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/dev/docker/iceberg-rest-server/rewrite_config.py 
b/dev/docker/iceberg-rest-server/rewrite_config.py
index 8b9b42a531..652712039b 100755
--- a/dev/docker/iceberg-rest-server/rewrite_config.py
+++ b/dev/docker/iceberg-rest-server/rewrite_config.py
@@ -21,6 +21,9 @@ import os
 env_map = {
   "GRAVITINO_IO_IMPL" : "io-impl",
   "GRAVITINO_URI" : "uri",
+  "GRAVITINO_JDBC_DRIVER": "jdbc-driver",
+  "GRAVITINO_JDBC_USER": "jdbc-user",
+  "GRAVITINO_JDBC_PASSWORD": "jdbc-password",
   "GRAVITINO_WAREHOUSE" : "warehouse",
   "GRAVITINO_CREDENTIAL_PROVIDER_TYPE" : "credential-providers",
   "GRAVITINO_CREDENTIAL_PROVIDERS" : "credential-providers",
@@ -28,6 +31,7 @@ env_map = {
   "GRAVITINO_GCS_SERVICE_ACCOUNT_FILE" : "gcs-service-account-file",
   "GRAVITINO_S3_ACCESS_KEY" : "s3-access-key-id",
   "GRAVITINO_S3_SECRET_KEY" : "s3-secret-access-key",
+  "GRAVITINO_S3_ENDPOINT" : "s3-endpoint",
   "GRAVITINO_S3_REGION" : "s3-region",
   "GRAVITINO_S3_ROLE_ARN" : "s3-role-arn",
   "GRAVITINO_S3_EXTERNAL_ID" : "s3-external-id",
diff --git a/docs/iceberg-rest-service.md b/docs/iceberg-rest-service.md
index 823ae5b03a..6ea4a8bb05 100644
--- a/docs/iceberg-rest-service.md
+++ b/docs/iceberg-rest-service.md
@@ -428,11 +428,15 @@ Gravitino Iceberg REST server in docker image could 
access local storage by defa
 
|----------------------------------------|-----------------------------------------------------|------------------|
 | `GRAVITINO_IO_IMPL`                    | `gravitino.iceberg-rest.io-impl`    
                | 0.7.0-incubating |
 | `GRAVITINO_URI`                        | `gravitino.iceberg-rest.uri`        
                | 0.7.0-incubating |
+| `GRAVITINO_JDBC_DRIVER`                | 
`gravitino.iceberg-rest.jdbc-driver`                | 0.9.0-incubating |
+| `GRAVITINO_JDBC_USER`                  | `gravitino.iceberg-rest.jdbc-user`  
                | 0.9.0-incubating |
+| `GRAVITINO_JDBC_PASSWORD`              | 
`gravitino.iceberg-rest.jdbc-password`              | 0.9.0-incubating |
 | `GRAVITINO_WAREHOUSE`                  | `gravitino.iceberg-rest.warehouse`  
                | 0.7.0-incubating |
 | `GRAVITINO_CREDENTIAL_PROVIDERS`       | 
`gravitino.iceberg-rest.credential-providers`       | 0.8.0-incubating |
 | `GRAVITINO_GCS_SERVICE_ACCOUNT_FILE`   | 
`gravitino.iceberg-rest.gcs-service-account-file`   | 0.8.0-incubating |
 | `GRAVITINO_S3_ACCESS_KEY`              | 
`gravitino.iceberg-rest.s3-access-key-id`           | 0.7.0-incubating |
 | `GRAVITINO_S3_SECRET_KEY`              | 
`gravitino.iceberg-rest.s3-secret-access-key`       | 0.7.0-incubating |
+| `GRAVITINO_S3_ENDPOINT`                | 
`gravitino.iceberg-rest.s3-endpoint`                | 0.9.0-incubating |
 | `GRAVITINO_S3_REGION`                  | `gravitino.iceberg-rest.s3-region`  
                | 0.7.0-incubating |
 | `GRAVITINO_S3_ROLE_ARN`                | 
`gravitino.iceberg-rest.s3-role-arn`                | 0.7.0-incubating |
 | `GRAVITINO_S3_EXTERNAL_ID`             | 
`gravitino.iceberg-rest.s3-external-id`             | 0.7.0-incubating |

Reply via email to