You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| advancedConfig | object |`{}`| Advanced configuration. You can pass here any valid Polaris or Quarkus configuration property. Any property that is defined here takes precedence over all the other configuration values generated by this chart. Properties can be passed "flattened" or as nested YAML objects (see examples below). Note: values should be strings; avoid using numbers, booleans, or other types. |
192
192
| affinity | object |`{}`| Affinity and anti-affinity for polaris pods. See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity.|
| persistence.eclipseLink.secret | object |`{"key":"persistence.xml","name":null}`| The secret name to pull persistence.xml from. |
286
286
| persistence.eclipseLink.secret.key | string |`"persistence.xml"`| The key in the secret to pull persistence.xml from. |
287
287
| persistence.eclipseLink.secret.name | string |`nil`| The name of the secret to pull persistence.xml from. If not provided, the default built-in persistence.xml will be used. This is probably not what you want. |
288
-
| persistence.type | string |`"eclipse-link"`|The type of persistence to use. Two built-in types are supported: in-memory and eclipse-link. |
288
+
| persistence.type | string |`"relational-jdbc"`|Three built-in types are available: "relational-jdbc", "in-memory", "eclipse-link". The in-memory type is not recommended for production use. The eclipse-link type is deprecated and will be unsupported in a future release. |
289
289
| podAnnotations | object |`{}`| Annotations to apply to polaris pods. |
290
290
| podLabels | object |`{}`| Additional Labels to apply to polaris pods. |
291
291
| podSecurityContext | object |`{"fsGroup":10001,"seccompProfile":{"type":"RuntimeDefault"}}`| Security context for the polaris pod. See https://kubernetes.io/docs/tasks/configure-pod-container/security-context/.|
| tracing.attributes | object |`{}`| Resource attributes to identify the polaris service among other tracing sources. See https://opentelemetry.io/docs/reference/specification/resource/semantic_conventions/#service. If left empty, traces will be attached to a service named "Apache Polaris"; to change this, provide a service.name attribute here. |
344
344
| tracing.enabled | bool |`false`| Specifies whether tracing for the polaris server should be enabled. |
345
345
| tracing.endpoint | string |`"http://otlp-collector:4317"`| The collector endpoint URL to connect to (required). The endpoint URL must have either the http:// or the https:// scheme. The collector must talk the OpenTelemetry protocol (OTLP) and the port must be its gRPC port (by default 4317). See https://quarkus.io/guides/opentelemetry for more information. |
346
-
| tracing.sample | string |`"1.0d"`| Which requests should be sampled. Valid values are: "all", "none", or a ratio between 0.0 and "1.0d" (inclusive). E.g. "0.5d" means that 50% of the requests will be sampled. Note: avoid entering numbers here, always prefer a string representation of the ratio. |
346
+
| tracing.sample | string |`"1.0d"`| Which requests should be sampled. Valid values are: "all", "none", or a ratio between 0.0 and "1.0d" (inclusive). E.g. "0.5d" means that 50% of the requests will be sampled. Note: avoid entering numbers here, always prefer a string representation of the ratio. |
Copy file name to clipboardExpand all lines: quarkus/admin/src/testFixtures/java/org/apache/polaris/admintool/PostgresTestResourceLifecycleManager.java
+4-1
Original file line number
Diff line number
Diff line change
@@ -63,7 +63,10 @@ public Map<String, String> start() {
Copy file name to clipboardExpand all lines: site/content/in-dev/unreleased/configuring-polaris-for-production.md
+15-17
Original file line number
Diff line number
Diff line change
@@ -135,34 +135,32 @@ default, Polaris uses an in-memory metastore.
135
135
> The default in-memory metastore is not suitable for production use, as it will lose all data
136
136
> when the server is restarted; it is also unusable when multiple Polaris replicas are used.
137
137
138
-
To use a durable metastore, you need to switch to the EclipseLink metastore, and provide your own
139
-
`persistence.xml` file. This file contains details of the database used for metastore management and
140
-
the connection settings. For more information, refer to the [metastore documentation]({{% ref
141
-
"metastores" %}}).
138
+
To enable a durable metastore, configure your system to use the Relational JDBC-backed metastore.
139
+
This implementation leverages Quarkus for datasource management and supports configuration through
140
+
environment variables or JVM -D flags at startup. For more information, refer to the [Quarkus configuration reference](https://quarkus.io/guides/config-reference#env-file).
142
141
143
-
Then, configure Polaris to use your metastore by setting the following properties:
142
+
Configure the metastore by setting the following ENV variables:
Copy file name to clipboardExpand all lines: site/content/in-dev/unreleased/metastores.md
+24-2
Original file line number
Diff line number
Diff line change
@@ -32,6 +32,27 @@ In order to add other JDBC drivers, you have to build Polaris using the `eclipse
32
32
33
33
## Polaris Server Configuration
34
34
35
+
### Relational JDBC
36
+
This implementation leverages Quarkus for datasource management and supports configuration through
37
+
environment variables or JVM -D flags at startup. For more information, refer to the [Quarkus configuration reference](https://quarkus.io/guides/config-reference#env-file).
The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgreSQL and H2 databases. This limitation is similar to that of EclipseLink, primarily due to underlying schema differences. At this time, official documentation is provided exclusively for usage with PostgreSQL.
50
+
Please refer to the documentation here:
51
+
[Configure data sources in Quarkus](https://quarkus.io/guides/datasource)
52
+
53
+
### EclipseLink
54
+
> [!IMPORTANT] Eclipse link is deprecated, its recommend to use Relational JDBC as persistence instead.
55
+
35
56
Configure the `polaris.persistence` section in your Polaris configuration file
36
57
(`application.properties`) as follows:
37
58
@@ -58,7 +79,7 @@ Polaris creates and connects to a separate database for each realm. Specifically
58
79
59
80
A single `persistence.xml` can describe multiple [persistence units](https://eclipse.dev/eclipselink/documentation/4.0/concepts/concepts.html#APPDEV001). For example, with both a `polaris-dev` and `polaris` persistence unit defined, you could use a single `persistence.xml` to easily switch between development and production databases. Use the `persistence-unit` option in the Polaris server configuration to easily switch between persistence units.
60
81
61
-
### Using H2
82
+
####Using H2
62
83
63
84
> [!IMPORTANT] H2 is an in-memory database and is not suitable for production!
0 commit comments