Skip to content

Commit 9d3b75d

Browse files
committed
changes per review
1 parent da5c987 commit 9d3b75d

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

docs/configuring-polaris-for-production.md

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,29 +23,28 @@ The default `polaris-server.yml` configuration is intended for develoment and te
2323

2424
### Configurations
2525

26-
There are many Polaris configurations that should be adjusted to ensure a secure Polaris deployment. Some of these configurations are briefly outlined below, along with a short description of each.
26+
Notable configuration used to secure a Polaris deployment are outlined below.
2727

2828
* **oauth2**
2929
- Configure [OAuth](https://oauth.net/2/) with this setting, including a token broker
3030

31-
* **callContextResolver** & **realmContextResolver**
32-
- Use these configurations to specify a service that can resolve a realm from your bearer tokens.
33-
- The service(s) used here must implement the relevant interfaces (e.g. [CallContextResolver](https://github.com/polaris-catalog/polaris/blob/8290019c10290a600e40b35ddb1e2f54bf99e120/polaris-service/src/main/java/io/polaris/service/context/CallContextResolver.java#L27)).
34-
3531
* **authenticator.tokenBroker**
3632
- Ensure that this setting reflects the token broker specified in **oauth2** above
3733

38-
* **cors**
39-
- Use settings like **cors.allowed-origins** to control what connections your Polaris service will accept
34+
* **callContextResolver** & **realmContextResolver**
35+
- Use these configurations to specify a service that can resolve a realm from bearer tokens.
36+
- The service(s) used here must implement the relevant interfaces (i.e. [CallContextResolver](https://github.com/polaris-catalog/polaris/blob/8290019c10290a600e40b35ddb1e2f54bf99e120/polaris-service/src/main/java/io/polaris/service/context/CallContextResolver.java#L27) and [RealmContextResolver](https://github.com/polaris-catalog/polaris/blob/7ce86f10a68a3b56aed766235c88d6027c0de038/polaris-service/src/main/java/io/polaris/service/context/RealmContextResolver.java)).
4037

38+
* **cors**
39+
- Use settings like **cors.allowed-origins** to control what connections the Polaris service will accept
4140

4241
## Metastore Management
4342

44-
Use the configuration `metaStoreManager` to configure a [MetastoreManager](https://github.com/polaris-catalog/polaris/blob/627dc602eb15a3258dcc32babf8def34cf6de0e9/polaris-core/src/main/java/io/polaris/core/persistence/PolarisMetaStoreManager.java#L47) implementation where Polaris entities will be persisted.
43+
A Metastore Manger should be configured with an implementation that durably persists Polaris entities. Use the configuration `metaStoreManager` to configure a [MetastoreManager](https://github.com/polaris-catalog/polaris/blob/627dc602eb15a3258dcc32babf8def34cf6de0e9/polaris-core/src/main/java/io/polaris/core/persistence/PolarisMetaStoreManager.java#L47) implementation where Polaris entities will be persisted.
4544

4645
The default `in-memory` implementation is meant for testing and not suitable for production usage. Instead, consider an implementation such as `eclipse-link` which allows you to store metadata in a remote database.
4746

48-
Credentials and metadata will be stored in the metastore manager, and so be sure that your metastore manager is accordingly secured.
47+
Be sure to secure your metastore backend since it will be storing credentials and catalog metadata.
4948

5049
### Configuring EclipseLink
5150

@@ -55,13 +54,13 @@ To use [EclipseLink](https://eclipse.dev/eclipselink/) for metastore management,
5554

5655
Before using Polaris when using a metastore manager other than `in-memory`, you must **bootstrap** the metastore manager. This is a manual operation that must be performed **only once** in order to prepare the metastore manager to integrate with Polaris. When the metastore manager is bootstrapped, any existing Polaris entities in the metastore manager may be **purged**.
5756

58-
To bootstrap Polaris, run a command like the following:
57+
To bootstrap Polaris, run:
5958

6059
```bash
6160
java -jar /path/to/jar/snowflake-polaris-all.jar bootstrap polaris-server.yml
6261
```
6362

64-
Afterwards, you can launch Polaris normally with a command like the following:
63+
Afterwards, Polaris can be launched normally:
6564

6665
```bash
6766
java -jar /path/to/jar/snowflake-polaris-all.jar server polaris-server.yml
@@ -72,7 +71,7 @@ java -jar /path/to/jar/snowflake-polaris-all.jar server polaris-server.yml
7271
When deploying Polaris in production, consider adjusting the following configurations:
7372

7473
* **featureConfiguration.SUPPORTED_CATALOG_STORAGE_TYPES**
75-
- By default, the `FILE` storage type may be supported. This is intended for testing, and in produciton you'll likely want to disable it
76-
- Here you can also disable or enable any other storage type based on your expected usage of Apache Iceberg
74+
- By default Polaris catalogs are allowed to be located in local filesystem with the `FILE` storage type. This should be disabled for production systems.
75+
- Use this configuration to additionally disable any other storage types that will not be in use.
7776

7877

0 commit comments

Comments
 (0)