danielcweeks commented on code in PR #10908:
URL: https://github.com/apache/iceberg/pull/10908#discussion_r1717254505


##########
open-api/README.md:
##########
@@ -40,3 +40,66 @@ make generate
 ```
 
 The generated code is not being used in the project, but helps to see what the 
changes in the open-API definition are in the generated code.
+
+# REST Compatibility Kit (RCK)
+
+The REST Compatibility Kit (RCK) is a Technology Compatibility Kit (TCK) 
implementation for the 
+Iceberg REST Specification.  This includes a series of tests based on the Java 
reference
+implementation of the REST Catalog that can be executed against any REST 
server that implements the
+spec.
+
+## Test Configuration
+
+The RCK can be configured using either environment variables or java system 
properties and allows
+for configuring both the tests and the REST client.  Environment variables 
prefixed by `CATALOG_`
+are passed through the catalog configuring with the following mutations:
+
+1. The `CATALOG_` prefix is stripped from the key name
+2. Single underscore (`_`) is replaced with a dot (`.`)
+3. Double underscore (`__`) is replaced with a dash (`-`)
+4. The key names are converted to lowercase
+
+A basic environment configuration would look like the following:
+
+```shell
+CATALOG_URI=https://my_rest_server.io/                    ## -> 
uri=https://my_rest_server.io/
+CATALOG_WAREHOUSE=test_warehouse                          ## -> 
warehouse=test_warehouse
+CATALOG_IO__IMPL=org.apache.iceberg.aws.s3.S3FileIO       ## -> 
io-impl=org.apache.iceberg.aws.s3.S3FileIO
+CATALOG_CREDENTIAL=<oauth_key>:<oauth_secret>             ## -> 
credential=<oauth_key>:<oauth_secret>
+```
+
+Java properties pass to the test must be prefixed with `rck.`, which can be 
used to configure some
+test configurations described below and any catalog client properties.
+
+An example of the same configuration using java system properties would look 
like the following:
+```shell
+rck.uri=https://my_rest_server.io/                    ## -> 
uri=https://my_rest_server.io/
+rck.warehouse=test_warehouse                          ## -> 
warehouse=test_warehouse
+rck.io-impl=org.apache.iceberg.aws.s3.S3FileIO        ## -> 
io-impl=org.apache.iceberg.aws.s3.S3FileIO
+rck.credential=<oauth_key>:<oauth_secret>             ## -> 
credential=<oauth_key>:<oauth_secret>
+```
+
+Some test behaviors are configurable depending on the catalog implementations. 
 Not all behaviors
+are strictly defined by the REST Specification.  The following are currently 
configurable:
+
+| config                        | default |
+|-------------------------------|---------|
+| rck.requires-namespace-create | true    |
+| rck.supports-serverside-retry | true    |

Review Comment:
   We can add additional configurations as the tests expand, but this is the 
initial set I started with to configure for the backend implementation. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to