diff --git a/.accepted_words.txt b/.accepted_words.txt index b4aafdc7..178f8b5a 100644 --- a/.accepted_words.txt +++ b/.accepted_words.txt @@ -49,14 +49,15 @@ DataAdapterFactory depgen der dev +DigitalTwinAdapter digitaltwins dir +DiscoveryRequest DotNet dotnet DT DTDL dtdl -DigitalTwinAdapter dyn ECA en @@ -90,6 +91,7 @@ Impl InMemoryMockDigitalTwinAdapter InMemoryMockDataAdapter intellectualproperty +invehicle io IoT iot diff --git a/Cargo.lock b/Cargo.lock index ac5bd9cd..ffd4c447 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -302,19 +302,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "chariott-service-discovery-adapter" -version = "0.1.0" -dependencies = [ - "async-trait", - "freyja-build-common", - "freyja-common", - "futures", - "serde", - "service_discovery_proto", - "tonic", -] - [[package]] name = "cloud-connector-proto" version = "0.1.0" @@ -805,6 +792,36 @@ dependencies = [ "tower", ] +[[package]] +name = "grpc-digital-twin-adapter" +version = "0.1.0" +dependencies = [ + "async-trait", + "core-protobuf-data-access", + "freyja-build-common", + "freyja-common", + "futures", + "serde", + "tempfile", + "tokio", + "tokio-stream", + "tonic", + "tower", +] + +[[package]] +name = "grpc-service-discovery-adapter" +version = "0.1.0" +dependencies = [ + "async-trait", + "freyja-build-common", + "freyja-common", + "futures", + "serde", + "service_discovery_proto", + "tonic", +] + [[package]] name = "h2" version = "0.3.24" @@ -1054,23 +1071,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "ibeji-adapter" -version = "0.1.0" -dependencies = [ - "async-trait", - "core-protobuf-data-access", - "freyja-build-common", - "freyja-common", - "futures", - "serde", - "tempfile", - "tokio", - "tokio-stream", - "tonic", - "tower", -] - [[package]] name = "idna" version = "0.5.0" diff --git a/Cargo.toml b/Cargo.toml index 4cf045c9..1f106f35 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,13 +13,13 @@ members = [ "adapters/data/managed_subscribe_data_adapter", "adapters/data/mqtt_data_adapter", "adapters/data/sample_grpc_data_adapter", - "adapters/digital_twin/ibeji_adapter", + "adapters/digital_twin/grpc_digital_twin_adapter", "adapters/digital_twin/in_memory_mock_digital_twin_adapter", "adapters/digital_twin/mock_digital_twin_adapter", "adapters/mapping/in_memory_mock_mapping_adapter", "adapters/mapping/mock_mapping_service_adapter", - "adapters/service_discovery/chariott_service_discovery_adapter", "adapters/service_discovery/file_service_discovery_adapter", + "adapters/service_discovery/grpc_service_discovery_adapter", "build_common", "common", "freyja", @@ -30,14 +30,14 @@ members = [ ] [workspace.dependencies] -# Freyja dependencies -chariott-service-discovery-adapter = { path = "adapters/service_discovery/chariott_service_discovery_adapter" } +# Freyja libraries from this workspace cloud-connector-proto = { path = "proto/cloud_connector" } file-service-discovery-adapter = { path = "adapters/service_discovery/file_service_discovery_adapter" } freyja-build-common = { path = "build_common" } freyja-common = { path = "common" } +grpc-digital-twin-adapter = { path = "adapters/digital_twin/grpc_digital_twin_adapter" } +grpc-service-discovery-adapter = { path = "adapters/service_discovery/grpc_service_discovery_adapter" } http-mock-data-adapter = { path = "adapters/data/http_mock_data_adapter" } -ibeji-adapter = { path = "adapters/digital_twin/ibeji_adapter" } in-memory-mock-cloud-adapter = { path = "adapters/cloud/in_memory_mock_cloud_adapter" } in-memory-mock-data-adapter = { path = "adapters/data/in_memory_mock_data_adapter" } in-memory-mock-digital-twin-adapter = { path ="adapters/digital_twin/in_memory_mock_digital_twin_adapter" } diff --git a/adapters/cloud/grpc_cloud_adapter/README.md b/adapters/cloud/grpc_cloud_adapter/README.md index 767dfe2a..592dd51b 100644 --- a/adapters/cloud/grpc_cloud_adapter/README.md +++ b/adapters/cloud/grpc_cloud_adapter/README.md @@ -6,7 +6,7 @@ The gRPC Cloud Adapter is intended to function as a "standard cloud adapter", en This adapter utilizes a gRPC client for the `CloudConnector` service in the [cloud connector v1 protobuf description](../../../interfaces/cloud_connector/v1/cloud_connector.proto). To integrate a cloud connector with this adapter, you will need to implement a gRPC server for this service. Samples can be found in the [Ibeji Example Applications Repository](https://github.com/eclipse-ibeji/ibeji-example-applications/tree/main/cloud_connectors/). -## Config +## Configuration This adapter supports the following configuration settings: diff --git a/adapters/digital_twin/ibeji_adapter/Cargo.toml b/adapters/digital_twin/grpc_digital_twin_adapter/Cargo.toml similarity index 94% rename from adapters/digital_twin/ibeji_adapter/Cargo.toml rename to adapters/digital_twin/grpc_digital_twin_adapter/Cargo.toml index 6e0d5ff6..038d279a 100644 --- a/adapters/digital_twin/ibeji_adapter/Cargo.toml +++ b/adapters/digital_twin/grpc_digital_twin_adapter/Cargo.toml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: MIT [package] -name = "ibeji-adapter" +name = "grpc-digital-twin-adapter" version = "0.1.0" edition = "2021" license = "MIT" diff --git a/adapters/digital_twin/grpc_digital_twin_adapter/README.md b/adapters/digital_twin/grpc_digital_twin_adapter/README.md new file mode 100644 index 00000000..ec484076 --- /dev/null +++ b/adapters/digital_twin/grpc_digital_twin_adapter/README.md @@ -0,0 +1,17 @@ +# gRPC Digital Twin Adapter + +The gRPC Digital Twin Adapter is intended to function as a "standard digital twin adapter". It can be used to integrate with in-vehicle digital twin services such as [Ibeji](https://github.com/eclipse-ibeji/ibeji). This adapter also supports service discovery to integrate with service discovery systems such as [Chariott](https://github.com/eclipse-chariott/chariott/blob/main/service_discovery/README.md). + +## Ibeji Integration + +This adapter implements the [Ibeji In-Vehicle Digital Twin Service API](https://github.com/eclipse-ibeji/ibeji/blob/main/interfaces/invehicle_digital_twin/v1/invehicle_digital_twin.proto) and therefore supports Ibeji integration. In order to use Ibeji with this adapter, you must ensure that the `service_discovery_id` in the config file identifies the Ibeji digital twin service in your service discovery system. + +## Configuration + +This adapter supports the following configuration settings: + +- `service_discovery_id`: The id of the in-vehicle digital twin service in your service discovery system. +- `max_retries`: The maximum number of times to retry failed attempts to send data to the server. +- `retry_interval_ms`: The interval between subsequent retry attempts, in milliseconds + +This adapter supports [config overrides](../../../docs/tutorials/config-overrides.md). The override filename is `grpc_digital_twin_adapter_config.json`, and the default config is located at `res/grpc_digital_twin_adapter_config.default.json`. diff --git a/adapters/digital_twin/ibeji_adapter/build.rs b/adapters/digital_twin/grpc_digital_twin_adapter/build.rs similarity index 74% rename from adapters/digital_twin/ibeji_adapter/build.rs rename to adapters/digital_twin/grpc_digital_twin_adapter/build.rs index 02dfd753..25c877eb 100644 --- a/adapters/digital_twin/ibeji_adapter/build.rs +++ b/adapters/digital_twin/grpc_digital_twin_adapter/build.rs @@ -4,7 +4,7 @@ use freyja_build_common::copy_config; -const CONFIG_FILE_STEM: &str = "ibeji_adapter_config"; +const CONFIG_FILE_STEM: &str = "grpc_digital_twin_adapter_config"; fn main() { copy_config(CONFIG_FILE_STEM); diff --git a/adapters/digital_twin/ibeji_adapter/res/ibeji_adapter_config.default.json b/adapters/digital_twin/grpc_digital_twin_adapter/res/grpc_digital_twin_adapter_config.default.json similarity index 100% rename from adapters/digital_twin/ibeji_adapter/res/ibeji_adapter_config.default.json rename to adapters/digital_twin/grpc_digital_twin_adapter/res/grpc_digital_twin_adapter_config.default.json diff --git a/adapters/digital_twin/ibeji_adapter/src/config.rs b/adapters/digital_twin/grpc_digital_twin_adapter/src/config.rs similarity index 100% rename from adapters/digital_twin/ibeji_adapter/src/config.rs rename to adapters/digital_twin/grpc_digital_twin_adapter/src/config.rs diff --git a/adapters/digital_twin/ibeji_adapter/src/ibeji_adapter.rs b/adapters/digital_twin/grpc_digital_twin_adapter/src/grpc_digital_twin_adapter.rs similarity index 97% rename from adapters/digital_twin/ibeji_adapter/src/ibeji_adapter.rs rename to adapters/digital_twin/grpc_digital_twin_adapter/src/grpc_digital_twin_adapter.rs index 54c9df12..3d473d6b 100644 --- a/adapters/digital_twin/ibeji_adapter/src/ibeji_adapter.rs +++ b/adapters/digital_twin/grpc_digital_twin_adapter/src/grpc_digital_twin_adapter.rs @@ -26,13 +26,13 @@ use freyja_common::{ service_discovery_adapter_selector::ServiceDiscoveryAdapterSelector, }; -/// Contacts the In-Vehicle Digital Twin Service in Ibeji -pub struct IbejiAdapter { +/// Communicates with an In-Vehicle Digital Twin Service +pub struct GRPCDigitalTwinAdapter { client: InvehicleDigitalTwinClient, } #[async_trait] -impl DigitalTwinAdapter for IbejiAdapter { +impl DigitalTwinAdapter for GRPCDigitalTwinAdapter { /// Creates a new instance of a DigitalTwinAdapter with default settings /// /// # Arguments @@ -117,7 +117,7 @@ impl DigitalTwinAdapter for IbejiAdapter { } #[cfg(test)] -mod ibeji_digital_twin_adapter_tests { +mod grpc_digital_twin_adapter_tests { use core_protobuf_data_access::invehicle_digital_twin::v1::{ invehicle_digital_twin_server::InvehicleDigitalTwin, EndpointInfo, EntityAccessInfo, FindByIdResponse as IbejiFindByIdResponse, RegisterRequest, RegisterResponse, @@ -229,7 +229,7 @@ mod ibeji_digital_twin_adapter_tests { let request_future = async { let client = create_test_grpc_client(bind_path.clone()).await; - let ibeji_digital_twin_adapter = IbejiAdapter { client }; + let ibeji_digital_twin_adapter = GRPCDigitalTwinAdapter { client }; let request = FindByIdRequest { entity_id: String::from("invalid_entity"), diff --git a/adapters/digital_twin/ibeji_adapter/src/lib.rs b/adapters/digital_twin/grpc_digital_twin_adapter/src/lib.rs similarity index 77% rename from adapters/digital_twin/ibeji_adapter/src/lib.rs rename to adapters/digital_twin/grpc_digital_twin_adapter/src/lib.rs index cc095976..24da8631 100644 --- a/adapters/digital_twin/ibeji_adapter/src/lib.rs +++ b/adapters/digital_twin/grpc_digital_twin_adapter/src/lib.rs @@ -3,4 +3,4 @@ // SPDX-License-Identifier: MIT mod config; -pub mod ibeji_adapter; +pub mod grpc_digital_twin_adapter; diff --git a/adapters/digital_twin/ibeji_adapter/README.md b/adapters/digital_twin/ibeji_adapter/README.md deleted file mode 100644 index ddc32dde..00000000 --- a/adapters/digital_twin/ibeji_adapter/README.md +++ /dev/null @@ -1,35 +0,0 @@ -# Ibeji Adapter - -The Ibeji Adapter is used to integrate with the [Ibeji In-Vehicle Digital Twin Service](https://github.com/eclipse-ibeji/ibeji), and optionally [Chariott](https://github.com/eclipse-chariott/chariott) to discover Ibeji. - -## Configuration - -This adapter supports two different configuration schemas depending on how you want to discover the In-Vehicle Digital Twin Service: - -### Without Chariott - -To bypass Chariott and use a configuration value to specify the In-Vehicle Digital Twin Service URI, you must specify the following configuration: - -- `service_discovery_method`: Set this value to `"Config"`. -- `uri`: The URI for the In-Vehicle Digital Twin Service. -- `max_retries`: The maximum number of times to retry failed attempts to communicate with the In-Vehicle Digital Twin Service. -- `retry_interval_ms`: The duration between retries in milliseconds. - -### Using Chariott - -To use Chariott to discover the In-Vehicle Digital Twin Service, you must specify the following configuration: - -- `service_discovery_method`: Set this value to `"ChariottServiceDiscovery"` to use Chariott. -- `uri`: The URI for Chariott's Service Discovery system. -- `max_retries`: The maximum number of times to retry failed attempts to communicate with Chariott or the In-Vehicle Digital Twin Service. -- `retry_interval_ms`: The duration between retries in milliseconds. -- `metadata`: Metadata for the discovery operation: - - `namespace`: The namespace for the In-Vehicle Digital Twin Service. - - `name`: The service name for the In-Vehicle Digital Twin Service. - - `version`: The version of the In-Vehicle Digital Twin Service to query for. - -An example of a configuration file that uses Chariott can be found at `res/ibeji_adapter_config.chariott_sample.json`. - -### Configuration Overrides - -This adapter supports the same [config override method](../../../docs/tutorials/config-overrides.md) as the Freyja mocks. The override filename is `ibeji_adapter_config.json`, and the default config is located at `res/ibeji_adapter_config.default.json`. diff --git a/adapters/service_discovery/chariott_service_discovery_adapter/README.md b/adapters/service_discovery/chariott_service_discovery_adapter/README.md deleted file mode 100644 index 2deacd5a..00000000 --- a/adapters/service_discovery/chariott_service_discovery_adapter/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# Chariott Service Discovery Adapter - -The Chariott Service Discovery Adapter integrates with the [Chariott Service Discovery system](https://github.com/eclipse-chariott/chariott/blob/main/service_discovery/README.md) to perform service discovery. - -## Service Discovery ID Format - -The Chariott Service Discovery Adapter expects service IDs to be in the following format: - - -``` -{namespace}/{name}/{version} -``` - -These parameters correspond to the Chariott service discovery request parameters of the same name. - -## Configuration - -This adapter supports the following configuration settings: - -- `uri`: The URI for Chariott's Service Discovery system. -- `max_retries`: The maximum number of times to retry failed attempts to communicate with Chariott. -- `retry_interval_ms`: The duration between retries in milliseconds. - -### Configuration Overrides - -This adapter supports [config overrides](../../../docs/tutorials/config-overrides.md). The override filename is `chariott_service_discovery_adapter_config.json`, and the default config is located at `res/chariott_service_discovery_adapter_config.default.json`. diff --git a/adapters/service_discovery/file_service_discovery_adapter/README.md b/adapters/service_discovery/file_service_discovery_adapter/README.md index 7263ffb6..f6b34ccf 100644 --- a/adapters/service_discovery/file_service_discovery_adapter/README.md +++ b/adapters/service_discovery/file_service_discovery_adapter/README.md @@ -4,7 +4,7 @@ The File Service Discovery Adapter retrieves service URIs from a config file. Th ## Service Discovery ID Format -There is no required format for service IDs for this adapter. The adapter will use the requested IDs to look up the service from the config. If using this adapter as a fallback for other service discovery adapters, it's recommended to use config keys which exactly match the IDs expected by the primary adapter(s). The default config for this adapter matches with the format expected by the [Chariott Service Discovery Adapter](../chariott_service_discovery_adapter/README.md). +There is no required format for service IDs for this adapter. The adapter will use the requested IDs to look up the service from the config. If using this adapter as a fallback for other service discovery adapters, it's recommended to use config keys which exactly match the IDs expected by the primary adapter(s). The default config for this adapter matches with the format expected by the [gRPC Service Discovery Adapter](../grpc_service_discovery_adapter/README.md). ## Configuration diff --git a/adapters/service_discovery/chariott_service_discovery_adapter/Cargo.toml b/adapters/service_discovery/grpc_service_discovery_adapter/Cargo.toml similarity index 91% rename from adapters/service_discovery/chariott_service_discovery_adapter/Cargo.toml rename to adapters/service_discovery/grpc_service_discovery_adapter/Cargo.toml index 0e30928b..67e1f22d 100644 --- a/adapters/service_discovery/chariott_service_discovery_adapter/Cargo.toml +++ b/adapters/service_discovery/grpc_service_discovery_adapter/Cargo.toml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: MIT [package] -name = "chariott-service-discovery-adapter" +name = "grpc-service-discovery-adapter" version = "0.1.0" edition = "2021" license = "MIT" diff --git a/adapters/service_discovery/grpc_service_discovery_adapter/README.md b/adapters/service_discovery/grpc_service_discovery_adapter/README.md new file mode 100644 index 00000000..67ea0066 --- /dev/null +++ b/adapters/service_discovery/grpc_service_discovery_adapter/README.md @@ -0,0 +1,30 @@ +# gRPC Service Discovery Adapter + +The gRPC Service Discovery Adapter is intended to function as a "standard service discovery adapter". It can be used to integrate with service discovery systems such as the [Chariott Service Discovery system](https://github.com/eclipse-chariott/chariott/blob/main/service_discovery/README.md). + +## Chariott Integration + +This adapter utilizes the `Discover` function of the [Chariott Service Registry API](https://github.com/eclipse-chariott/chariott/blob/main/service_discovery/proto/core/v1/service_registry.proto) and therefore supports Chariott integration. In order to use Chariott with this adapter, you must ensure that the `uri` entry in the config matches the URI configured for Chariott's service discovery system. + +## Service Discovery ID Format + +The gRPC Service Discovery Adapter expects service IDs to be in the following format: + + +``` +{namespace}/{name}/{version} +``` + +These parameters correspond to the `DiscoveryRequest` parameters of the same name. + +## Configuration + +This adapter supports the following configuration settings: + +- `uri`: The URI for Chariott's Service Discovery system. +- `max_retries`: The maximum number of times to retry failed attempts to communicate with Chariott. +- `retry_interval_ms`: The duration between retries in milliseconds. + +### Configuration Overrides + +This adapter supports [config overrides](../../../docs/tutorials/config-overrides.md). The override filename is `grpc_service_discovery_adapter_config.json`, and the default config is located at `res/grpc_service_discovery_adapter_config.default.json`. diff --git a/adapters/service_discovery/chariott_service_discovery_adapter/build.rs b/adapters/service_discovery/grpc_service_discovery_adapter/build.rs similarity index 72% rename from adapters/service_discovery/chariott_service_discovery_adapter/build.rs rename to adapters/service_discovery/grpc_service_discovery_adapter/build.rs index 19f9d8f1..1029e8da 100644 --- a/adapters/service_discovery/chariott_service_discovery_adapter/build.rs +++ b/adapters/service_discovery/grpc_service_discovery_adapter/build.rs @@ -4,7 +4,7 @@ use freyja_build_common::copy_config; -const CONFIG_FILE_STEM: &str = "chariott_service_discovery_adapter_config"; +const CONFIG_FILE_STEM: &str = "grpc_service_discovery_adapter_config"; fn main() { copy_config(CONFIG_FILE_STEM); diff --git a/adapters/service_discovery/chariott_service_discovery_adapter/res/chariott_service_discovery_adapter_config.default.json b/adapters/service_discovery/grpc_service_discovery_adapter/res/grpc_service_discovery_adapter_config.default.json similarity index 100% rename from adapters/service_discovery/chariott_service_discovery_adapter/res/chariott_service_discovery_adapter_config.default.json rename to adapters/service_discovery/grpc_service_discovery_adapter/res/grpc_service_discovery_adapter_config.default.json diff --git a/adapters/service_discovery/chariott_service_discovery_adapter/src/config.rs b/adapters/service_discovery/grpc_service_discovery_adapter/src/config.rs similarity index 83% rename from adapters/service_discovery/chariott_service_discovery_adapter/src/config.rs rename to adapters/service_discovery/grpc_service_discovery_adapter/src/config.rs index 37ae8c7b..abee9e4c 100644 --- a/adapters/service_discovery/chariott_service_discovery_adapter/src/config.rs +++ b/adapters/service_discovery/grpc_service_discovery_adapter/src/config.rs @@ -4,10 +4,10 @@ use serde::{Deserialize, Serialize}; -/// Configuration for the File Service Discovery Adapter +/// Configuration for the GRPCServiceDiscoveryAdapter #[derive(Clone, Serialize, Deserialize)] pub struct Config { - /// The Chariott uri + /// The service uri pub uri: String, /// The maximum number of retries for communication attempts diff --git a/adapters/service_discovery/chariott_service_discovery_adapter/src/chariott_service_discovery_adapter.rs b/adapters/service_discovery/grpc_service_discovery_adapter/src/grpc_service_discovery_adapter.rs similarity index 95% rename from adapters/service_discovery/chariott_service_discovery_adapter/src/chariott_service_discovery_adapter.rs rename to adapters/service_discovery/grpc_service_discovery_adapter/src/grpc_service_discovery_adapter.rs index 434045fa..2a41fb5d 100644 --- a/adapters/service_discovery/chariott_service_discovery_adapter/src/chariott_service_discovery_adapter.rs +++ b/adapters/service_discovery/grpc_service_discovery_adapter/src/grpc_service_discovery_adapter.rs @@ -21,17 +21,17 @@ use freyja_common::{ }, }; -/// Interfaces with the Eclipse Chariott service to perform service discovery -pub struct ChariottServiceDiscoveryAdapter { +/// Interfaces with a service discovery system to perform service discovery +pub struct GRPCServiceDiscoveryAdapter { /// The adapter config config: Config, - /// The Chariott client + /// The service discovery client client: ServiceRegistryClient, } #[async_trait] -impl ServiceDiscoveryAdapter for ChariottServiceDiscoveryAdapter { +impl ServiceDiscoveryAdapter for GRPCServiceDiscoveryAdapter { /// Creates a new instance of a `ServiceDiscoveryAdapter` with default settings fn create_new() -> Result { let config: Config = config_utils::read_from_files( diff --git a/adapters/service_discovery/chariott_service_discovery_adapter/src/lib.rs b/adapters/service_discovery/grpc_service_discovery_adapter/src/lib.rs similarity index 73% rename from adapters/service_discovery/chariott_service_discovery_adapter/src/lib.rs rename to adapters/service_discovery/grpc_service_discovery_adapter/src/lib.rs index d8ea1146..1c1ffba5 100644 --- a/adapters/service_discovery/chariott_service_discovery_adapter/src/lib.rs +++ b/adapters/service_discovery/grpc_service_discovery_adapter/src/lib.rs @@ -2,5 +2,5 @@ // Licensed under the MIT license. // SPDX-License-Identifier: MIT -pub mod chariott_service_discovery_adapter; mod config; +pub mod grpc_service_discovery_adapter; diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 40d6f88d..c739ad5e 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -54,7 +54,7 @@ This appendix lists the adapters that are provided in this repository. - [In-Memory Mock Digital Twin Adapter](../../adapters/digital_twin/in_memory_mock_digital_twin_adapter/README.md): Emulates a Digital Twin Service entirely within the memory of the Freyja application. - [Mock Digital Twin Adapter](../../adapters/digital_twin/mock_digital_twin_adapter/README.md): Communicates with the [Mock Digital Twin](../../mocks/mock_digital_twin/README.md), which is an executable that mocks the Digital Twin Service. The behavior is very similar to the in-memory mock, but the application is interactive and allows users to add or remove entities from the mocked digital twin by pressing enter to advance through configurable states. -- [Ibeji Adapter](../../adapters/digital_twin/ibeji_adapter/README.md): Communicates with the [Eclipse Ibeji digital twin service](https://github.com/eclipse-ibeji/ibeji/). This adapter is suitable for use in production scenarios. +- [gRPC Digital Twin Adapter](../../adapters/digital_twin/grpc_digital_twin_adapter/README.md): Communicates with a digital twin service that implements the [Ibeji In-Vehicle Digital Twin Service API](https://github.com/eclipse-ibeji/ibeji/blob/main/interfaces/invehicle_digital_twin/v1/invehicle_digital_twin.proto). This is a "standard adapter" that is suitable for use in production scenarios. ## Mapping Adapters @@ -76,5 +76,5 @@ This appendix lists the adapters that are provided in this repository. ## Service Discovery Adapters -- [File Service Discovery Adapter](../../adapters/service_discovery/file_service_discovery_adapter/README.md): Uses a static config file to define service URIs. -- [Chariott Service Discovery Adapter](../../adapters/service_discovery/chariott_service_discovery_adapter/README.md): Interfaces with [Eclipse Chariott](https://github.com/eclipse-chariott/chariott/) to retrieve service URIs. +- [File Service Discovery Adapter](../../adapters/service_discovery/file_service_discovery_adapter/README.md): Uses a static config file to define service URIs. This is a "standard adapter" that is suitable for use in production scenarios. +- [gRPC Service Discovery Adapter](../../adapters/service_discovery/grpc_service_discovery_adapter/README.md): Communicates with a service discovery system that implements the [Chariott Service Registry API](https://github.com/eclipse-chariott/chariott/blob/main/service_discovery/proto/core/v1/service_registry.proto). This is a "standard adapter" that is suitable for use in production scenarios. diff --git a/tools/check_spelling.sh b/tools/check_spelling.sh index 6280b5d1..ecf7454c 100755 --- a/tools/check_spelling.sh +++ b/tools/check_spelling.sh @@ -23,9 +23,7 @@ while IFS= read -r -d '' file; do spell $1 | sort -u > $TEMP_FILE fi NUM_SPELLING_ERRORS=`wc -l $TEMP_FILE | cut -d ' ' -f 1` - if [ $NUM_SPELLING_ERRORS -eq 0 ]; then - echo "$file has no spelling mistakes." - else + if [ $NUM_SPELLING_ERRORS -ne 0 ]; then echo "Error: $file has spelling mistakes. Please fix them." cat $TEMP_FILE EXIT_CODE=1