diff options
author | Scott Murray <scott.murray@konsulko.com> | 2023-08-25 16:13:48 -0400 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2023-08-28 15:32:16 +0000 |
commit | 8d3e2e1610ddd72c83631bc1afdb3c2a08a01612 (patch) | |
tree | f2fd0d279686d58e73f3add9f7d8e95a48463660 /recipes-connectivity/kuksa-val | |
parent | a620f3a712bab0dd80c8ecaa49e1ebb062fabbb6 (diff) |
Switch Qt demo to KUKSA.val databroker
Changes to switch the Qt-based agl-demo-platform demo from using
the older KUKSA.val server to the new gRPC based databroker. The
Flutter demo's vehicle signalling behavior ends up a bit broken
by these, but the image still boots and basic things still work.
A follow on set of changes will convert the Flutter apps to the
new gRPC API and remove the KUKSA.val server completely.
Notable changes:
- Updated libqtappfw, homescreen, ondemandnavi, and tbtnavi recipes
to pick up changes to switch to using the databroker.
- Updated agl-service-audiomixer and agl-service-hvac recipes to
pick up their rework for using the databroker.
- All the Qt demo applications that use the VehicleSignals class
from libqtappfw have had their .conf and .token files updated to
work with the databroker. As well, the JSON files used to create
the new app-specific authorization tokens have been checked in to
provide a reference of how things are configured.
- The DBC feeder configuration has been changed to push into the
databroker. Having a duplicate instance to also push into the
older server has not been set up, as hopefully the Flutter demo
conversion will follow on quickly enough to not require it.
- Packagegroups for the KUKSA.val server and databroker have been
factored out and are used instead of using the agl-ivi-services
packagegroup.
- kuksa-databroker-cli and the simple CAN simulator script are now
included into the demo images when building with agl-devel.
Bug-AGL: SPEC-4762
Change-Id: I416bcfbf961535062043ef54acdea6c353f84af1
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29171
Tested-by: Jenkins Job builder account
ci-image-build: Jenkins Job builder account
ci-image-boot-test: Jenkins Job builder account
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'recipes-connectivity/kuksa-val')
8 files changed, 33 insertions, 9 deletions
diff --git a/recipes-connectivity/kuksa-val/kuksa-certificates-agl.bb b/recipes-connectivity/kuksa-val/kuksa-certificates-agl.bb index 7caa2ebf2..870d2e398 100644 --- a/recipes-connectivity/kuksa-val/kuksa-certificates-agl.bb +++ b/recipes-connectivity/kuksa-val/kuksa-certificates-agl.bb @@ -55,4 +55,4 @@ RDEPENDS:${PN}-client += "${PN}-ca" ALLOW_EMPTY:${PN} = "1" -RDEPENDS:${PN} += "kuksa-val ${PN}-ca ${PN}-server ${PN}-client" +RDEPENDS:${PN} += "${PN}-ca ${PN}-server ${PN}-client" diff --git a/recipes-connectivity/kuksa-val/kuksa-databroker-agl-demo-cluster.bb b/recipes-connectivity/kuksa-val/kuksa-databroker-agl-demo-cluster.bb new file mode 100644 index 000000000..36b77dbcc --- /dev/null +++ b/recipes-connectivity/kuksa-val/kuksa-databroker-agl-demo-cluster.bb @@ -0,0 +1,22 @@ +SUMMARY = "AGL cluster demo configuration for KUKSA.val databroker" +HOMEPAGE = "https://github.com/eclipse/kuksa.val" +BUGTRACKER = "https://github.com/eclipse/kuksa.val/issues" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +SRC_URI = "file://kuksa-databroker.env" + +inherit allarch update-alternatives + +do_install() { + install -d ${D}${sysconfdir}/default + install -m 0644 ${WORKDIR}/kuksa-databroker.env ${D}${sysconfdir}/default/kuksa-databroker.agl-demo-cluster-support +} + +ALTERNATIVE:${PN} = "kuksa-databroker-env" +ALTERNATIVE_LINK_NAME[kuksa-databroker-env] = "${sysconfdir}/default/kuksa-databroker" +ALTERNATIVE_TARGET[kuksa-databroker-env] = "${sysconfdir}/default/kuksa-databroker.agl-demo-cluster-support" +ALTERNATIVE_PRIORITY[kuksa-databroker-env] = "20" + +RDEPENDS:${PN} += "kuksa-certificates-agl-ca" diff --git a/recipes-connectivity/kuksa-val/kuksa-databroker-agl-demo-cluster/kuksa-databroker.env b/recipes-connectivity/kuksa-val/kuksa-databroker-agl-demo-cluster/kuksa-databroker.env new file mode 100644 index 000000000..47788338d --- /dev/null +++ b/recipes-connectivity/kuksa-val/kuksa-databroker-agl-demo-cluster/kuksa-databroker.env @@ -0,0 +1 @@ +EXTRA_ARGS="--vss /usr/share/vss/vss.json --tls-cert /etc/kuksa-val/Server.pem --tls-private-key /etc/kuksa-val/Server.key --jwt-public-key /etc/kuksa-val/jwt.key.pub --address 0.0.0.0" diff --git a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/config.ini b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/config.ini index 580d02d67..378a3437e 100644 --- a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/config.ini +++ b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/config.ini @@ -1,7 +1,7 @@ [general] # server type: # switch between kuksa_databroker and kuksa_val_server -server_type = kuksa_val_server +server_type = kuksa_databroker # VSS mapping file mapping = /usr/share/vss/vss.json @@ -9,7 +9,7 @@ mapping = /usr/share/vss/vss.json ip = localhost # Port for server (KUKSA.val Server or Databroker) -port = 8090 +port = 55555 # Shall TLS be used (default False for Databroker, True for KUKSA.val Server) tls = True @@ -19,7 +19,7 @@ tls = True root_ca_path=/etc/kuksa-val/CA.pem # Token file for authorization. -token = /etc/kuksa-dbc-feeder/dbc_feeder.json.token +token = /etc/kuksa-dbc-feeder/dbc_feeder.token [can] # CAN port diff --git a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/dbc_feeder.token b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/dbc_feeder.token new file mode 100644 index 000000000..8ce854f34 --- /dev/null +++ b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/dbc_feeder.token @@ -0,0 +1 @@ +eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJsb2NhbCBkZXYiLCJpc3MiOiJjcmVhdGVUb2tlbi5weSIsImF1ZCI6WyJrdWtzYS52YWwiXSwiaWF0IjoxNTE2MjM5MDIyLCJleHAiOjE3NjcyMjU1OTksInNjb3BlIjoicHJvdmlkZSJ9.OJWzTvDjcmeWyg3vmBR5TEtqYaHq8HrpFLlTKZAfDBAQBUHpyUEboJ97jfWuWgBnTpnfboyfAbwvLqo6bEVZ6tXzF8n9LtW6HmPbIWoDqXuobM2grUCVaGKuOcnCpMCQYChziqHbYwRJYP9nkYgbQU1kE4dN7880Io4xzq0GEbWksB2CVpOoExQUmCZpCohPs-XEkdmXhcUKnWnOeiSsRGKusx987vpY_WOXh6WE7DfJgzAgpPDo33qI7zQuTzUILORQsiHmsrQO0-zcvokNjaQUzlt5ETZ7MQLCtiUQaN0NMbDMCWkmSfNvZ5hKCNbfr2FaiMzrGBOQdvQiFo-DqZKGNweaGpufYXuaKfn3SXKoDr8u1xDE5oKgWMjxDR9pQYGzIF5bDXITSywCm4kN5DIn7e2_Ga28h3rBl0t0ZT0cwlszftQRueDTFcMns1u9PEDOqf7fRrhjq3zqpxuMAoRANVd2z237eBsS0AvdSIxL52N4xO8P_h93NN8Vaum28fTPxzm8p9WlQh4mgUelggtT415hLcxizx15ARIRG0RiW91Pglzt4WRtXHnsg93Ixd3yXXzZ2i4Y0hqhj_L12SsXunK2VxKup2sFCQz6wM-t_7ADmNYcs80idzsadY8rYKDV8N1WqOOd4ANG_nzWa86Tyu6wAwhDVag5nbFmLZQ
\ No newline at end of file diff --git a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/kuksa-dbc-feeder.service b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/kuksa-dbc-feeder.service index dfcbb4df8..a30018c6f 100644 --- a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/kuksa-dbc-feeder.service +++ b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/kuksa-dbc-feeder.service @@ -1,7 +1,7 @@ [Unit] Description=Eclipse KUKSA.val DBC feeder -Requires=kuksa-val.service can-dev-helper.service -After=kuksa-val.service can-dev-helper.service +Requires=kuksa-databroker.service can-dev-helper.service +After=kuksa-databroker.service can-dev-helper.service [Service] ExecStart=/usr/bin/dbcfeeder.py diff --git a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder_git.bb b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder_git.bb index e1e853f4e..809152bb0 100644 --- a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder_git.bb +++ b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder_git.bb @@ -14,7 +14,7 @@ SRC_URI = "git://github.com/eclipse/kuksa.val.feeders.git;protocol=https;branch= file://0002-dbc2val-usability-improvements.patch \ file://0003-dbc2val-fix-token-file-configuration-option.patch \ file://config.ini \ - file://dbc_feeder.json.token \ + file://dbc_feeder.token \ file://agl-vcar.dbc \ file://kuksa-dbc-feeder.service \ " @@ -34,7 +34,7 @@ do_install:append() { # Token should ideally not be readable by other users. # The potential for running the feeder as non-root will take some # investigation. - install -m 0600 ${WORKDIR}/dbc_feeder.json.token ${D}${sysconfdir}/kuksa-dbc-feeder/ + install -m 0600 ${WORKDIR}/dbc_feeder.token ${D}${sysconfdir}/kuksa-dbc-feeder/ install -m 0644 ${WORKDIR}/agl-vcar.dbc ${D}${sysconfdir}/kuksa-dbc-feeder/ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -d ${D}${systemd_system_unitdir} diff --git a/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster.bb b/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster.bb index 1f1a6411f..17e9e3c9c 100644 --- a/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster.bb +++ b/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster.bb @@ -19,4 +19,4 @@ ALTERNATIVE_LINK_NAME[kuksa-val-env] = "${sysconfdir}/default/kuksa-val" ALTERNATIVE_TARGET[kuksa-val-env] = "${sysconfdir}/default/kuksa-val.agl-demo-cluster-support" ALTERNATIVE_PRIORITY[kuksa-val-env] = "20" -RDEPENDS:${PN} += "kuksa-val" +RDEPENDS:${PN} += "kuksa-certificates-agl-client" |