From 2ce35e9d5815033e9feeb4af999acc0fdd73f8bd Mon Sep 17 00:00:00 2001 From: Jozef Kralik Date: Fri, 12 Jul 2024 12:27:01 +0000 Subject: [PATCH 01/11] snippet-service: create configuration doc --- .../configuration/certificate-authority.md | 40 +++-- .../configuration/cloud2cloud-connector.md | 16 ++ .../docs/configuration/cloud2cloud-gateway.md | 16 ++ content/en/docs/configuration/coap-gateway.md | 16 ++ content/en/docs/configuration/grpc-gateway.md | 38 +++-- content/en/docs/configuration/http-gateway.md | 16 ++ .../en/docs/configuration/identity-store.md | 38 +++-- .../en/docs/configuration/m2m-oauth-server.md | 16 ++ .../configuration/mongodb-standby-tool.md | 2 +- .../docs/configuration/resource-aggregate.md | 38 +++-- .../docs/configuration/resource-directory.md | 38 +++-- .../en/docs/configuration/snippet-service.md | 149 ++++++++++++++++++ content/en/docs/deployment/hub/hub.md | 18 ++- .../docs/features/control-plane/http-api.md | 1 - .../certificate-authority/http-api.md | 2 +- .../en/docs/services/http-gateway/http-api.md | 1 - 16 files changed, 383 insertions(+), 62 deletions(-) create mode 100644 content/en/docs/configuration/snippet-service.md diff --git a/content/en/docs/configuration/certificate-authority.md b/content/en/docs/configuration/certificate-authority.md index 132efcb4..9f053437 100644 --- a/content/en/docs/configuration/certificate-authority.md +++ b/content/en/docs/configuration/certificate-authority.md @@ -33,11 +33,13 @@ A configuration template is available on [certificate-authority/config.yaml](htt ### gRPC API -gRPC API of the Certificate Authority service as defined [here](https://github.com/plgd-dev/hub/blob/main/certificate-authority/pb/service_grpc.pb.go#L19). +gRPC API of the Certificate Authority service as defined [here](https://github.com/plgd-dev/hub/blob/main/certificate-authority/pb/service.proto#L34). | Property | Type | Description | Default | | ---------- | -------- | -------------- | ------- | | `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | +| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | +| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | | `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise the server close connection.` | `5s`| | `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise the server close connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | @@ -50,17 +52,17 @@ gRPC API of the Certificate Authority service as defined [here](https://github.c | `apis.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | | `apis.grpc.tls.clientCertificateRequired` | bool | `If true, require client certificate.` | `true` | | `apis.grpc.authorization.ownerClaim` | string | `Claim used to identify owner of the device.` | `"sub"` | -| `apis.grpc.authorization.authority` | string | `Authority is the address of the token-issuing authentication server. Services will use this URI to find and retrieve the public key that can be used to validate the token’s signature.` | `""` | | `apis.grpc.authorization.audience` | string | `Identifier of the API configured in your OAuth provider.` | `""` | -| `apis.grpc.authorization.http.maxIdleConns` | int | `It controls the maximum number of idle (keep-alive) connections across all hosts. Zero means no limit.` | `16` | -| `apis.grpc.authorization.http.maxConnsPerHost` | int | `It optionally limits the total number of connections per host, including connections in the dialing, active, and idle states. On limit violation, dials will block. Zero means no limit.` | `32` | -| `apis.grpc.authorization.http.maxIdleConnsPerHost` | int | `If non-zero, controls the maximum idle (keep-alive) connections to keep per-host. If zero, DefaultMaxIdleConnsPerHost is used.` | `16` | -| `apis.grpc.authorization.http.idleConnTimeout` | string | `The maximum amount of time an idle (keep-alive) connection will remain idle before closing itself. Zero means no limit.` | `30s` | -| `apis.grpc.authorization.http.timeout` | string | `A time limit for requests made by this Client. A Timeout of zero means no timeout.` | `10s` | -| `apis.grpc.authorization.http.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | -| `apis.grpc.authorization.http.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | -| `apis.grpc.authorization.http.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | -| `apis.grpc.authorization.http.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | +| `apis.grpc.authorization.endpoints[].authority` | string | `Authority is the address of the token-issuing authentication server. Services will use this URI to find and retrieve the public key that can be used to validate the token’s signature.` | `""` | +| `apis.grpc.authorization.endpoints[].http.maxIdleConns` | int | `It controls the maximum number of idle (keep-alive) connections across all hosts. Zero means no limit.` | `16` | +| `apis.grpc.authorization.endpoints[].http.maxConnsPerHost` | int | `It optionally limits the total number of connections per host, including connections in the dialing, active, and idle states. On limit violation, dials will block. Zero means no limit.` | `32` | +| `apis.grpc.authorization.endpoints[].http.maxIdleConnsPerHost` | int | `If non-zero, controls the maximum idle (keep-alive) connections to keep per-host. If zero, DefaultMaxIdleConnsPerHost is used.` | `16` | +| `apis.grpc.authorization.endpoints[].http.idleConnTimeout` | string | `The maximum amount of time an idle (keep-alive) connection will remain idle before closing itself. Zero means no limit.` | `30s` | +| `apis.grpc.authorization.endpoints[].http.timeout` | string | `A time limit for requests made by this Client. A Timeout of zero means no timeout.` | `10s` | +| `apis.grpc.authorization.endpoints[].http.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | +| `apis.grpc.authorization.endpoints[].http.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `apis.grpc.authorization.endpoints[].http.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `apis.grpc.authorization.endpoints[].http.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | ### HTTP API @@ -75,6 +77,22 @@ The configuration `apis.http.tls` and `apis.http.authorization` are inherited fr | `apis.http.writeTimeout` | string | `The maximum duration before the server times out writing of the response. A zero or negative value means there will be no timeout.` | `16s` | | `apis.http.idleTimeout` | string | `The maximum amount of time the server waits for the next request when keep-alives are enabled. If idleTimeout is zero, the value of readTimeout is used. If both are zero, there is no timeout.` | `30s` | +### Open telemetry exporter + +The plgd open telemetry exporter configuration. + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `clients.openTelemetryCollector.grpc.enabled` | bool | `Enable OTLP gRPC exporter` | `false` | +| `clients.openTelemetryCollector.grpc.address` | string | `The gRPC collector to which the exporter is going to send data` | `""` | +| `clients.openTelemetryCollector.grpc.keepAlive.time` | string | `After a duration of this time if the client doesn't see any activity it pings the server to see if the transport is still alive.` | `10s` | +| `clients.openTelemetryCollector.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | +| `clients.openTelemetryCollector.grpc.keepAlive.permitWithoutStream` | bool | `If true, client sends keepalive pings even with no active RPCs. If false, when there are no active RPCs, Time and Timeout will be ignored and no keepalive pings will be sent.` | `true` | +| `clients.openTelemetryCollector.grpc.tls.caPool` | string | `File path to the root certificate in PEM format which might contain multiple certificates in a single file.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | + ### Signer Signer configuration to issue identity certificates for devices or client application. diff --git a/content/en/docs/configuration/cloud2cloud-connector.md b/content/en/docs/configuration/cloud2cloud-connector.md index 6afe1593..3f739f0a 100644 --- a/content/en/docs/configuration/cloud2cloud-connector.md +++ b/content/en/docs/configuration/cloud2cloud-connector.md @@ -127,6 +127,22 @@ Client configurations to internally connect to the Resource Aggregate service. | `clients.resourceAggregate.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | | `clients.resourceAggregate.grpc.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | +### Open telemetry exporter + +The plgd open telemetry exporter configuration. + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `clients.openTelemetryCollector.grpc.enabled` | bool | `Enable OTLP gRPC exporter` | `false` | +| `clients.openTelemetryCollector.grpc.address` | string | `The gRPC collector to which the exporter is going to send data` | `""` | +| `clients.openTelemetryCollector.grpc.keepAlive.time` | string | `After a duration of this time if the client doesn't see any activity it pings the server to see if the transport is still alive.` | `10s` | +| `clients.openTelemetryCollector.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | +| `clients.openTelemetryCollector.grpc.keepAlive.permitWithoutStream` | bool | `If true, client sends keepalive pings even with no active RPCs. If false, when there are no active RPCs, Time and Timeout will be ignored and no keepalive pings will be sent.` | `true` | +| `clients.openTelemetryCollector.grpc.tls.caPool` | string | `File path to the root certificate in PEM format which might contain multiple certificates in a single file.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | + ### Storage plgd hub uses MongoDB database as the owner's device store. diff --git a/content/en/docs/configuration/cloud2cloud-gateway.md b/content/en/docs/configuration/cloud2cloud-gateway.md index 24434951..7cf460b5 100644 --- a/content/en/docs/configuration/cloud2cloud-gateway.md +++ b/content/en/docs/configuration/cloud2cloud-gateway.md @@ -124,6 +124,22 @@ plgd hub uses MongoDB database as the owner's device store. | `clients.subscription.http.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | | `clients.subscription.http.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | +### Open telemetry exporter + +The plgd open telemetry exporter configuration. + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `clients.openTelemetryCollector.grpc.enabled` | bool | `Enable OTLP gRPC exporter` | `false` | +| `clients.openTelemetryCollector.grpc.address` | string | `The gRPC collector to which the exporter is going to send data` | `""` | +| `clients.openTelemetryCollector.grpc.keepAlive.time` | string | `After a duration of this time if the client doesn't see any activity it pings the server to see if the transport is still alive.` | `10s` | +| `clients.openTelemetryCollector.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | +| `clients.openTelemetryCollector.grpc.keepAlive.permitWithoutStream` | bool | `If true, client sends keepalive pings even with no active RPCs. If false, when there are no active RPCs, Time and Timeout will be ignored and no keepalive pings will be sent.` | `true` | +| `clients.openTelemetryCollector.grpc.tls.caPool` | string | `File path to the root certificate in PEM format which might contain multiple certificates in a single file.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | + ### Task Queue | Property | Type | Description | Default | diff --git a/content/en/docs/configuration/coap-gateway.md b/content/en/docs/configuration/coap-gateway.md index cd395f9b..591e7076 100644 --- a/content/en/docs/configuration/coap-gateway.md +++ b/content/en/docs/configuration/coap-gateway.md @@ -148,6 +148,22 @@ Client configurations to internally connect to Resource Directory service. | `clients.resourceDirectory.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | | `clients.resourceDirectory.grpc.keepAlive.permitWithoutStream` | bool | `If true, client sends keepalive pings even with no active RPCs. If false, when there are no active RPCs, Time and Timeout will be ignored and no keepalive pings will be sent.` | `false` | +### Open telemetry exporter + +The plgd open telemetry exporter configuration. + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `clients.openTelemetryCollector.grpc.enabled` | bool | `Enable OTLP gRPC exporter` | `false` | +| `clients.openTelemetryCollector.grpc.address` | string | `The gRPC collector to which the exporter is going to send data` | `""` | +| `clients.openTelemetryCollector.grpc.keepAlive.time` | string | `After a duration of this time if the client doesn't see any activity it pings the server to see if the transport is still alive.` | `10s` | +| `clients.openTelemetryCollector.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | +| `clients.openTelemetryCollector.grpc.keepAlive.permitWithoutStream` | bool | `If true, client sends keepalive pings even with no active RPCs. If false, when there are no active RPCs, Time and Timeout will be ignored and no keepalive pings will be sent.` | `true` | +| `clients.openTelemetryCollector.grpc.tls.caPool` | string | `File path to the root certificate in PEM format which might contain multiple certificates in a single file.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | + ### Task Queue | Property | Type | Description | Default | diff --git a/content/en/docs/configuration/grpc-gateway.md b/content/en/docs/configuration/grpc-gateway.md index ff16f6f8..f4563c38 100644 --- a/content/en/docs/configuration/grpc-gateway.md +++ b/content/en/docs/configuration/grpc-gateway.md @@ -36,6 +36,8 @@ gRPC API of the gRPC Gateway service as defined [here](https://github.com/plgd-d | Property | Type | Description | Default | | ---------- | -------- | -------------- | ------- | | `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | +| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | +| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | | `apis.grpc.ownerCacheExpiration` | string | `Time limit of how long to keep subscribed to device updates after last use of the given cache item.` | `1m` | | `apis.grpc.subscriptionBufferSize` | int | `The maximum buffer size for one events subscription.` | `1000` | | `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise the server close connection.` | `5s`| @@ -50,17 +52,17 @@ gRPC API of the gRPC Gateway service as defined [here](https://github.com/plgd-d | `apis.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | | `apis.grpc.tls.clientCertificateRequired` | bool | `If true, require client certificate.` | `true` | | `apis.grpc.authorization.ownerClaim` | string | `Claim used to identify owner of the device.` | `"sub"` | -| `apis.grpc.authorization.authority` | string | `Authority is the address of the token-issuing authentication server. Services will use this URI to find and retrieve the public key that can be used to validate the token’s signature.` | `""` | | `apis.grpc.authorization.audience` | string | `Identifier of the API configured in your OAuth provider.` | `""` | -| `apis.grpc.authorization.http.maxIdleConns` | int | `It controls the maximum number of idle (keep-alive) connections across all hosts. Zero means no limit.` | `16` | -| `apis.grpc.authorization.http.maxConnsPerHost` | int | `It optionally limits the total number of connections per host, including connections in the dialing, active, and idle states. On limit violation, dials will block. Zero means no limit.` | `32` | -| `apis.grpc.authorization.http.maxIdleConnsPerHost` | int | `If non-zero, controls the maximum idle (keep-alive) connections to keep per-host. If zero, DefaultMaxIdleConnsPerHost is used.` | `16` | -| `apis.grpc.authorization.http.idleConnTimeout` | string | `The maximum amount of time an idle (keep-alive) connection will remain idle before closing itself. Zero means no limit.` | `30s` | -| `apis.grpc.authorization.http.timeout` | string | `A time limit for requests made by this Client. A Timeout of zero means no timeout.` | `10s` | -| `apis.grpc.authorization.http.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | -| `apis.grpc.authorization.http.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | -| `apis.grpc.authorization.http.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | -| `apis.grpc.authorization.http.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | +| `apis.grpc.authorization.endpoints[].authority` | string | `Authority is the address of the token-issuing authentication server. Services will use this URI to find and retrieve the public key that can be used to validate the token’s signature.` | `""` | +| `apis.grpc.authorization.endpoints[].http.maxIdleConns` | int | `It controls the maximum number of idle (keep-alive) connections across all hosts. Zero means no limit.` | `16` | +| `apis.grpc.authorization.endpoints[].http.maxConnsPerHost` | int | `It optionally limits the total number of connections per host, including connections in the dialing, active, and idle states. On limit violation, dials will block. Zero means no limit.` | `32` | +| `apis.grpc.authorization.endpoints[].http.maxIdleConnsPerHost` | int | `If non-zero, controls the maximum idle (keep-alive) connections to keep per-host. If zero, DefaultMaxIdleConnsPerHost is used.` | `16` | +| `apis.grpc.authorization.endpoints[].http.idleConnTimeout` | string | `The maximum amount of time an idle (keep-alive) connection will remain idle before closing itself. Zero means no limit.` | `30s` | +| `apis.grpc.authorization.endpoints[].http.timeout` | string | `A time limit for requests made by this Client. A Timeout of zero means no timeout.` | `10s` | +| `apis.grpc.authorization.endpoints[].http.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | +| `apis.grpc.authorization.endpoints[].http.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `apis.grpc.authorization.endpoints[].http.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `apis.grpc.authorization.endpoints[].http.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | ### Identity Store Client @@ -122,6 +124,22 @@ Client configurations to internally connect to Resource Directory service. | `clients.resourceDirectory.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | | `clients.resourceDirectory.grpc.keepAlive.permitWithoutStream` | bool | `If true, client sends keepalive pings even with no active RPCs. If false, when there are no active RPCs, Time and Timeout will be ignored and no keepalive pings will be sent.` | `false` | +### Open telemetry exporter + +The plgd open telemetry exporter configuration. + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `clients.openTelemetryCollector.grpc.enabled` | bool | `Enable OTLP gRPC exporter` | `false` | +| `clients.openTelemetryCollector.grpc.address` | string | `The gRPC collector to which the exporter is going to send data` | `""` | +| `clients.openTelemetryCollector.grpc.keepAlive.time` | string | `After a duration of this time if the client doesn't see any activity it pings the server to see if the transport is still alive.` | `10s` | +| `clients.openTelemetryCollector.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | +| `clients.openTelemetryCollector.grpc.keepAlive.permitWithoutStream` | bool | `If true, client sends keepalive pings even with no active RPCs. If false, when there are no active RPCs, Time and Timeout will be ignored and no keepalive pings will be sent.` | `true` | +| `clients.openTelemetryCollector.grpc.tls.caPool` | string | `File path to the root certificate in PEM format which might contain multiple certificates in a single file.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | + {{< note >}} Note that the string type related to time (i.e. timeout, idleConnTimeout, expirationTime) is decimal numbers, each with optional fraction and a unit suffix, such as "300ms", "1.5h" or "2h45m". Valid time units are "ns", "us", "ms", "s", "m", "h". diff --git a/content/en/docs/configuration/http-gateway.md b/content/en/docs/configuration/http-gateway.md index 4d5e71c8..37dd7dda 100644 --- a/content/en/docs/configuration/http-gateway.md +++ b/content/en/docs/configuration/http-gateway.md @@ -106,6 +106,22 @@ These configurations are for `plgd Dashboard` as described in [here](https://git | `ui.webConfiguration.visibility.mainSidebar.apiTokens` | bool | `Show api tokens in the main sidebar.` | `false` | | `ui.webConfiguration.visibility.mainSidebar.schemaHub` | bool | `Show schema hub in the main sidebar.` | `false` | +### Open telemetry exporter + +The plgd open telemetry exporter configuration. + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `clients.openTelemetryCollector.grpc.enabled` | bool | `Enable OTLP gRPC exporter` | `false` | +| `clients.openTelemetryCollector.grpc.address` | string | `The gRPC collector to which the exporter is going to send data` | `""` | +| `clients.openTelemetryCollector.grpc.keepAlive.time` | string | `After a duration of this time if the client doesn't see any activity it pings the server to see if the transport is still alive.` | `10s` | +| `clients.openTelemetryCollector.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | +| `clients.openTelemetryCollector.grpc.keepAlive.permitWithoutStream` | bool | `If true, client sends keepalive pings even with no active RPCs. If false, when there are no active RPCs, Time and Timeout will be ignored and no keepalive pings will be sent.` | `true` | +| `clients.openTelemetryCollector.grpc.tls.caPool` | string | `File path to the root certificate in PEM format which might contain multiple certificates in a single file.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | + {{< note >}} Note that the string type related to time (i.e. timeout, idleConnTimeout, expirationTime) is decimal numbers, each with optional fraction and a unit suffix, such as "300ms", "1.5h" or "2h45m". Valid time units are "ns", "us", "ms", "s", "m", "h". diff --git a/content/en/docs/configuration/identity-store.md b/content/en/docs/configuration/identity-store.md index e0e92522..ad21ac57 100644 --- a/content/en/docs/configuration/identity-store.md +++ b/content/en/docs/configuration/identity-store.md @@ -36,6 +36,8 @@ gRPC API of the Identity Store service as defined [here](https://github.com/plgd | Property | Type | Description | Default | | ---------- | -------- | -------------- | ------- | | `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | +| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | +| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | | `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise the server close connection.` | `5s`| | `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise the server close connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | @@ -48,17 +50,17 @@ gRPC API of the Identity Store service as defined [here](https://github.com/plgd | `apis.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | | `apis.grpc.tls.clientCertificateRequired` | bool | `If true, require client certificate.` | `true` | | `apis.grpc.authorization.ownerClaim` | string | `Claim used to identify owner of the device.` | `"sub"` | -| `apis.grpc.authorization.authority` | string | `Authority is the address of the token-issuing authentication server. Services will use this URI to find and retrieve the public key that can be used to validate the token’s signature.` | `""` | | `apis.grpc.authorization.audience` | string | `Identifier of the API configured in your OAuth provider.` | `""` | -| `apis.grpc.authorization.http.maxIdleConns` | int | `It controls the maximum number of idle (keep-alive) connections across all hosts. Zero means no limit.` | `16` | -| `apis.grpc.authorization.http.maxConnsPerHost` | int | `It optionally limits the total number of connections per host, including connections in the dialing, active, and idle states. On limit violation, dials will block. Zero means no limit.` | `32` | -| `apis.grpc.authorization.http.maxIdleConnsPerHost` | int | `If non-zero, controls the maximum idle (keep-alive) connections to keep per-host. If zero, DefaultMaxIdleConnsPerHost is used.` | `16` | -| `apis.grpc.authorization.http.idleConnTimeout` | string | `The maximum amount of time an idle (keep-alive) connection will remain idle before closing itself. Zero means no limit.` | `30s` | -| `apis.grpc.authorization.http.timeout` | string | `A time limit for requests made by this Client. A Timeout of zero means no timeout.` | `10s` | -| `apis.grpc.authorization.http.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | -| `apis.grpc.authorization.http.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | -| `apis.grpc.authorization.http.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | -| `apis.grpc.authorization.http.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | +| `apis.grpc.authorization.endpoints[].authority` | string | `Authority is the address of the token-issuing authentication server. Services will use this URI to find and retrieve the public key that can be used to validate the token’s signature.` | `""` | +| `apis.grpc.authorization.endpoints[].http.maxIdleConns` | int | `It controls the maximum number of idle (keep-alive) connections across all hosts. Zero means no limit.` | `16` | +| `apis.grpc.authorization.endpoints[].http.maxConnsPerHost` | int | `It optionally limits the total number of connections per host, including connections in the dialing, active, and idle states. On limit violation, dials will block. Zero means no limit.` | `32` | +| `apis.grpc.authorization.endpoints[].http.maxIdleConnsPerHost` | int | `If non-zero, controls the maximum idle (keep-alive) connections to keep per-host. If zero, DefaultMaxIdleConnsPerHost is used.` | `16` | +| `apis.grpc.authorization.endpoints[].http.idleConnTimeout` | string | `The maximum amount of time an idle (keep-alive) connection will remain idle before closing itself. Zero means no limit.` | `30s` | +| `apis.grpc.authorization.endpoints[].http.timeout` | string | `A time limit for requests made by this Client. A Timeout of zero means no timeout.` | `10s` | +| `apis.grpc.authorization.endpoints[].http.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | +| `apis.grpc.authorization.endpoints[].http.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `apis.grpc.authorization.endpoints[].http.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `apis.grpc.authorization.endpoints[].http.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | ### Event Bus @@ -89,6 +91,22 @@ plgd hub uses MongoDB database as owner's device store. | `clients.storage.mongoDB.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | | `clients.storage.mongoDB.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | +### Open telemetry exporter + +The plgd open telemetry exporter configuration. + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `clients.openTelemetryCollector.grpc.enabled` | bool | `Enable OTLP gRPC exporter` | `false` | +| `clients.openTelemetryCollector.grpc.address` | string | `The gRPC collector to which the exporter is going to send data` | `""` | +| `clients.openTelemetryCollector.grpc.keepAlive.time` | string | `After a duration of this time if the client doesn't see any activity it pings the server to see if the transport is still alive.` | `10s` | +| `clients.openTelemetryCollector.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | +| `clients.openTelemetryCollector.grpc.keepAlive.permitWithoutStream` | bool | `If true, client sends keepalive pings even with no active RPCs. If false, when there are no active RPCs, Time and Timeout will be ignored and no keepalive pings will be sent.` | `true` | +| `clients.openTelemetryCollector.grpc.tls.caPool` | string | `File path to the root certificate in PEM format which might contain multiple certificates in a single file.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | + {{< note >}} Note that the string type related to time (i.e. timeout, idleConnTimeout, expirationTime) is decimal numbers, each with optional fraction and a unit suffix, such as "300ms", "1.5h" or "2h45m". Valid time units are "ns", "us", "ms", "s", "m", "h". diff --git a/content/en/docs/configuration/m2m-oauth-server.md b/content/en/docs/configuration/m2m-oauth-server.md index b72f6507..08ea37e3 100644 --- a/content/en/docs/configuration/m2m-oauth-server.md +++ b/content/en/docs/configuration/m2m-oauth-server.md @@ -45,6 +45,22 @@ HTTP API of the OAuth Server service as defined [here](https://github.com/plgd-d | `apis.http.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | | `apis.http.tls.clientCertificateRequired` | bool | `If true, require client certificate.` | `true` | +### Open telemetry exporter + +The plgd open telemetry exporter configuration. + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `clients.openTelemetryCollector.grpc.enabled` | bool | `Enable OTLP gRPC exporter` | `false` | +| `clients.openTelemetryCollector.grpc.address` | string | `The gRPC collector to which the exporter is going to send data` | `""` | +| `clients.openTelemetryCollector.grpc.keepAlive.time` | string | `After a duration of this time if the client doesn't see any activity it pings the server to see if the transport is still alive.` | `10s` | +| `clients.openTelemetryCollector.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | +| `clients.openTelemetryCollector.grpc.keepAlive.permitWithoutStream` | bool | `If true, client sends keepalive pings even with no active RPCs. If false, when there are no active RPCs, Time and Timeout will be ignored and no keepalive pings will be sent.` | `true` | +| `clients.openTelemetryCollector.grpc.tls.caPool` | string | `File path to the root certificate in PEM format which might contain multiple certificates in a single file.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | + ### OAuth Signer Signer configuration to access tokens of OAuth provider for services. diff --git a/content/en/docs/configuration/mongodb-standby-tool.md b/content/en/docs/configuration/mongodb-standby-tool.md index 09c54902..475eff2f 100644 --- a/content/en/docs/configuration/mongodb-standby-tool.md +++ b/content/en/docs/configuration/mongodb-standby-tool.md @@ -5,7 +5,7 @@ description: 'MongoDB Standby Tool overview' date: '2024-06-26' categories: [configuration, deployment, disaster recovery] keywords: [configuration, mongodb, disaster recovery] -weight: 11 +weight: 12 --- MongoDB Standby Tool is used to reconfigure some of the MongoDB replica set members to be in a hidden and secondary state. For example, you can have a replica set where members are running in multiple regions for disaster recovery purposes. diff --git a/content/en/docs/configuration/resource-aggregate.md b/content/en/docs/configuration/resource-aggregate.md index bd5beebb..dbb55898 100644 --- a/content/en/docs/configuration/resource-aggregate.md +++ b/content/en/docs/configuration/resource-aggregate.md @@ -37,6 +37,8 @@ gRPC API of the Resource Aggregate service as defined [here](https://github.com/ | ---------- | -------- | -------------- | ------- | | `apis.grpc.ownerCacheExpiration` | string | `Time limit of how long to keep subscribed to device updates after last use of the given cache item.` | `1m` | | `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | +| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | +| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | | `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise the server close connection.` | `5s`| | `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise the server close connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | @@ -48,17 +50,17 @@ gRPC API of the Resource Aggregate service as defined [here](https://github.com/ | `apis.grpc.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | | `apis.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | | `apis.grpc.tls.clientCertificateRequired` | bool | `If true, require client certificate.` | `true` | -| `apis.grpc.authorization.authority` | string | `Authority is the address of the token-issuing authentication server. Services will use this URI to find and retrieve the public key that can be used to validate the token’s signature.` | `""` | | `apis.grpc.authorization.audience` | string | `Identifier of the API configured in your OAuth provider.` | `""` | -| `apis.grpc.authorization.http.maxIdleConns` | int | `It controls the maximum number of idle (keep-alive) connections across all hosts. Zero means no limit.` | `16` | -| `apis.grpc.authorization.http.maxConnsPerHost` | int | `It optionally limits the total number of connections per host, including connections in the dialing, active, and idle states. On limit violation, dials will block. Zero means no limit.` | `32` | -| `apis.grpc.authorization.http.maxIdleConnsPerHost` | int | `If non-zero, controls the maximum idle (keep-alive) connections to keep per-host. If zero, DefaultMaxIdleConnsPerHost is used.` | `16` | -| `apis.grpc.authorization.http.idleConnTimeout` | string | `The maximum amount of time an idle (keep-alive) connection will remain idle before closing itself. Zero means no limit.` | `30s` | -| `apis.grpc.authorization.http.timeout` | string | `A time limit for requests made by this Client. A Timeout of zero means no timeout.` | `10s` | -| `apis.grpc.authorization.http.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | -| `apis.grpc.authorization.http.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | -| `apis.grpc.authorization.http.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | -| `apis.grpc.authorization.http.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | +| `apis.grpc.authorization.endpoints[].authority` | string | `Authority is the address of the token-issuing authentication server. Services will use this URI to find and retrieve the public key that can be used to validate the token’s signature.` | `""` | +| `apis.grpc.authorization.endpoints[].http.maxIdleConns` | int | `It controls the maximum number of idle (keep-alive) connections across all hosts. Zero means no limit.` | `16` | +| `apis.grpc.authorization.endpoints[].http.maxConnsPerHost` | int | `It optionally limits the total number of connections per host, including connections in the dialing, active, and idle states. On limit violation, dials will block. Zero means no limit.` | `32` | +| `apis.grpc.authorization.endpoints[].http.maxIdleConnsPerHost` | int | `If non-zero, controls the maximum idle (keep-alive) connections to keep per-host. If zero, DefaultMaxIdleConnsPerHost is used.` | `16` | +| `apis.grpc.authorization.endpoints[].http.idleConnTimeout` | string | `The maximum amount of time an idle (keep-alive) connection will remain idle before closing itself. Zero means no limit.` | `30s` | +| `apis.grpc.authorization.endpoints[].http.timeout` | string | `A time limit for requests made by this Client. A Timeout of zero means no timeout.` | `10s` | +| `apis.grpc.authorization.endpoints[].http.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | +| `apis.grpc.authorization.endpoints[].http.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `apis.grpc.authorization.endpoints[].http.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `apis.grpc.authorization.endpoints[].http.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | ### Event Bus @@ -107,6 +109,22 @@ Client configurations to internally connect to Identity Store service. | `clients.identityStore.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | | `clients.identityStore.grpc.keepAlive.permitWithoutStream` | bool | `If true, client sends keepalive pings even with no active RPCs. If false, when there are no active RPCs, Time and Timeout will be ignored and no keepalive pings will be sent.` | `false` | +### Open telemetry exporter + +The plgd open telemetry exporter configuration. + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `clients.openTelemetryCollector.grpc.enabled` | bool | `Enable OTLP gRPC exporter` | `false` | +| `clients.openTelemetryCollector.grpc.address` | string | `The gRPC collector to which the exporter is going to send data` | `""` | +| `clients.openTelemetryCollector.grpc.keepAlive.time` | string | `After a duration of this time if the client doesn't see any activity it pings the server to see if the transport is still alive.` | `10s` | +| `clients.openTelemetryCollector.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | +| `clients.openTelemetryCollector.grpc.keepAlive.permitWithoutStream` | bool | `If true, client sends keepalive pings even with no active RPCs. If false, when there are no active RPCs, Time and Timeout will be ignored and no keepalive pings will be sent.` | `true` | +| `clients.openTelemetryCollector.grpc.tls.caPool` | string | `File path to the root certificate in PEM format which might contain multiple certificates in a single file.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | + {{< note >}} Note that the string type related to time (i.e. timeout, idleConnTimeout, expirationTime) is decimal numbers, each with optional fraction and a unit suffix, such as "300ms", "1.5h" or "2h45m". Valid time units are "ns", "us", "ms", "s", "m", "h". diff --git a/content/en/docs/configuration/resource-directory.md b/content/en/docs/configuration/resource-directory.md index c2297110..8863ea0e 100644 --- a/content/en/docs/configuration/resource-directory.md +++ b/content/en/docs/configuration/resource-directory.md @@ -36,6 +36,8 @@ gRPC API of the Resource Directory service. | Property | Type | Description | Default | | ---------- | -------- | -------------- | ------- | | `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | +| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | +| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | | `apis.grpc.ownerCacheExpiration` | string | `Time limit of how long to keep subscribed to device updates after last use of the given cache item.` | `1m` | | `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise the server close connection.` | `5s`| | `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise the server close connection.` | `true` | @@ -49,17 +51,17 @@ gRPC API of the Resource Directory service. | `apis.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | | `apis.grpc.tls.clientCertificateRequired` | bool | `If true, require client certificate.` | `true` | | `apis.grpc.authorization.ownerClaim` | string | `Claim used to identify owner of the device.` | `"sub"` | -| `apis.grpc.authorization.authority` | string | `Authority is the address of the token-issuing authentication server. Services will use this URI to find and retrieve the public key that can be used to validate the token’s signature.` | `""` | | `apis.grpc.authorization.audience` | string | `Identifier of the API configured in your OAuth provider.` | `""` | -| `apis.grpc.authorization.http.maxIdleConns` | int | `It controls the maximum number of idle (keep-alive) connections across all hosts. Zero means no limit.` | `16` | -| `apis.grpc.authorization.http.maxConnsPerHost` | int | `It optionally limits the total number of connections per host, including connections in the dialing, active, and idle states. On limit violation, dials will block. Zero means no limit.` | `32` | -| `apis.grpc.authorization.http.maxIdleConnsPerHost` | int | `If non-zero, controls the maximum idle (keep-alive) connections to keep per-host. If zero, DefaultMaxIdleConnsPerHost is used.` | `16` | -| `apis.grpc.authorization.http.idleConnTimeout` | string | `The maximum amount of time an idle (keep-alive) connection will remain idle before closing itself. Zero means no limit.` | `30s` | -| `apis.grpc.authorization.http.timeout` | string | `A time limit for requests made by this Client. A Timeout of zero means no timeout.` | `10s` | -| `apis.grpc.authorization.http.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | -| `apis.grpc.authorization.http.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | -| `apis.grpc.authorization.http.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | -| `apis.grpc.authorization.http.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | +| `apis.grpc.authorization.endpoints[].authority` | string | `Authority is the address of the token-issuing authentication server. Services will use this URI to find and retrieve the public key that can be used to validate the token’s signature.` | `""` | +| `apis.grpc.authorization.endpoints[].http.maxIdleConns` | int | `It controls the maximum number of idle (keep-alive) connections across all hosts. Zero means no limit.` | `16` | +| `apis.grpc.authorization.endpoints[].http.maxConnsPerHost` | int | `It optionally limits the total number of connections per host, including connections in the dialing, active, and idle states. On limit violation, dials will block. Zero means no limit.` | `32` | +| `apis.grpc.authorization.endpoints[].http.maxIdleConnsPerHost` | int | `If non-zero, controls the maximum idle (keep-alive) connections to keep per-host. If zero, DefaultMaxIdleConnsPerHost is used.` | `16` | +| `apis.grpc.authorization.endpoints[].http.idleConnTimeout` | string | `The maximum amount of time an idle (keep-alive) connection will remain idle before closing itself. Zero means no limit.` | `30s` | +| `apis.grpc.authorization.endpoints[].http.timeout` | string | `A time limit for requests made by this Client. A Timeout of zero means no timeout.` | `10s` | +| `apis.grpc.authorization.endpoints[].http.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | +| `apis.grpc.authorization.endpoints[].http.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `apis.grpc.authorization.endpoints[].http.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `apis.grpc.authorization.endpoints[].http.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | ### Event Bus @@ -107,6 +109,22 @@ Client configurations to internally connect to Identity Store service. | `clients.identityStore.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | | `clients.identityStore.grpc.keepAlive.permitWithoutStream` | bool | `If true, client sends keepalive pings even with no active RPCs. If false, when there are no active RPCs, Time and Timeout will be ignored and no keepalive pings will be sent.` | `false` | +### Open telemetry exporter + +The plgd open telemetry exporter configuration. + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `clients.openTelemetryCollector.grpc.enabled` | bool | `Enable OTLP gRPC exporter` | `false` | +| `clients.openTelemetryCollector.grpc.address` | string | `The gRPC collector to which the exporter is going to send data` | `""` | +| `clients.openTelemetryCollector.grpc.keepAlive.time` | string | `After a duration of this time if the client doesn't see any activity it pings the server to see if the transport is still alive.` | `10s` | +| `clients.openTelemetryCollector.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | +| `clients.openTelemetryCollector.grpc.keepAlive.permitWithoutStream` | bool | `If true, client sends keepalive pings even with no active RPCs. If false, when there are no active RPCs, Time and Timeout will be ignored and no keepalive pings will be sent.` | `true` | +| `clients.openTelemetryCollector.grpc.tls.caPool` | string | `File path to the root certificate in PEM format which might contain multiple certificates in a single file.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | + ### Public Configuration These configurations are `CoAP Cloud Conf` information for device registration to plgd hub as well as root CA certificate, certificate authority address to get identity certificate for ssl connection to plgd hub before device registration. diff --git a/content/en/docs/configuration/snippet-service.md b/content/en/docs/configuration/snippet-service.md new file mode 100644 index 00000000..4c6f96bf --- /dev/null +++ b/content/en/docs/configuration/snippet-service.md @@ -0,0 +1,149 @@ +--- +title: 'Snippet service' +description: 'Service configuration overview' +date: '2024-10-12' +categories: [configuration, deployment] +keywords: [configuration] +weight: 11 +--- + +Snippet service is used to automatically update resources in the device when conditions are satisfied or on-demand by the user. + +## Docker Image + +```bash +docker pull ghcr.io/plgd-dev/hub/snippet-service:latest +``` + +## YAML Configuration + +A configuration template is available on [snippet-service/config.yaml](https://github.com/plgd-dev/hub/blob/main/snippet-service/config.yaml). + +### Logging + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `log.level` | string | `Logging enabled from level.` | `"info"` | +| `log.encoding` | string | `Logging format. The supported values are: "json", "console"` | `"json"` | +| `log.stacktrace.enabled` | bool | `Log stacktrace.` | `false` | +| `log.stacktrace.level` | string | `Stacktrace from level.` | `"warn"` | +| `log.encoderConfig.timeEncoder` | string | `Time format for logs. The supported values are: "rfc3339nano", "rfc3339".` | `"rfc3339nano"` | + +### gRPC API + +gRPC API of the Snippet service as defined [here](https://github.com/plgd-dev/hub/blob/main/snippet-service/pb/service.proto). + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | +| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | +| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | +| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise the server close connection.` | `5s`| +| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise the server close connection.` | `true` | +| `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | +| `apis.grpc.keepAlive.maxConnectionAge` | string | `A duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway. 0s means infinity.` | `0s` | +| `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge after which the connection will be forcibly closed. 0s means infinity.` | `0s` | +| `apis.grpc.keepAlive.time` | string | `After a duration of this time if the server doesn't see any activity it pings the client to see if the transport is still alive.` | `2h` | +| `apis.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | +| `apis.grpc.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | +| `apis.grpc.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `apis.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `apis.grpc.tls.clientCertificateRequired` | bool | `If true, require client certificate.` | `true` | +| `apis.grpc.authorization.ownerClaim` | string | `Claim used to identify owner of the device.` | `"sub"` | +| `apis.grpc.authorization.audience` | string | `Identifier of the API configured in your OAuth provider.` | `""` | +| `apis.grpc.authorization.endpoints[].authority` | string | `Authority is the address of the token-issuing authentication server. Services will use this URI to find and retrieve the public key that can be used to validate the token’s signature.` | `""` | +| `apis.grpc.authorization.endpoints[].http.maxIdleConns` | int | `It controls the maximum number of idle (keep-alive) connections across all hosts. Zero means no limit.` | `16` | +| `apis.grpc.authorization.endpoints[].http.maxConnsPerHost` | int | `It optionally limits the total number of connections per host, including connections in the dialing, active, and idle states. On limit violation, dials will block. Zero means no limit.` | `32` | +| `apis.grpc.authorization.endpoints[].http.maxIdleConnsPerHost` | int | `If non-zero, controls the maximum idle (keep-alive) connections to keep per-host. If zero, DefaultMaxIdleConnsPerHost is used.` | `16` | +| `apis.grpc.authorization.endpoints[].http.idleConnTimeout` | string | `The maximum amount of time an idle (keep-alive) connection will remain idle before closing itself. Zero means no limit.` | `30s` | +| `apis.grpc.authorization.endpoints[].http.timeout` | string | `A time limit for requests made by this Client. A Timeout of zero means no timeout.` | `10s` | +| `apis.grpc.authorization.endpoints[].http.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | +| `apis.grpc.authorization.endpoints[].http.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `apis.grpc.authorization.endpoints[].http.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `apis.grpc.authorization.endpoints[].http.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | + +### HTTP API + +HTTP Snippet service APIs as defined by [swagger](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/plgd-dev/hub/main/snippet-service/pb/service.swagger.json). +The configuration `apis.http.tls` and `apis.http.authorization` are inherited from the gRPC API. + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `apis.http.address` | string | `Listen specification : for http client connection.` | `"0.0.0.0:9101"` | +| `apis.http.readTimeout` | string | `The maximum duration for reading the entire request, including the body by the server. A zero or negative value means there will be no timeout.` | `8s` | +| `apis.http.readHeaderTimeout` | string | `The amount of time allowed to read request headers by the server. If readHeaderTimeout is zero, the value of readTimeout is used. If both are zero, there is no timeout.` | `4s` | +| `apis.http.writeTimeout` | string | `The maximum duration before the server times out writing of the response. A zero or negative value means there will be no timeout.` | `16s` | +| `apis.http.idleTimeout` | string | `The maximum amount of time the server waits for the next request when keep-alives are enabled. If idleTimeout is zero, the value of readTimeout is used. If both are zero, there is no timeout.` | `30s` | + +### Event Bus + +plgd hub uses NATS messaging system as a event bus to be notified about device changes to trigger conditions evaluation. + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `clients.eventBus.nats.url` | string | `URL to nats messaging system.` | `"nats://localhost:4222"` | +| `clients.eventBus.nats.pendingLimits.msgLimit` | int | `Limit number of messages in queue. -1 means unlimited` | `524288` | +| `clients.eventBus.nats.pendingLimits.bytesLimit` | int | `Limit buffer size of queue. -1 means unlimited` | `67108864` | +| `clients.eventBus.nats.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | +| `clients.eventBus.nats.tls.keyFile` | string | `File name of private key in PEM format.` | `""` | +| `clients.eventBus.nats.tls.certFile` | string | `File name of certificate in PEM format.` | `""` | +| `clients.eventBus.nats.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | + +### Storage + +plgd hub uses MongoDB database as a storage for conditions, configurations and applied configurations. + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `clients.storage.mongoDB.uri` | string | `URI to mongo database.` | `"mongodb://localhost:27017"` | +| `clients.storage.mongoDB.database` | string | `Name of database` | `"snippetService"` | +| `clients.storage.mongoDB.maxPoolSize` | int | `Limits number of connections.` | `16` | +| `clients.storage.mongoDB.maxConnIdleTime` | string | `Close connection when idle time reach the value.` | `4m` | +| `clients.storage.mongoDB.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | +| `clients.storage.mongoDB.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `clients.storage.mongoDB.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `clients.storage.mongoDB.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | + +### Resource Aggregate Client + +Resource Aggregate client is responsible for updating resources in the device when conditions are satisfied or on-demand by the user. + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `clients.resourceAggregate.cleanUpExpiredUpdates` | string | `Cron expression to clean up expired updates.` | `"0 * * * *"` | +| `clients.resourceAggregate.grpc.address` | string | `Address of the Resource Aggregate.` | `""` | +| `clients.resourceAggregate.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | +| `clients.resourceAggregate.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | +| `clients.resourceAggregate.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise the server close connection.` | `5s`| +| `clients.resourceAggregate.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise the server close connection.` | `true` | +| `clients.resourceAggregate.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | +| `clients.resourceAggregate.grpc.keepAlive.maxConnectionAge` | string | `A duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway. 0s means infinity.` | `0s` | +| `clients.resourceAggregate.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge after which the connection will be forcibly closed. 0s means infinity.` | `0s` | +| `clients.resourceAggregate.grpc.keepAlive.time` | string | `After a duration of this time if the server doesn't see any activity it pings the client to see if the transport is still alive.` | `2h` | +| `clients.resourceAggregate.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | +| `clients.resourceAggregate.grpc.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | +| `clients.resourceAggregate.grpc.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `clients.resourceAggregate.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `clients.resourceAggregate.grpc.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | + +### Open telemetry exporter + +The plgd open telemetry exporter configuration. + +| Property | Type | Description | Default | +| ---------- | -------- | -------------- | ------- | +| `clients.openTelemetryCollector.grpc.enabled` | bool | `Enable OTLP gRPC exporter` | `false` | +| `clients.openTelemetryCollector.grpc.address` | string | `The gRPC collector to which the exporter is going to send data` | `""` | +| `clients.openTelemetryCollector.grpc.keepAlive.time` | string | `After a duration of this time if the client doesn't see any activity it pings the server to see if the transport is still alive.` | `10s` | +| `clients.openTelemetryCollector.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | +| `clients.openTelemetryCollector.grpc.keepAlive.permitWithoutStream` | bool | `If true, client sends keepalive pings even with no active RPCs. If false, when there are no active RPCs, Time and Timeout will be ignored and no keepalive pings will be sent.` | `true` | +| `clients.openTelemetryCollector.grpc.tls.caPool` | string | `File path to the root certificate in PEM format which might contain multiple certificates in a single file.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.keyFile` | string | `File path to private key in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.certFile` | string | `File path to certificate in PEM format.` | `""` | +| `clients.openTelemetryCollector.grpc.tls.useSystemCAPool` | bool | `If true, use system certification pool.` | `false` | + +{{< note >}} + +Note that the string type related to time (i.e. timeout, idleConnTimeout, expirationTime) is decimal numbers, each with optional fraction and a unit suffix, such as "300ms", "1.5h" or "2h45m". Valid time units are "ns", "us", "ms", "s", "m", "h". + +{{< /note >}} diff --git a/content/en/docs/deployment/hub/hub.md b/content/en/docs/deployment/hub/hub.md index bf8d4e1b..b457fd14 100644 --- a/content/en/docs/deployment/hub/hub.md +++ b/content/en/docs/deployment/hub/hub.md @@ -4,14 +4,18 @@ description: 'Running hub on Kubernetes' docsOthersDisplay: true date: '2021-11-01' categories: - - deployment - - kubernetes + +- deployment +- kubernetes + keywords: - - deployment - - kubernetes - - k8s - - helm - - chart + +- deployment +- kubernetes +- k8s +- helm +- chart + weight: 10 isMainSectionPage: true --- diff --git a/content/en/docs/features/control-plane/http-api.md b/content/en/docs/features/control-plane/http-api.md index 1ff11f39..ab2c4e38 100644 --- a/content/en/docs/features/control-plane/http-api.md +++ b/content/en/docs/features/control-plane/http-api.md @@ -7,4 +7,3 @@ keywords: [ identity-certificate, certificate ] weight: 10 swaggerUrl: 'https://raw.githubusercontent.com/plgd-dev/hub/main/http-gateway/swagger.yaml' --- - diff --git a/content/en/docs/services/certificate-authority/http-api.md b/content/en/docs/services/certificate-authority/http-api.md index 1d105136..d7571463 100644 --- a/content/en/docs/services/certificate-authority/http-api.md +++ b/content/en/docs/services/certificate-authority/http-api.md @@ -5,5 +5,5 @@ date: '2023-06-14' categories: [certificate] keywords: [identity-certificate, certificate] weight: 10 -swaggerUrl: 'https://raw.githubusercontent.com/plgd-dev/hub/main/certificate-authority/pb/service.swagger.json' +swaggerUrl: 'https://raw.githubusercontent.com/plgd-dev/hub/main/certificate-authority/pb/service.swagger.json' --- diff --git a/content/en/docs/services/http-gateway/http-api.md b/content/en/docs/services/http-gateway/http-api.md index 1ff11f39..ab2c4e38 100644 --- a/content/en/docs/services/http-gateway/http-api.md +++ b/content/en/docs/services/http-gateway/http-api.md @@ -7,4 +7,3 @@ keywords: [ identity-certificate, certificate ] weight: 10 swaggerUrl: 'https://raw.githubusercontent.com/plgd-dev/hub/main/http-gateway/swagger.yaml' --- - From 0429ef3cee49cc3e679fde3c58fe585e6885068a Mon Sep 17 00:00:00 2001 From: Jozef Kralik Date: Fri, 12 Jul 2024 13:33:45 +0000 Subject: [PATCH 02/11] doc services/snippet-service --- .../docs/services/snippet-service/_index.md | 4 +++ .../docs/services/snippet-service/features.md | 26 +++++++++++++++++++ .../docs/services/snippet-service/grpc-api.md | 10 +++++++ .../docs/services/snippet-service/http-api.md | 9 +++++++ .../snippet-service/snippet-service.md | 26 +++++++++++++++++++ 5 files changed, 75 insertions(+) create mode 100644 content/en/docs/services/snippet-service/_index.md create mode 100644 content/en/docs/services/snippet-service/features.md create mode 100644 content/en/docs/services/snippet-service/grpc-api.md create mode 100644 content/en/docs/services/snippet-service/http-api.md create mode 100644 content/en/docs/services/snippet-service/snippet-service.md diff --git a/content/en/docs/services/snippet-service/_index.md b/content/en/docs/services/snippet-service/_index.md new file mode 100644 index 00000000..cdbf9c11 --- /dev/null +++ b/content/en/docs/services/snippet-service/_index.md @@ -0,0 +1,4 @@ +--- +title: 'Snippet service' +weight: 11 +--- diff --git a/content/en/docs/services/snippet-service/features.md b/content/en/docs/services/snippet-service/features.md new file mode 100644 index 00000000..b9d0d98a --- /dev/null +++ b/content/en/docs/services/snippet-service/features.md @@ -0,0 +1,26 @@ +--- +title: 'Features' +description: 'What features does the Snippet Service provide?' +date: '2024-07-12' +categories: [snippet-service, automation, configuration] +keywords: [device-configuration, snippet-service] +weight: 2 +--- + +## Description + +This feature allows users to pre-configure devices by specifying desired configurations that are automatically applied when a ResourceChanged event occurs. The newly introduced `snippet service` is responsible for managing this process. + +### Implemented features + +- **☑ Device Configuration:** Users can create and store configuration profiles for devices. These configurations are automatically applied when a ResourceChanged event occurs. +- **☑ Event-Driven Configuration:** The configuration is triggered by the `ResourceChanged` event. Users can set filters to define the conditions under which configurations are applied. +- **☑ Filter Conditions:** Users must set at least one of the following filters: DeviceID filter (trigger based on specific device IDs), Resource-Type filter (trigger when all specified resource types are present), href filter (trigger based on specific href values). All specified filters must be met for the configuration to be applied. For DeviceID and href filters, any listed value can trigger the filter. For the Resource-Type filter, all listed values must be present. +- **☑ Optional JQ Expression:** Users can optionally use a JQ expression to filter the content of the `ResourceChanged` event. The JQ expression must evaluate to true for the configuration to be applied. +- **☑ User Interface:** A user-friendly UI is provided to manage configurations and set filters easily. +- **☑ APIs:** The snippet service provides both a [gRPC API](https://github.com/plgd-dev/hub/blob/main/snippet-service/pb/service.proto) and an [HTTP API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/plgd-dev/hub/main/snippet-service/pb/service.swagger.json), allowing users to interact with the service and perform configuration-related operations. + +### Planned features + +- **☐ Enhanced Filtering Mechanisms:** Additional filter conditions and more complex filtering logic will be supported to offer even greater flexibility and control over configuration application. +- **☐ Apply Configuration to Different Devices:** Users will be able to apply configurations to devices other than the one that triggered the `ResourceChanged` event. diff --git a/content/en/docs/services/snippet-service/grpc-api.md b/content/en/docs/services/snippet-service/grpc-api.md new file mode 100644 index 00000000..191e7207 --- /dev/null +++ b/content/en/docs/services/snippet-service/grpc-api.md @@ -0,0 +1,10 @@ +--- +title: 'gRPC API' +description: 'Snippet Service gRPC API' +date: '2024-07-12' +categories: [snippet-service, automation, configuration] +keywords: [device-configuration, snippet-service] +weight: 20 +--- + +{{< iframe "" >}} diff --git a/content/en/docs/services/snippet-service/http-api.md b/content/en/docs/services/snippet-service/http-api.md new file mode 100644 index 00000000..b75f991d --- /dev/null +++ b/content/en/docs/services/snippet-service/http-api.md @@ -0,0 +1,9 @@ +--- +title: 'HTTP API' +description: 'Snippet Service HTTP API' +date: '2024-07-12' +categories: [snippet-service, automation, configuration] +keywords: [device-configuration, snippet-service] +weight: 10 +swaggerUrl: 'https://raw.githubusercontent.com/plgd-dev/hub/main/snippet-service/pb/service.swagger.json' +--- diff --git a/content/en/docs/services/snippet-service/snippet-service.md b/content/en/docs/services/snippet-service/snippet-service.md new file mode 100644 index 00000000..694f9afc --- /dev/null +++ b/content/en/docs/services/snippet-service/snippet-service.md @@ -0,0 +1,26 @@ +--- + +title: 'Snippet Service' +description: 'Discover the capabilities of the Snippet Service for device configuration' +date: '2024-07-12' +categories: [snippet-service, automation, configuration] +keywords: [device-configuration, snippet-service, introduction] +weight: 1 +isMainSectionPage: true + +--- + +The Snippet Service offers a streamlined solution for managing device configurations. It simplifies the process of setting up and maintaining devices by automatically applying predefined configurations when triggered by specific events. This service ensures that devices are always configured correctly and efficiently, reducing the need for manual intervention and enhancing operational reliability. + +## Overview + +Designed to meet the needs of modern device management, the Snippet Service allows users to define configuration profiles that specify desired device settings. These profiles are applied seamlessly in response to events such as device connections or changes in resources, ensuring consistent and up-to-date configurations across all managed devices. + +## Key Features + +- **Automated Configuration Application:** Predefined configuration profiles are automatically applied when triggered by events, ensuring devices are promptly and consistently configured. +- **Event-Driven Management:** Configurations are triggered by ResourceChanged events, optimizing device management efficiency. +- **User-Friendly Interface:** A straightforward user interface simplifies the creation and management of configuration profiles, making it accessible for users of varying technical expertise. +- **Extensible API Support:** Provides both gRPC and HTTP APIs, enabling seamless integration with existing systems and workflows. + +The Snippet Service is designed to enhance device management by automating configuration tasks, thereby improving operational efficiency and reliability across diverse device environments. From 96386ad2f4f820a331f1143f80c55a858babf8d7 Mon Sep 17 00:00:00 2001 From: Jozef Kralik Date: Fri, 12 Jul 2024 13:40:34 +0000 Subject: [PATCH 03/11] update control plane text --- content/en/docs/features/control-plane/control-plane.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/content/en/docs/features/control-plane/control-plane.md b/content/en/docs/features/control-plane/control-plane.md index e4e66ee3..3fc73f9c 100644 --- a/content/en/docs/features/control-plane/control-plane.md +++ b/content/en/docs/features/control-plane/control-plane.md @@ -49,3 +49,9 @@ Each command issued is converted into an event and placed in a pending state, aw The Device to Device (D2D) feature enables users to control devices directly from their local network. It allows users to access devices without going through the cloud, which is useful for performing maintenance tasks and managing devices conveniently. The D2D feature is built on top of the `plgd d2d client`, which handle communication with the devices. [Learn more about Device to device](/docs/device-to-device-client/) + +## Automated Device Configuration + +Ensure devices are always set up correctly and efficiently with the Snippet Service. Predefined configuration profiles are automatically applied in response to events like changes in resources. This automation minimizes manual intervention, enhances operational reliability, and ensures consistent device settings across your environment. + +[Learn more about Automated Device Configuration](/docs/services/snippet-service/) From 1135bff7618f54fb4657de09154161d69a972f25 Mon Sep 17 00:00:00 2001 From: Jozef Kralik Date: Fri, 12 Jul 2024 13:44:49 +0000 Subject: [PATCH 04/11] cleanup --- content/en/docs/features/control-plane/control-plane.md | 2 +- content/en/docs/services/snippet-service/features.md | 2 +- content/en/docs/services/snippet-service/snippet-service.md | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/content/en/docs/features/control-plane/control-plane.md b/content/en/docs/features/control-plane/control-plane.md index 3fc73f9c..f64203c5 100644 --- a/content/en/docs/features/control-plane/control-plane.md +++ b/content/en/docs/features/control-plane/control-plane.md @@ -52,6 +52,6 @@ The Device to Device (D2D) feature enables users to control devices directly fro ## Automated Device Configuration -Ensure devices are always set up correctly and efficiently with the Snippet Service. Predefined configuration profiles are automatically applied in response to events like changes in resources. This automation minimizes manual intervention, enhances operational reliability, and ensures consistent device settings across your environment. +Ensure devices are always set up correctly and efficiently with the Snippet Service. Predefined configurations are automatically applied in response to events like changes in resources. This automation minimizes manual intervention, enhances operational reliability, and ensures consistent device settings across your environment. [Learn more about Automated Device Configuration](/docs/services/snippet-service/) diff --git a/content/en/docs/services/snippet-service/features.md b/content/en/docs/services/snippet-service/features.md index b9d0d98a..783c555d 100644 --- a/content/en/docs/services/snippet-service/features.md +++ b/content/en/docs/services/snippet-service/features.md @@ -13,7 +13,7 @@ This feature allows users to pre-configure devices by specifying desired configu ### Implemented features -- **☑ Device Configuration:** Users can create and store configuration profiles for devices. These configurations are automatically applied when a ResourceChanged event occurs. +- **☑ Device Configuration:** Users can create and store configurations for devices. These configurations are automatically applied when a ResourceChanged event occurs. - **☑ Event-Driven Configuration:** The configuration is triggered by the `ResourceChanged` event. Users can set filters to define the conditions under which configurations are applied. - **☑ Filter Conditions:** Users must set at least one of the following filters: DeviceID filter (trigger based on specific device IDs), Resource-Type filter (trigger when all specified resource types are present), href filter (trigger based on specific href values). All specified filters must be met for the configuration to be applied. For DeviceID and href filters, any listed value can trigger the filter. For the Resource-Type filter, all listed values must be present. - **☑ Optional JQ Expression:** Users can optionally use a JQ expression to filter the content of the `ResourceChanged` event. The JQ expression must evaluate to true for the configuration to be applied. diff --git a/content/en/docs/services/snippet-service/snippet-service.md b/content/en/docs/services/snippet-service/snippet-service.md index 694f9afc..0f4865a0 100644 --- a/content/en/docs/services/snippet-service/snippet-service.md +++ b/content/en/docs/services/snippet-service/snippet-service.md @@ -14,13 +14,13 @@ The Snippet Service offers a streamlined solution for managing device configurat ## Overview -Designed to meet the needs of modern device management, the Snippet Service allows users to define configuration profiles that specify desired device settings. These profiles are applied seamlessly in response to events such as device connections or changes in resources, ensuring consistent and up-to-date configurations across all managed devices. +Designed to meet the needs of modern device management, the Snippet Service allows users to define configurations that specify desired device settings. These configurations are applied seamlessly in response to changes events in resources. ## Key Features -- **Automated Configuration Application:** Predefined configuration profiles are automatically applied when triggered by events, ensuring devices are promptly and consistently configured. +- **Automated Configuration Application:** Predefined configurations are automatically applied when triggered by events, ensuring devices are promptly and consistently configured. - **Event-Driven Management:** Configurations are triggered by ResourceChanged events, optimizing device management efficiency. -- **User-Friendly Interface:** A straightforward user interface simplifies the creation and management of configuration profiles, making it accessible for users of varying technical expertise. +- **User-Friendly Interface:** A straightforward user interface simplifies the creation and management of configurations, making it accessible for users of varying technical expertise. - **Extensible API Support:** Provides both gRPC and HTTP APIs, enabling seamless integration with existing systems and workflows. The Snippet Service is designed to enhance device management by automating configuration tasks, thereby improving operational efficiency and reliability across diverse device environments. From 98e1e834cc6cda85fffdc4560eef278618afcea7 Mon Sep 17 00:00:00 2001 From: Jozef Kralik Date: Fri, 12 Jul 2024 16:56:09 +0200 Subject: [PATCH 05/11] Update content/en/docs/services/snippet-service/snippet-service.md Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- content/en/docs/services/snippet-service/snippet-service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/services/snippet-service/snippet-service.md b/content/en/docs/services/snippet-service/snippet-service.md index 0f4865a0..2634ba47 100644 --- a/content/en/docs/services/snippet-service/snippet-service.md +++ b/content/en/docs/services/snippet-service/snippet-service.md @@ -14,7 +14,7 @@ The Snippet Service offers a streamlined solution for managing device configurat ## Overview -Designed to meet the needs of modern device management, the Snippet Service allows users to define configurations that specify desired device settings. These configurations are applied seamlessly in response to changes events in resources. +Designed to meet the needs of modern device management, the Snippet Service allows users to define configurations that specify desired device settings. These configurations are applied seamlessly in response to changes in events in resources. ## Key Features From d625e9ae61bfb036a9cfb25eb01a4e695e297493 Mon Sep 17 00:00:00 2001 From: Jozef Kralik Date: Fri, 12 Jul 2024 15:04:01 +0000 Subject: [PATCH 06/11] fixes --- content/en/docs/configuration/snippet-service.md | 4 ++-- content/en/docs/features/control-plane/control-plane.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/en/docs/configuration/snippet-service.md b/content/en/docs/configuration/snippet-service.md index 4c6f96bf..4114c764 100644 --- a/content/en/docs/configuration/snippet-service.md +++ b/content/en/docs/configuration/snippet-service.md @@ -1,10 +1,10 @@ --- title: 'Snippet service' description: 'Service configuration overview' -date: '2024-10-12' +date: '2024-07-12' categories: [configuration, deployment] keywords: [configuration] -weight: 11 +weight: 4 --- Snippet service is used to automatically update resources in the device when conditions are satisfied or on-demand by the user. diff --git a/content/en/docs/features/control-plane/control-plane.md b/content/en/docs/features/control-plane/control-plane.md index f64203c5..0ef7944d 100644 --- a/content/en/docs/features/control-plane/control-plane.md +++ b/content/en/docs/features/control-plane/control-plane.md @@ -54,4 +54,4 @@ The Device to Device (D2D) feature enables users to control devices directly fro Ensure devices are always set up correctly and efficiently with the Snippet Service. Predefined configurations are automatically applied in response to events like changes in resources. This automation minimizes manual intervention, enhances operational reliability, and ensures consistent device settings across your environment. -[Learn more about Automated Device Configuration](/docs/services/snippet-service/) +[Learn more about Automated Device Configuration](docs/services/snippet-service/snippet-service/) From 73e9a627c434244f161f0927a4d05e58f4084c0d Mon Sep 17 00:00:00 2001 From: Jozef Kralik Date: Mon, 15 Jul 2024 06:56:05 +0000 Subject: [PATCH 07/11] fix link --- content/en/docs/features/control-plane/control-plane.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/features/control-plane/control-plane.md b/content/en/docs/features/control-plane/control-plane.md index 0ef7944d..121cfc3e 100644 --- a/content/en/docs/features/control-plane/control-plane.md +++ b/content/en/docs/features/control-plane/control-plane.md @@ -54,4 +54,4 @@ The Device to Device (D2D) feature enables users to control devices directly fro Ensure devices are always set up correctly and efficiently with the Snippet Service. Predefined configurations are automatically applied in response to events like changes in resources. This automation minimizes manual intervention, enhances operational reliability, and ensures consistent device settings across your environment. -[Learn more about Automated Device Configuration](docs/services/snippet-service/snippet-service/) +[Learn more about Automated Device Configuration](/docs/services/snippet-service/snippet-service/) From 5c08afa7ca5e47a4766ee00277cbd2a1e9c135e2 Mon Sep 17 00:00:00 2001 From: Jozef Kralik Date: Fri, 19 Jul 2024 09:39:24 +0000 Subject: [PATCH 08/11] fix to CR --- content/en/docs/configuration/snippet-service.md | 2 +- content/en/docs/services/snippet-service/features.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/en/docs/configuration/snippet-service.md b/content/en/docs/configuration/snippet-service.md index 4114c764..e1784882 100644 --- a/content/en/docs/configuration/snippet-service.md +++ b/content/en/docs/configuration/snippet-service.md @@ -95,6 +95,7 @@ plgd hub uses MongoDB database as a storage for conditions, configurations and a | Property | Type | Description | Default | | ---------- | -------- | -------------- | ------- | +| `clients.storage.cleanUpExpiredUpdates` | string | `Cron expression to clean up expired updates.` | `"0 * * * *"` | | `clients.storage.mongoDB.uri` | string | `URI to mongo database.` | `"mongodb://localhost:27017"` | | `clients.storage.mongoDB.database` | string | `Name of database` | `"snippetService"` | | `clients.storage.mongoDB.maxPoolSize` | int | `Limits number of connections.` | `16` | @@ -110,7 +111,6 @@ Resource Aggregate client is responsible for updating resources in the device wh | Property | Type | Description | Default | | ---------- | -------- | -------------- | ------- | -| `clients.resourceAggregate.cleanUpExpiredUpdates` | string | `Cron expression to clean up expired updates.` | `"0 * * * *"` | | `clients.resourceAggregate.grpc.address` | string | `Address of the Resource Aggregate.` | `""` | | `clients.resourceAggregate.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | | `clients.resourceAggregate.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | diff --git a/content/en/docs/services/snippet-service/features.md b/content/en/docs/services/snippet-service/features.md index 783c555d..1613de8a 100644 --- a/content/en/docs/services/snippet-service/features.md +++ b/content/en/docs/services/snippet-service/features.md @@ -9,11 +9,11 @@ weight: 2 ## Description -This feature allows users to pre-configure devices by specifying desired configurations that are automatically applied when a ResourceChanged event occurs. The newly introduced `snippet service` is responsible for managing this process. +This feature allows users to pre-configure devices by specifying desired configurations that are automatically applied when a `ResourceChanged` event occurs. The newly introduced `snippet service` is responsible for managing this process. ### Implemented features -- **☑ Device Configuration:** Users can create and store configurations for devices. These configurations are automatically applied when a ResourceChanged event occurs. +- **☑ Device Configuration:** Users can create and store configurations for devices. These configurations are automatically applied when a `ResourceChanged` event occurs. - **☑ Event-Driven Configuration:** The configuration is triggered by the `ResourceChanged` event. Users can set filters to define the conditions under which configurations are applied. - **☑ Filter Conditions:** Users must set at least one of the following filters: DeviceID filter (trigger based on specific device IDs), Resource-Type filter (trigger when all specified resource types are present), href filter (trigger based on specific href values). All specified filters must be met for the configuration to be applied. For DeviceID and href filters, any listed value can trigger the filter. For the Resource-Type filter, all listed values must be present. - **☑ Optional JQ Expression:** Users can optionally use a JQ expression to filter the content of the `ResourceChanged` event. The JQ expression must evaluate to true for the configuration to be applied. From 3cba2a260b756dc2d90d0e8025606cfe5a5153f3 Mon Sep 17 00:00:00 2001 From: Jozef Kralik Date: Fri, 19 Jul 2024 10:54:04 +0000 Subject: [PATCH 09/11] fix grammar --- .../docs/configuration/certificate-authority.md | 8 ++++---- content/en/docs/configuration/grpc-gateway.md | 6 +++--- content/en/docs/configuration/identity-store.md | 6 +++--- .../en/docs/configuration/resource-aggregate.md | 6 +++--- .../en/docs/configuration/resource-directory.md | 6 +++--- content/en/docs/configuration/snippet-service.md | 16 ++++++++-------- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/content/en/docs/configuration/certificate-authority.md b/content/en/docs/configuration/certificate-authority.md index 9f053437..5d0d5ac0 100644 --- a/content/en/docs/configuration/certificate-authority.md +++ b/content/en/docs/configuration/certificate-authority.md @@ -40,11 +40,11 @@ gRPC API of the Certificate Authority service as defined [here](https://github.c | `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | | `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | | `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | -| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise the server close connection.` | `5s`| -| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise the server close connection.` | `true` | +| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server close connection.` | `5s`| +| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise, the server close connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAge` | string | `A duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway. 0s means infinity.` | `0s` | -| `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge after which the connection will be forcibly closed. 0s means infinity.` | `0s` | +| `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge, after which the connection will be forcibly closed. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.time` | string | `After a duration of this time if the server doesn't see any activity it pings the client to see if the transport is still alive.` | `2h` | | `apis.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | | `apis.grpc.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | @@ -67,7 +67,7 @@ gRPC API of the Certificate Authority service as defined [here](https://github.c ### HTTP API HTTP Certificate Authority APIs as defined by [swagger](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/plgd-dev/hub/main/certificate-authority/pb/service.swagger.json). -The configuration `apis.http.tls` and `apis.http.authorization` are inherited from the gRPC API. +The configurations `apis.http.tls` and `apis.http.authorization` are inherited from the gRPC API. | Property | Type | Description | Default | | ---------- | -------- | -------------- | ------- | diff --git a/content/en/docs/configuration/grpc-gateway.md b/content/en/docs/configuration/grpc-gateway.md index f4563c38..ee5a9ec0 100644 --- a/content/en/docs/configuration/grpc-gateway.md +++ b/content/en/docs/configuration/grpc-gateway.md @@ -40,11 +40,11 @@ gRPC API of the gRPC Gateway service as defined [here](https://github.com/plgd-d | `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | | `apis.grpc.ownerCacheExpiration` | string | `Time limit of how long to keep subscribed to device updates after last use of the given cache item.` | `1m` | | `apis.grpc.subscriptionBufferSize` | int | `The maximum buffer size for one events subscription.` | `1000` | -| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise the server close connection.` | `5s`| -| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise the server close connection.` | `true` | +| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server close connection.` | `5s`| +| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise, the server close connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAge` | string | `A duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway. 0s means infinity.` | `0s` | -| `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge after which the connection will be forcibly closed. 0s means infinity.` | `0s` | +| `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge, after which the connection will be forcibly closed. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.time` | string | `After a duration of this time if the server doesn't see any activity it pings the client to see if the transport is still alive.` | `2h` | | `apis.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | | `apis.grpc.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | diff --git a/content/en/docs/configuration/identity-store.md b/content/en/docs/configuration/identity-store.md index ad21ac57..6db0a3e0 100644 --- a/content/en/docs/configuration/identity-store.md +++ b/content/en/docs/configuration/identity-store.md @@ -38,11 +38,11 @@ gRPC API of the Identity Store service as defined [here](https://github.com/plgd | `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | | `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | | `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | -| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise the server close connection.` | `5s`| -| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise the server close connection.` | `true` | +| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server close connection.` | `5s`| +| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise, the server close connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAge` | string | `A duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway. 0s means infinity.` | `0s` | -| `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge after which the connection will be forcibly closed. 0s means infinity.` | `0s` | +| `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge, after which the connection will be forcibly closed. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.time` | string | `After a duration of this time if the server doesn't see any activity it pings the client to see if the transport is still alive.` | `2h` | | `apis.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | | `apis.grpc.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | diff --git a/content/en/docs/configuration/resource-aggregate.md b/content/en/docs/configuration/resource-aggregate.md index dbb55898..93719235 100644 --- a/content/en/docs/configuration/resource-aggregate.md +++ b/content/en/docs/configuration/resource-aggregate.md @@ -39,11 +39,11 @@ gRPC API of the Resource Aggregate service as defined [here](https://github.com/ | `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | | `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | | `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | -| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise the server close connection.` | `5s`| -| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise the server close connection.` | `true` | +| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server close connection.` | `5s`| +| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise, the server close connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAge` | string | `A duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway. 0s means infinity.` | `0s` | -| `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge after which the connection will be forcibly closed. 0s means infinity.` | `0s` | +| `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge, after which the connection will be forcibly closed. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.time` | string | `After a duration of this time if the server doesn't see any activity it pings the client to see if the transport is still alive.` | `2h` | | `apis.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | | `apis.grpc.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | diff --git a/content/en/docs/configuration/resource-directory.md b/content/en/docs/configuration/resource-directory.md index 8863ea0e..cc283401 100644 --- a/content/en/docs/configuration/resource-directory.md +++ b/content/en/docs/configuration/resource-directory.md @@ -39,11 +39,11 @@ gRPC API of the Resource Directory service. | `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | | `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | | `apis.grpc.ownerCacheExpiration` | string | `Time limit of how long to keep subscribed to device updates after last use of the given cache item.` | `1m` | -| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise the server close connection.` | `5s`| -| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise the server close connection.` | `true` | +| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server close connection.` | `5s`| +| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise, the server close connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAge` | string | `A duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway. 0s means infinity.` | `0s` | -| `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge after which the connection will be forcibly closed. 0s means infinity.` | `0s` | +| `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge, after which the connection will be forcibly closed. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.time` | string | `After a duration of this time if the server doesn't see any activity it pings the client to see if the transport is still alive.` | `2h` | | `apis.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | | `apis.grpc.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | diff --git a/content/en/docs/configuration/snippet-service.md b/content/en/docs/configuration/snippet-service.md index e1784882..8c541f06 100644 --- a/content/en/docs/configuration/snippet-service.md +++ b/content/en/docs/configuration/snippet-service.md @@ -38,11 +38,11 @@ gRPC API of the Snippet service as defined [here](https://github.com/plgd-dev/hu | `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | | `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | | `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | -| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise the server close connection.` | `5s`| -| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise the server close connection.` | `true` | +| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server close connection.` | `5s`| +| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise, the server close connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAge` | string | `A duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway. 0s means infinity.` | `0s` | -| `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge after which the connection will be forcibly closed. 0s means infinity.` | `0s` | +| `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge, after which the connection will be forcibly closed. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.time` | string | `After a duration of this time if the server doesn't see any activity it pings the client to see if the transport is still alive.` | `2h` | | `apis.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | | `apis.grpc.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | @@ -65,7 +65,7 @@ gRPC API of the Snippet service as defined [here](https://github.com/plgd-dev/hu ### HTTP API HTTP Snippet service APIs as defined by [swagger](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/plgd-dev/hub/main/snippet-service/pb/service.swagger.json). -The configuration `apis.http.tls` and `apis.http.authorization` are inherited from the gRPC API. +The configurations `apis.http.tls` and `apis.http.authorization` are inherited from the gRPC API. | Property | Type | Description | Default | | ---------- | -------- | -------------- | ------- | @@ -77,7 +77,7 @@ The configuration `apis.http.tls` and `apis.http.authorization` are inherited fr ### Event Bus -plgd hub uses NATS messaging system as a event bus to be notified about device changes to trigger conditions evaluation. +plgd hub uses NATS messaging system as an event bus to be notified about device changes to trigger conditions evaluation. | Property | Type | Description | Default | | ---------- | -------- | -------------- | ------- | @@ -114,11 +114,11 @@ Resource Aggregate client is responsible for updating resources in the device wh | `clients.resourceAggregate.grpc.address` | string | `Address of the Resource Aggregate.` | `""` | | `clients.resourceAggregate.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | | `clients.resourceAggregate.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | -| `clients.resourceAggregate.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise the server close connection.` | `5s`| -| `clients.resourceAggregate.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise the server close connection.` | `true` | +| `clients.resourceAggregate.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server close connection.` | `5s`| +| `clients.resourceAggregate.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise, the server close connection.` | `true` | | `clients.resourceAggregate.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | | `clients.resourceAggregate.grpc.keepAlive.maxConnectionAge` | string | `A duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway. 0s means infinity.` | `0s` | -| `clients.resourceAggregate.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge after which the connection will be forcibly closed. 0s means infinity.` | `0s` | +| `clients.resourceAggregate.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge, after which the connection will be forcibly closed. 0s means infinity.` | `0s` | | `clients.resourceAggregate.grpc.keepAlive.time` | string | `After a duration of this time if the server doesn't see any activity it pings the client to see if the transport is still alive.` | `2h` | | `clients.resourceAggregate.grpc.keepAlive.timeout` | string | `After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.` | `20s` | | `clients.resourceAggregate.grpc.tls.caPool` | []string | `File paths to the root certificates in PEM format. The file may contain multiple certificates.` | `[]` | From d60d37dc07cd0052fc85b193737c4b5ee24afb7f Mon Sep 17 00:00:00 2001 From: Jozef Kralik Date: Fri, 19 Jul 2024 12:04:07 +0000 Subject: [PATCH 10/11] fix grammar 1 --- content/en/docs/configuration/certificate-authority.md | 4 ++-- content/en/docs/configuration/grpc-gateway.md | 4 ++-- content/en/docs/configuration/identity-store.md | 4 ++-- content/en/docs/configuration/resource-aggregate.md | 4 ++-- content/en/docs/configuration/resource-directory.md | 4 ++-- content/en/docs/configuration/snippet-service.md | 8 ++++---- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/content/en/docs/configuration/certificate-authority.md b/content/en/docs/configuration/certificate-authority.md index 5d0d5ac0..b7cae40b 100644 --- a/content/en/docs/configuration/certificate-authority.md +++ b/content/en/docs/configuration/certificate-authority.md @@ -40,8 +40,8 @@ gRPC API of the Certificate Authority service as defined [here](https://github.c | `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | | `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | | `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | -| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server close connection.` | `5s`| -| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise, the server close connection.` | `true` | +| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server closes the connection.` | `5s`| +| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, the server allows keepalive pings even when there are no active streams (RPCs). Otherwise, the server closes the connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAge` | string | `A duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge, after which the connection will be forcibly closed. 0s means infinity.` | `0s` | diff --git a/content/en/docs/configuration/grpc-gateway.md b/content/en/docs/configuration/grpc-gateway.md index ee5a9ec0..473b4935 100644 --- a/content/en/docs/configuration/grpc-gateway.md +++ b/content/en/docs/configuration/grpc-gateway.md @@ -40,8 +40,8 @@ gRPC API of the gRPC Gateway service as defined [here](https://github.com/plgd-d | `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | | `apis.grpc.ownerCacheExpiration` | string | `Time limit of how long to keep subscribed to device updates after last use of the given cache item.` | `1m` | | `apis.grpc.subscriptionBufferSize` | int | `The maximum buffer size for one events subscription.` | `1000` | -| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server close connection.` | `5s`| -| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise, the server close connection.` | `true` | +| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server closes the connection.` | `5s`| +| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, the server allows keepalive pings even when there are no active streams (RPCs). Otherwise, the server closes the connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAge` | string | `A duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge, after which the connection will be forcibly closed. 0s means infinity.` | `0s` | diff --git a/content/en/docs/configuration/identity-store.md b/content/en/docs/configuration/identity-store.md index 6db0a3e0..ef148afa 100644 --- a/content/en/docs/configuration/identity-store.md +++ b/content/en/docs/configuration/identity-store.md @@ -38,8 +38,8 @@ gRPC API of the Identity Store service as defined [here](https://github.com/plgd | `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | | `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | | `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | -| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server close connection.` | `5s`| -| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise, the server close connection.` | `true` | +| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server closes the connection.` | `5s`| +| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, the server allows keepalive pings even when there are no active streams (RPCs). Otherwise, the server closes the connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAge` | string | `A duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge, after which the connection will be forcibly closed. 0s means infinity.` | `0s` | diff --git a/content/en/docs/configuration/resource-aggregate.md b/content/en/docs/configuration/resource-aggregate.md index 93719235..587d35e4 100644 --- a/content/en/docs/configuration/resource-aggregate.md +++ b/content/en/docs/configuration/resource-aggregate.md @@ -39,8 +39,8 @@ gRPC API of the Resource Aggregate service as defined [here](https://github.com/ | `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | | `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | | `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | -| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server close connection.` | `5s`| -| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise, the server close connection.` | `true` | +| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server closes the connection.` | `5s`| +| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, the server allows keepalive pings even when there are no active streams (RPCs). Otherwise, the server closes the connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAge` | string | `A duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge, after which the connection will be forcibly closed. 0s means infinity.` | `0s` | diff --git a/content/en/docs/configuration/resource-directory.md b/content/en/docs/configuration/resource-directory.md index cc283401..b378dade 100644 --- a/content/en/docs/configuration/resource-directory.md +++ b/content/en/docs/configuration/resource-directory.md @@ -39,8 +39,8 @@ gRPC API of the Resource Directory service. | `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | | `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | | `apis.grpc.ownerCacheExpiration` | string | `Time limit of how long to keep subscribed to device updates after last use of the given cache item.` | `1m` | -| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server close connection.` | `5s`| -| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise, the server close connection.` | `true` | +| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server closes the connection.` | `5s`| +| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, the server allows keepalive pings even when there are no active streams (RPCs). Otherwise, the server closes the connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAge` | string | `A duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge, after which the connection will be forcibly closed. 0s means infinity.` | `0s` | diff --git a/content/en/docs/configuration/snippet-service.md b/content/en/docs/configuration/snippet-service.md index 8c541f06..7ad01f04 100644 --- a/content/en/docs/configuration/snippet-service.md +++ b/content/en/docs/configuration/snippet-service.md @@ -38,8 +38,8 @@ gRPC API of the Snippet service as defined [here](https://github.com/plgd-dev/hu | `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | | `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | | `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | -| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server close connection.` | `5s`| -| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise, the server close connection.` | `true` | +| `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server closes the connection.` | `5s`| +| `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, the server allows keepalive pings even when there are no active streams (RPCs). Otherwise, the server closes the connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAge` | string | `A duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway. 0s means infinity.` | `0s` | | `apis.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge, after which the connection will be forcibly closed. 0s means infinity.` | `0s` | @@ -114,8 +114,8 @@ Resource Aggregate client is responsible for updating resources in the device wh | `clients.resourceAggregate.grpc.address` | string | `Address of the Resource Aggregate.` | `""` | | `clients.resourceAggregate.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | | `clients.resourceAggregate.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | -| `clients.resourceAggregate.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server close connection.` | `5s`| -| `clients.resourceAggregate.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, server allows keepalive pings even when there are no active streams(RPCs). Otherwise, the server close connection.` | `true` | +| `clients.resourceAggregate.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server closes the connection.` | `5s`| +| `clients.resourceAggregate.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, the server allows keepalive pings even when there are no active streams (RPCs). Otherwise, the server closes the connection.` | `true` | | `clients.resourceAggregate.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | | `clients.resourceAggregate.grpc.keepAlive.maxConnectionAge` | string | `A duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway. 0s means infinity.` | `0s` | | `clients.resourceAggregate.grpc.keepAlive.maxConnectionAgeGrace` | string | `An additive period after MaxConnectionAge, after which the connection will be forcibly closed. 0s means infinity.` | `0s` | From 71d1c560c2cbff76c24d4460f49db592b21a04c9 Mon Sep 17 00:00:00 2001 From: Jozef Kralik Date: Fri, 19 Jul 2024 14:53:48 +0000 Subject: [PATCH 11/11] fix grammar 2 --- content/en/docs/configuration/certificate-authority.md | 6 +++--- content/en/docs/configuration/grpc-gateway.md | 6 +++--- content/en/docs/configuration/identity-store.md | 6 +++--- content/en/docs/configuration/resource-aggregate.md | 6 +++--- content/en/docs/configuration/resource-directory.md | 6 +++--- content/en/docs/configuration/snippet-service.md | 10 +++++----- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/content/en/docs/configuration/certificate-authority.md b/content/en/docs/configuration/certificate-authority.md index b7cae40b..9429e540 100644 --- a/content/en/docs/configuration/certificate-authority.md +++ b/content/en/docs/configuration/certificate-authority.md @@ -37,9 +37,9 @@ gRPC API of the Certificate Authority service as defined [here](https://github.c | Property | Type | Description | Default | | ---------- | -------- | -------------- | ------- | -| `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | -| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | -| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | +| `apis.grpc.address` | string | `Listening address in the format : for accepting gRPC client connections.` | `"0.0.0.0:9100"` | +| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647.` | `4194304` | +| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304.` | `4194304` | | `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server closes the connection.` | `5s`| | `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, the server allows keepalive pings even when there are no active streams (RPCs). Otherwise, the server closes the connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | diff --git a/content/en/docs/configuration/grpc-gateway.md b/content/en/docs/configuration/grpc-gateway.md index 473b4935..226524de 100644 --- a/content/en/docs/configuration/grpc-gateway.md +++ b/content/en/docs/configuration/grpc-gateway.md @@ -35,9 +35,9 @@ gRPC API of the gRPC Gateway service as defined [here](https://github.com/plgd-d | Property | Type | Description | Default | | ---------- | -------- | -------------- | ------- | -| `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | -| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | -| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | +| `apis.grpc.address` | string | `Listening address in the format : for accepting gRPC client connections.` | `"0.0.0.0:9100"` | +| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647.` | `4194304` | +| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304.` | `4194304` | | `apis.grpc.ownerCacheExpiration` | string | `Time limit of how long to keep subscribed to device updates after last use of the given cache item.` | `1m` | | `apis.grpc.subscriptionBufferSize` | int | `The maximum buffer size for one events subscription.` | `1000` | | `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server closes the connection.` | `5s`| diff --git a/content/en/docs/configuration/identity-store.md b/content/en/docs/configuration/identity-store.md index ef148afa..bc47647c 100644 --- a/content/en/docs/configuration/identity-store.md +++ b/content/en/docs/configuration/identity-store.md @@ -35,9 +35,9 @@ gRPC API of the Identity Store service as defined [here](https://github.com/plgd | Property | Type | Description | Default | | ---------- | -------- | -------------- | ------- | -| `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | -| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | -| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | +| `apis.grpc.address` | string | `Listening address in the format : for accepting gRPC client connections.` | `"0.0.0.0:9100"` | +| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647.` | `4194304` | +| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304.` | `4194304` | | `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server closes the connection.` | `5s`| | `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, the server allows keepalive pings even when there are no active streams (RPCs). Otherwise, the server closes the connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | diff --git a/content/en/docs/configuration/resource-aggregate.md b/content/en/docs/configuration/resource-aggregate.md index 587d35e4..ae8b5f2b 100644 --- a/content/en/docs/configuration/resource-aggregate.md +++ b/content/en/docs/configuration/resource-aggregate.md @@ -36,9 +36,9 @@ gRPC API of the Resource Aggregate service as defined [here](https://github.com/ | Property | Type | Description | Default | | ---------- | -------- | -------------- | ------- | | `apis.grpc.ownerCacheExpiration` | string | `Time limit of how long to keep subscribed to device updates after last use of the given cache item.` | `1m` | -| `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | -| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | -| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | +| `apis.grpc.address` | string | `Listening address in the format : for accepting gRPC client connections.` | `"0.0.0.0:9100"` | +| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647.` | `4194304` | +| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304.` | `4194304` | | `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server closes the connection.` | `5s`| | `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, the server allows keepalive pings even when there are no active streams (RPCs). Otherwise, the server closes the connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | diff --git a/content/en/docs/configuration/resource-directory.md b/content/en/docs/configuration/resource-directory.md index b378dade..2f49f778 100644 --- a/content/en/docs/configuration/resource-directory.md +++ b/content/en/docs/configuration/resource-directory.md @@ -35,9 +35,9 @@ gRPC API of the Resource Directory service. | Property | Type | Description | Default | | ---------- | -------- | -------------- | ------- | -| `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | -| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | -| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | +| `apis.grpc.address` | string | `Listening address in the format : for accepting gRPC client connections.` | `"0.0.0.0:9100"` | +| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647.` | `4194304` | +| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304.` | `4194304` | | `apis.grpc.ownerCacheExpiration` | string | `Time limit of how long to keep subscribed to device updates after last use of the given cache item.` | `1m` | | `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server closes the connection.` | `5s`| | `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, the server allows keepalive pings even when there are no active streams (RPCs). Otherwise, the server closes the connection.` | `true` | diff --git a/content/en/docs/configuration/snippet-service.md b/content/en/docs/configuration/snippet-service.md index 7ad01f04..91811b1b 100644 --- a/content/en/docs/configuration/snippet-service.md +++ b/content/en/docs/configuration/snippet-service.md @@ -35,9 +35,9 @@ gRPC API of the Snippet service as defined [here](https://github.com/plgd-dev/hu | Property | Type | Description | Default | | ---------- | -------- | -------------- | ------- | -| `apis.grpc.address` | string | `Listen specification : for grpc client connection.` | `"0.0.0.0:9100"` | -| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | -| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | +| `apis.grpc.address` | string | `Listening address in the format : for accepting gRPC client connections.` | `"0.0.0.0:9100"` | +| `apis.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647.` | `4194304` | +| `apis.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304.` | `4194304` | | `apis.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server closes the connection.` | `5s`| | `apis.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, the server allows keepalive pings even when there are no active streams (RPCs). Otherwise, the server closes the connection.` | `true` | | `apis.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` | @@ -112,8 +112,8 @@ Resource Aggregate client is responsible for updating resources in the device wh | Property | Type | Description | Default | | ---------- | -------- | -------------- | ------- | | `clients.resourceAggregate.grpc.address` | string | `Address of the Resource Aggregate.` | `""` | -| `clients.resourceAggregate.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647` | `4194304` | -| `clients.resourceAggregate.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304` | `4194304` | +| `clients.resourceAggregate.grpc.sendMsgSize` | int32 | `Set the max message size in bytes the server can send. 0 means 2147483647.` | `4194304` | +| `clients.resourceAggregate.grpc.recvMsgSize` | int32 | `Set the max message size in bytes the server can receive. 0 means 4194304.` | `4194304` | | `clients.resourceAggregate.grpc.enforcementPolicy.minTime` | string | `The minimum amount of time a client should wait before sending a keepalive ping. Otherwise, the server closes the connection.` | `5s`| | `clients.resourceAggregate.grpc.enforcementPolicy.permitWithoutStream` | bool | `If true, the server allows keepalive pings even when there are no active streams (RPCs). Otherwise, the server closes the connection.` | `true` | | `clients.resourceAggregate.grpc.keepAlive.maxConnectionIdle` | string | `A duration for the amount of time after which an idle connection would be closed by sending a GoAway. 0s means infinity.` | `0s` |