@@ -778,6 +796,16 @@ This allows you to set common settings for all endpoints in one place.
**Default:** `true`
If this is set to false server closes connection via HTTP `connection: close` after each request.
+ mTls.enabled
+
+ **Default:** `false`
+ It enables / disables [mutual authentication](tls.md#mutual-tls-for-http) for a particular API.
+
+ mTls.allowedClientCertificatePaths
+
+ **Default:** `[]`
+ It allows you to define zero or more file paths pointing to public client certificates that can only communicate with the API.
+
### GraphQL API configuration
@@ -808,6 +836,16 @@ This allows you to set common settings for all endpoints in one place.
**Default:** `true`
Controls whether queries that fetch data from evitaDB engine will be executed in parallel.
+ mTls.enabled
+
+ **Default:** `false`
+ See [default endpoint configuration](#default-endpoint-configuration)
+
+ mTls.allowedClientCertificatePaths
+
+ **Default:** `[]`
+ See [default endpoint configuration](#default-endpoint-configuration)
+
### REST API configuration
@@ -833,6 +871,16 @@ This allows you to set common settings for all endpoints in one place.
**Default:** `FORCE_TLS`
See [default endpoint configuration](#default-endpoint-configuration)
+ mTls.enabled
+
+ **Default:** `false`
+ See [default endpoint configuration](#default-endpoint-configuration)
+
+ mTls.allowedClientCertificatePaths
+
+ **Default:** `[]`
+ See [default endpoint configuration](#default-endpoint-configuration)
+
### gRPC API configuration
@@ -864,21 +912,15 @@ This allows you to set common settings for all endpoints in one place.
It enables / disables the gRPC service, which provides documentation for the gRPC API and allows to
experimentally call any of the services from the web UI and examine its output.
-
-
-#### Mutual TLS configuration
-
-
- - enabled
+ - mTls.enabled
-
-
**Default:** `true`
- It enables / disables [mutual authentication](tls.md#mutual-tls-for-grpc).
+ **Default:** `false`
+ See [default endpoint configuration](#default-endpoint-configuration)
- - allowedClientCertificatePaths
+ - mTls.allowedClientCertificatePaths
-
-
**Default:** `null`
- It allows you to define zero or more file paths pointing to public client certificates.
- Only clients that present the correct certificate will be allowed to communicate with the gRPC web API.
+ **Default:** `[]`
+ See [default endpoint configuration](#default-endpoint-configuration)
@@ -889,7 +931,7 @@ only exposed endpoint on the unsecured http protocol, it must run on a separate
download the public part of the server certificate.
It also allows downloading the default client private/public key pair if `api.certificate.generateAndUseSelfSigned` and
-`api.gRPC.mTLS` are both set to `true`. See [default unsecure mTLS behaviour](tls.md#default-mtls-behaviour-not-secure) for
+any of `api.*.mTLS` are both set to `true`. See [default unsecure mTLS behaviour](tls.md#default-mtls-behaviour-not-secure) for
more information.
@@ -913,6 +955,16 @@ more information.
**Default:** `FORCE_NO_TLS`
See [default endpoint configuration](#default-endpoint-configuration)
+ - mTls.enabled
+ -
+
**Default:** `false`
+ See [default endpoint configuration](#default-endpoint-configuration)
+
+ - mTls.allowedClientCertificatePaths
+ -
+
**Default:** `[]`
+ See [default endpoint configuration](#default-endpoint-configuration)
+
### evitaLab configuration
@@ -947,6 +999,16 @@ of other APIs.
[See config](#gui-configuration)
+ mTls.enabled
+
+ **Default:** `false`
+ See [default endpoint configuration](#default-endpoint-configuration)
+
+ mTls.allowedClientCertificatePaths
+
+ **Default:** `[]`
+ See [default endpoint configuration](#default-endpoint-configuration)
+
#### GUI configuration
@@ -1034,4 +1096,14 @@ pro scraping Prometheus metrics, OTEL trace exporter and Java Flight Recorder ev
Specifies the protocol used between the application and the OTEL collector to pass the traces. Possible
values are `grpc` and `http`. gRPC is much more performant and is the preferred option.
+ mTls.enabled
+
+ **Default:** `false`
+ See [default endpoint configuration](#default-endpoint-configuration)
+
+ mTls.allowedClientCertificatePaths
+
+ **Default:** `[]`
+ See [default endpoint configuration](#default-endpoint-configuration)
+
diff --git a/documentation/user/en/operate/tls.md b/documentation/user/en/operate/tls.md
index 56064b025..de1ef757f 100644
--- a/documentation/user/en/operate/tls.md
+++ b/documentation/user/en/operate/tls.md
@@ -48,10 +48,10 @@ proofreading: 'done'
We don't want to make things complicated for developers and newcomers, but that doesn't mean that the default behavior
-is secure, because it can't be. The evitaDB server automatically generates a self-signed certificate authority and
-issues the server certificate required for TLS. This certificate will not be trusted by the clients unless you force
-them to. Usually it's just a matter of toggling some switches and for development purposes it's good enough. For
-production environments, we strongly recommend issuing your own certificate using the [Let's Encrypt](https://letsencrypt.org)
+is secure, because it can't be. The evitaDB server automatically generates a self-signed server certificate.
+This certificate will not be trusted by the clients unless you force them to. Usually it's just a matter of toggling
+some switches and for development purposes it's good enough. For production environments, we strongly recommend issuing
+your own certificate using the [Let's Encrypt](https://letsencrypt.org)
authority, which can be automated and is part of all certificate trust chains these days.
@@ -280,36 +280,23 @@ Both the server and the client can be provided with:
-## Mutual TLS for gRPC
+## Mutual TLS
-The gRPC API, and thus