JOIN/SIGN UP
Already a Member? |
GET INVOLVED
Understanding and Engaging in COVESA Expert Groups & Projects |
COLLABORATIVE PROJECTS
HISTORICAL
SDV Telemetry Project |
...
Historical note: the minutes for the previous project, the CVII Tech Stack, can be found here: CVII Technology Stack meeting notes
Agenda:
Minutes:
Hi @Christian Mühlbauer re the discussion in last week's call about docker modularity you might find these links useful in the Docker doc:
Rough example of one possible approach using extend:
We currently have docker/docker-compose-cdsp.yml as a reference compose for a single logical instance of CDSP-core. Assume the Knowledge and Information Layer services have been added. The question is how to use/re-use it in more expansive use-case examples?
Lets say we want to create a use-case blueprint in the examples folder that illustrates a larger touchpoint involving in-vehicle, mobile and cloud. For this example we can create a compose that uses extend to create services in those three domains using the base service defined in docker-compose-cdsp.yml. It might be a simple duplicate and rename, or it might in addition modify the service.
To illustrate let's take the first service in CDSP-core iotdb-service
and create three instances in our new blueprint compose example/vehicle-cloud-mobile/docker-compose-cdsp-vehicle-cloud.yml
:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
name: cdsp-vehicle-cloud-mobile
services:
# In-vehicle HPC Apache IoTDB
vehicle-iotdb-service:
extends:
file: docker-compose-cdsp.yml
service: iotdb-service
# Cloud Apache IoTDB
cloud-iotdb-service:
extends:
file: docker-compose-cdsp.yml
service: iotdb-service
build:
# Use cluster environment
# Mobile Apache IoTDB
mobile-iotdb-service:
extends:
file: docker-compose-cdsp.yml
service: iotdb-service |
Now for our blueprint we have three services vehicle-iotdb-service
, cloud-iotdb-service
and mobile-iotdb-service
all based on the service definition in docker-compose-cdsp.yml.
We can optimise further by configuring each service appropriately for their domain. Using cluster in the cloud for example.
I don't think there is one pattern that will fit all use cases. It might make sense to use merge or include rather than extend in some cases. We should also be wary of making things so complex that a high level of docker knowledge is required. Ideally these should be useable to a wide range of end users not just infrastructure experts. Some good compromises as to how to modularise should emerge as we go.
Anyway hope that helps.
Agenda:
...