1.3. Common Configuration¶
Several parts are concerned by the configuration.
Here are the global parameters, whatever the service.
1.3.1. application.yaml
configuration¶
The following parameters are for optimization.
Property/Yaml property |
Default Value |
Comment |
---|---|---|
|
|
Optimization on Linux/MacOs |
|
|
Optimization on Linux |
|
|
Optimization on Linux |
|
|
Optimization on Linux |
|
|
Optimization for Various platforms |
|
To control if the UI console should be activated or not |
The following parameters are for Http service and client.
Property/Yaml property |
Default Value |
Comment |
---|---|---|
|
|
Current limit of Cloud Storage providers |
|
|
Best choice between 64K, 98K and 128K; See |
|
|
Best choice between 64K, 98K and 128K; See |
|
|
Best choice between 64K, 98K and 128K; See |
|
|
Best choice between 64K, 98K and 128K; See |
|
|
Best choice between 64K, 98K and 128K; See |
|
|
Best choice between 64K, 98K and 128K; See |
|
|
Best choice between 64K, 98K and 128K; See |
|
|
Best choice between 64K, 98K and 128K; See |
|
|
Extending from |
|
|
Extending from |
The following parameters are for TlS support.
Property/Yaml property |
Default Value |
Comment |
---|---|---|
|
|
Allow Native SSL support (OpenSSL) |
|
To handle MTLS |
|
|
To handle MTLS |
|
|
To specify which host and port |
The following parameters are for Log and Observability configuration.
Property/Yaml property |
Default Value |
Comment |
---|---|---|
|
To handle Access-log as usual http service |
|
|
|
To adapt if necessary |
|
To activate with |
|
|
|
To adapt as needed |
|
To configure OpenTelemetry for Metrics |
quarkus.http.access-log.enabled=false
quarkus.http.record-request-start-time=true
quarkus.http.access-log.log-to-file=true
quarkus.http.access-log.base-file-name=quarkus-access-log
quarkus.http.access-log.pattern=%{REMOTE_HOST} %l %{REMOTE_USER} %{DATE_TIME} "%{REQUEST_LINE}" %{RESPONSE_CODE} %b (%{RESPONSE_TIME} ms) [XOpIdIn: %{i,x-clonecloudstore-op-id} Client: "%{i,user-agent}"] [XOpIdOut: %{o,x-clonecloudstore-op-id} Server: "%{o,server}"] [%{LOCAL_SERVER_NAME}]
The following parameters are for Traffic Shaping (bandwidth control) for Http service.
Property/Yaml property |
Comment |
---|---|
|
To enable traffic-shaping if needed (in particular with Replicator) |
quarkus.http.traffic-shaping.enabled=true
quarkus.http.traffic-shaping.inbound-global-bandwidth=1G
quarkus.http.traffic-shaping.outbound-global-bandwidth=1G
quarkus.http.traffic-shaping.max-delay=10s
quarkus.http.traffic-shaping.check-interval=10s
The following parameters are for Database configuration. Many options exist, and first,
one should decide if MongoDB or PostgreSql is used (see ccs.db.type
).
Property/Yaml property |
Default Value |
Comment |
---|---|---|
|
For PostgreSql configuration |
|
|
|
For bulk operation |
|
|
For bulk operation |
|
|
For bulk operation |
|
For MongoDB configuration |
Here are the specific global Clouod Clone Store parameters.
Property/Yaml property |
Possible Values |
Default Value |
Definition |
---|---|---|---|
|
Hexadecimal format of 6 bytes |
Empty |
Internal Machine Id used if specified (not null or empty) using 6 bytes in Hexadecimal format. Should be used in special case where MacAddress is not reliable |
|
Any number of bytes > 8192 |
96 KB |
Buffer Size ; Optimal is between 64KB, 96KB and 128KB. Note: Quarkus seems to limit to 64KB but setting the same value gives smaller chunk size |
|
Any number of milliseconds (> 100 ms) |
1 second |
Property to define Max waiting time in milliseconds before Time Out within packets (in particular unknown size) |
|
Any number > 5M in bytes |
512 MB |
Property to define Buffer Size for a Driver Chunk (may be override by driver specific configuration) |
|
Boolean |
|
Property to define if Server will compute SHA 256 on the fly (should be true for Accessor) |
|
Any number of milliseconds |
6 minutes |
Property to define Max transferring time in milliseconds before Time Out (must take into account large file and bandwidth) |
|
mongo or postgre |
Empty, so Mongo by default |
Property to define which implementations to use between MongoDB or PostgreSQL |
|
Boolean |
false |
Property to define if internal services use ZSTD compression for streams |
Note
Note that ZSTD compression is efficient both in cpu and memory while still having a nice compression, but if most of the streams are incompressible (such as compressed image, video or ZIP files), it might be better to not activate this option. Files in Storage Driver will not be stored compressed whatever (except if Cloud Storage compressed them, but this is out of CCS).
1.3.2. Metrics¶
Metric name |
Tags |
Definition |
---|---|---|
|
|
Count each category of Driver actions |
|
|
Count each category of received Replication Action |
|
|
Count each category of received Replication Request |
|
|
Count each category of buffered accessor service using local storage first |
|
|
Count each category of reconciliation process |
|
|
Count each category of reconciliation process |
|
|
Count each category of reconciliation process per site |
|
|
Count each category of reconciliation process per site |
|
|
Count each category of importing existing Storage Objects process |
|
|
Count each category of Public Accessor API call (native metrics) |
|
|
Count each category of Private Accessor API call (native metrics) |
|
|
Count each category of Local Replicator API call (native metrics) |
|
|
Count each category of Remote Replicator API call (native metrics) |
|
|
Count each category of Remote Order Replicator API call (native metrics) |
|
|
Count each category of Remote Reconciliation Replicator API call (native metrics) |
|
|
Count each category of Reconciliator API call (native metrics) |
|
|
Count each category of Administration (topology) API call (native metrics) |