-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Feature: Document AppManifest version 3 design (#107)
- Loading branch information
Showing
18 changed files
with
1,160 additions
and
111 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 changes: 8 additions & 0 deletions
8
...nt/en/docs/concepts/development_model/vehicle_app_manifest/interfaces/_index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
title: "Interfaces" | ||
date: 2023-05-31T13:33:25+05:30 | ||
weight: 10 | ||
description: > | ||
Learn more about logical interfaces. | ||
--- |
49 changes: 49 additions & 0 deletions
49
...cs/concepts/development_model/vehicle_app_manifest/interfaces/grpc_interface.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
--- | ||
title: "gRPC Service Interface" | ||
date: 2023-08-09T00:00:00+01:00 | ||
weight: 20 | ||
description: > | ||
The functional interface for supporting remote procedure calls via gRPC. | ||
--- | ||
|
||
{{<table "table table-bordered">}} | ||
| Providing CLI package | Interface type-key | | ||
|-----------------------------|-----------------------| | ||
| `devenv-devcontainer-setup` | `grpc-interface` | | ||
{{</table>}} | ||
|
||
## Description | ||
|
||
This interface type introduces a dependency to a gRPC service. It is used to generate either client stubs (in case your application requires the interface) or server stubs (in case your application provides the interface). The result of the generation is a language specific and package manager specific source code package, integrated with the Velocitas SDK core. | ||
|
||
If a _Vehicle App_ requires a `grpc-interface` - a client stub embedded into the Velocitas framework will be generated and added as a build-time dependency of your application. It enables you to access your service from your _Vehicle App_ without any additional effort. | ||
|
||
If a _Vehicle App_ provides a `grpc-interface` - a server stub embedded into the Velocitas framework will be generated and added as a build-time dependency of your application. It enables you to quickly add the business logic of your application. | ||
|
||
## Configuration structure | ||
|
||
{{<table "table table-bordered">}} | ||
| Attribute | Example value | Description | | ||
|-|-|-| | ||
| `src` | `"https://raw.githubusercontent.com/eclipse/kuksa.val.services/v0.2.0/seat_service/proto/sdv/edge/comfort/seats/v1/seats.proto"` | URI of the used protobuf specification of the service. URI may point to a local file or to a file provided by a server. It is generally recommended that a **stable** proto file is used. I.e. one that is already released under a proper tag rather than an in-development proto file. | | ||
| `required.methods` | | Array of service's methods that are accessed by the application. In addition to access control the methods attribute may be used to determine backward or forward compatibility i.e. if semantics of a service's interface did not change but methods were added or removed in a future version. | | ||
| `required.methods.[].name` | `"Move"`, `"MoveComponent"` | Name of the method that the application would like to access | | ||
| `provided` | `{}` | Reserved object indicating that the interface is provided. Might be filled with further configuration values. | ||
{{</table>}} | ||
|
||
## Example | ||
|
||
```json | ||
{ | ||
"type": "grpc-interface", | ||
"config": { | ||
"src": "https://raw.githubusercontent.com/eclipse/kuksa.val.services/v0.2.0/seat_service/proto/sdv/edge/comfort/seats/v1/seats.proto", | ||
"required": { | ||
"methods": [ | ||
"Move", "MoveComponent" | ||
] | ||
} | ||
} | ||
} | ||
``` |
43 changes: 43 additions & 0 deletions
43
...nt/en/docs/concepts/development_model/vehicle_app_manifest/interfaces/pubsub.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
--- | ||
title: "Publish Subscribe" | ||
date: 2023-08-09T00:00:00+01:00 | ||
weight: 20 | ||
description: > | ||
The functional interface for supporting communication via publish and subscribe. | ||
--- | ||
|
||
{{<table "table table-bordered">}} | ||
| Providing CLI package | Interface type-key | | ||
|-----------------------------|-----------------------| | ||
| `devenv-runtimes` | `pubsub` | | ||
{{</table>}} | ||
|
||
## Description | ||
|
||
This interface type introduces a dependency to a publish and subscribe middleware. While this may change in the future due to new middlewares being adopted, at the moment this will always indicate a dependency to MQTT. | ||
|
||
If a _Vehicle App_ requires `pubsub` - this will influence the generated deployment specs to include a publish and subscribe broker (i.e. an MQTT broker). | ||
|
||
If a _Vehicle App_ provides `pubsub` - this will influence the generated deployment specs to include a publish and subscribe broker (i.e. an MQTT broker). | ||
|
||
## Configuration structure | ||
|
||
{{<table "table table-bordered">}} | ||
| Attribute | Example value | Description | | ||
|-|-|-| | ||
| `reads` | `[ "sampleapp/getSpeed" ]` | Array of topics which are read by the application. | | ||
| `writes` | `[ "sampleapp/currentSpeed", "sampleapp/getSpeed/response" ]` | Array of topics which are written by the application. | | ||
{{</table>}} | ||
|
||
## Example | ||
|
||
```json | ||
{ | ||
"type": "pubsub", | ||
"config": { | ||
"reads": [ "sampleapp/getSpeed" ], | ||
"writes": [ "sampleapp/currentSpeed", "sampleapp/getSpeed/response" ] | ||
} | ||
} | ||
``` |
Oops, something went wrong.