diff --git a/README.md b/README.md index 8c01195..da933b3 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,31 @@ -# KUKSA.VAL -![kuksa.val Logo](./doc/pictures/logo.png) +# KUKSA Common +![KUKSA Logo](./assets/logo.png) -This is KUKSA.val, the KUKSA **V**ehicle **A**bstraction **L**ayer. +This repository is intended to contain common files that are needed by multiple KUKSA repositories. +Content of this repository -KUKSA.val provides in-vehicle software components for working with in-vehicle signals modelled using the [COVESA VSS data model](https://github.com/COVESA/vehicle_signal_specification). +| Content | Location | Comment | +| ------------ | ----------- | ------------ | +| Official VSS releases in JSON format | [vss](./vss) | Supported by both KUKSA Databroker and KUKSA Server +| KUKSA Example keys and certificates for TLS | [tls](./tls) | Supported by both KUKSA Databroker and KUKSA Server +| KUKSA Databroker Tokens | [jwt](./jwt/) | Not supported by KUKSA Server -If you are new here, try the [Quickstart](doc/quickstart.md), which should not take more than 10 min of your time. +*Note: The tokens supported by KUKSA Server are available in [kuksa.val](https://github.com/eclipse/kuksa.val/tree/master/kuksa_certificates/jwt) repository!* +## Usage -[![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0) -[![Gitter](https://img.shields.io/gitter/room/kuksa-val/community)](https://gitter.im/kuksa-val/community) +This repository is supposed to contain the "master version" of the artifacts stored in this repository. +Two methods to use the artifacts are listed below. -[![Build kuksa-val-server](https://github.com/eclipse/kuksa.val/actions/workflows/kuksa_val_docker.yml/badge.svg)](https://github.com/eclipse/kuksa.val/actions/workflows/kuksa_val_docker.yml?query=branch%3Amaster) -[![Build kuksa-databroker](https://github.com/eclipse/kuksa.val/actions/workflows/kuksa_databroker_build.yml/badge.svg)](https://github.com/eclipse/kuksa.val/actions/workflows/kuksa_databroker_build.yml?query=branch%3Amaster) -[![codecov](https://codecov.io/gh/eclipse/kuksa.val/branch/master/graph/badge.svg?token=M4FT175771)](https://codecov.io/gh/eclipse/kuksa.val) +### Submodule -KUKSA.val contains several components +Repositories may include this repository as a submodule. -| Component | Description | -| -------------- | ----------- | -| [KUKSA Databroker](./kuksa_databroker) | Efficient in-vehicle signal broker written in RUST providing authorized access to VSS data using gRPC -| [KUKSA Server](kuksa-val-server) | Feature rich in-vehicle data server written in C++ providing authorized access to VSS data using W3C VISS websocket protocol -| [KUKSA Python Client and SDK](./kuksa-client) | Command line tool to interactively explore and modify the VSS data points and data structure. Python library for easy interaction with KUKSA Databroker and Server -| [KUKSA GO Client](./kuksa_go_client) | Example client written in the [GO](https://go.dev/) programming language for easy interaction with KUKSA Databroker and Server -| [Example Applications](./kuksa_apps) | Some example apps for different programming languages and frameworks -| [Feeders and Providers](https://github.com/eclipse/kuksa.val.feeders/) | Multiple feeders and providers for exchanging vehicle data with KUKSA databroker and Server +### File copy -## More information - -* [KUKSA.val TLS Concept](doc/tls.md) +Repositories may copy files stored in this repository, but if so they should preferably state +that this repository contains the "master version". ## Pre-commit set up This repository is set up to use [pre-commit](https://pre-commit.com/) hooks. diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000..522d23e Binary files /dev/null and b/assets/logo.png differ diff --git a/jwt/README.md b/jwt/README.md index f84f003..db486c3 100644 --- a/jwt/README.md +++ b/jwt/README.md @@ -1,7 +1,7 @@ # Databroker Example Tokens -This directory contains example tokens for demo and test purposes for KUKSA.val Databroker. -For more information on token format see [documentation](../doc/KUKSA.val_data_broker/authorization.md). +This directory contains example tokens for demo and test purposes for KUKSA Databroker. +For more information on token format see [documentation](./authorization.md). ## Available tokens @@ -15,14 +15,16 @@ For more information on token format see [documentation](../doc/KUKSA.val_data_b ## Create new tokens -Tokens can be generated as described in [documentation](../kuksa_certificates/README.md). +Two helper scripts exist for generating keys and tokens + +* [recreateJWTkeyPair.sh](recreateJWTkeyPair.sh) to regenerate the JWT keys used for signing +* [createToken.py](createToken.py) to create signed tokens, requires `*.json` files as parameters + Note that token generation must take place from the directory containing `createToken.py` An example is shown below: ``` -~/kuksa.val/kuksa_certificates/jwt$ python -m createToken ../../jwt/actuate-provide-all.json -Reading private key from jwt.key -Reading JWT payload from ../../jwt/actuate-provide-all.json -Writing signed access token to ../../jwt/actuate-provide-all.token +pip install -r requirements.txt +python -m createToken actuate-provide-all.json ``` diff --git a/doc/KUKSA.val_data_broker/authorization.md b/jwt/authorization.md similarity index 100% rename from doc/KUKSA.val_data_broker/authorization.md rename to jwt/authorization.md diff --git a/kuksa_certificates/jwt/createToken.py b/jwt/createToken.py similarity index 100% rename from kuksa_certificates/jwt/createToken.py rename to jwt/createToken.py diff --git a/kuksa_certificates/jwt/jwt.key b/jwt/jwt.key similarity index 100% rename from kuksa_certificates/jwt/jwt.key rename to jwt/jwt.key diff --git a/kuksa_certificates/jwt/jwt.key.pub b/jwt/jwt.key.pub similarity index 100% rename from kuksa_certificates/jwt/jwt.key.pub rename to jwt/jwt.key.pub diff --git a/kuksa_certificates/jwt/recreateJWTkeyPair.sh b/jwt/recreateJWTkeyPair.sh similarity index 79% rename from kuksa_certificates/jwt/recreateJWTkeyPair.sh rename to jwt/recreateJWTkeyPair.sh index 874be28..62a12aa 100755 --- a/kuksa_certificates/jwt/recreateJWTkeyPair.sh +++ b/jwt/recreateJWTkeyPair.sh @@ -9,7 +9,7 @@ -echo "Recreating kuksa.val key pair used for JWT verification" +echo "Recreating KUKSA key pair used for JWT verification" echo "-------------------------------------------------------" @@ -20,4 +20,4 @@ printf "\nCreating public key\n" openssl rsa -in jwt.key -pubout -outform PEM -out jwt.key.pub printf '\nYou can use the PRIVATE key "jwt.key" to generate new tokens using https://jwt.io or the "createToken.py" script.\n' -echo 'You need to give the PUBLIC key "jwt.key.pub" to the kuksa.val server, so it can verify correctly signed JWT tokens.' +echo 'You need to give the PUBLIC key "jwt.key.pub" to the KUKSA Databroker, so it can verify correctly signed JWT tokens.' diff --git a/kuksa_certificates/jwt/requirements.txt b/jwt/requirements.txt similarity index 100% rename from kuksa_certificates/jwt/requirements.txt rename to jwt/requirements.txt diff --git a/kuksa_certificates/README.md b/kuksa_certificates/README.md deleted file mode 100644 index b431dcc..0000000 --- a/kuksa_certificates/README.md +++ /dev/null @@ -1,71 +0,0 @@ -# Example Certificates and Tokens for KUKSA.val - -This directory contains example keys, tokens and certificates that can be used for testing clients and servers in this repository. -Many of the clients and servers in this repository use keys, tokens and certificates from this directory by default. - - -## Keys and Certificates for TLS connections - -This directory contain a set of example certificates, used by the KUKSA-project during development and testing. -They may or may not be useful for your test environment. -If needed you can customize `genCerts.sh` and generate keys and certificates that fits your environment. - -See the [KUKSA.val TLS documentation](../doc/tls.md) for general information on the KUKSA.val TLS concept. - -This directory contains the following files with cryptographical information. - - Component | Description | -| -------------- | ----------- | -| `CA.key` | Root key, tnot needed by KUKSA.val applications -| `CA.pem` | Root certificate, valid for 3650 days ( 10 years). | -| `Server.key` | Server key, needed by KUKSA.val Databroker/Server for TLS. | -| `Server.pem` | Server certificate chain, valid for 365 days, needed by KUKSA.val Databroker/Server for TLS. | -| `Client.key` | Client key, currently not needed as mutual authentication is not supported. | -| `Server.pem` | Client certificate chain, valid for 365 days, currently not needed as mutual authentication is not supported. | - -If the certificates have expired or you by any other reason need to regenerate keys or certificates you can use -the `genCerts.sh` cript as described below. - -### Generating Keys and Certificates for TLS Connections - -Execute the script - -``` -> ./genCerts.sh -``` - -This creates `Client.pem` and `Server.pem` valid for 365 days since the day of generation. -If you want to also generate new keys, then delete the keys you want to regenerate before running the script. -This will trigger the script to generate new keys before generating the corresponding certificate. -If you want to regenerate `CA.pem` you must first delete it. - -**NOTE: The script genCerts.sh may not be suitable to use for generating keys and certificates for your production environment! ** -**NOTE: Please consult with your Project Security Manager (or similar) on how your keys and certificates shall be generated! ** - -## Java Web Tokens (JWT) - -KUKSA.val servers use Java Web Tokens (JWT) to validate that a client is authorized to read or write a specific datapoints. -Example keys and token exist in the [jwt](jwt) folder. -It contains a [jwt.key](jwt/jwt.key] file used to sign tokens and 3 example tokens. -Each example token exist both as a cleartext `*.json` file specifying content of the token as well as validity and a signed `*.json.token` file. - -The following example tokens exist: - -* [Single-read](jwt/single-read.json) that has read access to a single VSS signal -* [All-read-write](jwt/all-read-write.json) that can read and write all VSS signals -* [Super-admin](jwt/super-admin.json) that can read and write all VSS signals but also modify the signal tree - -Note that the tokens have limited validity, if expired the `*.json` files need to be updated and the `*.json.token` files regenerated. - -Two helper scripts exist for generating keys and tokens - -* [recreateJWTkeyPair.sh](jwt/recreateJWTkeyPair.sh) to regenerate the JWT keys used for signing -* [createToken.py](jwt/createToken.py) to create signed tokens, requires `*.json` files as parameters - -Example use: - - -```bash -$ pip3 install -r requirements.txt -$ ./createToken.py all-read-write.json -``` diff --git a/kuksa_certificates/jwt/README.md b/kuksa_certificates/jwt/README.md deleted file mode 100644 index 418bd28..0000000 --- a/kuksa_certificates/jwt/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# KUKSA Server JWT Tokens - -This directory contains example tokens for communication with the KUKSA Server. -Corresponding tokens for Databroker can be found [here](../../jwt). - -The script [createToken.py](createToken.py) can be used to generate new tokens if needed. - -For historical reasons KUKSA Server tokens use a different pattern for token names. -If you generate new tokens for KUKSA Server you must first run the script and then rename the generated token. - -## Example: Re-generate token with new expiry date - -The current example tokens expire at 2025-12-31. To generate new ones you must first add a new expiry date in -the corresponding `*.json files. Then do: - -``` -./createToken.py single-read.json -mv single-read.token single-read.json.token -``` - -*Note: The renaming is only needed for KUKSA Server tokens, not for KUKSA Databroker tokens!* diff --git a/kuksa_certificates/jwt/all-read-write.json b/kuksa_certificates/jwt/all-read-write.json deleted file mode 100644 index ccbb70b..0000000 --- a/kuksa_certificates/jwt/all-read-write.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "sub": "kuksa.val", - "iss": "Eclipse KUKSA Dev", - "admin": true, - "iat": 1516239022, - "exp": 1767225599, - "kuksa-vss": { - "*": "rw" - } -} \ No newline at end of file diff --git a/kuksa_certificates/jwt/all-read-write.json.token b/kuksa_certificates/jwt/all-read-write.json.token deleted file mode 100644 index 770aadc..0000000 --- a/kuksa_certificates/jwt/all-read-write.json.token +++ /dev/null @@ -1 +0,0 @@ -eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJrdWtzYS52YWwiLCJpc3MiOiJFY2xpcHNlIEtVS1NBIERldiIsImFkbWluIjp0cnVlLCJpYXQiOjE1MTYyMzkwMjIsImV4cCI6MTc2NzIyNTU5OSwia3Vrc2EtdnNzIjp7IioiOiJydyJ9fQ.QQcVR0RuRJIoasPXYsMGZhdvhLjUalk4GcRaxhh3-0_j3CtVSZ0lTbv_Z3As5BfIYzaMlwUzFGvCVOq2MXVjRK81XOAZ6wIsyKOxva16zjbZryr2V_m3yZ4twI3CPEzJch11_qnhInirHltej-tGg6ySfLaTYeAkw4xYGwENMBBhN5t9odANpScZP_xx5bNfwdW1so6FkV1WhpKlCywoxk_vYZxo187d89bbiu-xOZUa5D-ycFkd1-1rjPXLGE_g5bc4jcQBvNBc-5FDbvt4aJlTQqjpdeppxhxn_gjkPGIAacYDI7szOLC-WYajTStbksUju1iQCyli11kPx0E66me_ZVwOX07f1lRF6D2brWm1LcMAHM3bQUK0LuyVwWPxld64uSAEsvSKsRyJERc7nZUgLf7COnUrrkxgIUNjukbdT2JVN_I-3l3b4YXg6JVD7Y5g0QYBKgXEFpZrDbBVhzo7PXPAhJD6-c3DcUQyRZExbrnFV56RwWuExphw8lYnbMvxPWImiVmB9nRVgFKD0TYaw1sidPSSlZt8Uw34VZzHWIZQAQY0BMjR33fefg42XQ1YzIwPmDx4GYXLl7HNIIVbsRsibKaJnf49mz2qnLC1K272zXSPljO11Ke1MNnsnKyUH7mcwEs9nhTsnMgEOx_TyMLRYo-VEHBDLuEOiBo \ No newline at end of file diff --git a/kuksa_certificates/jwt/single-read.json b/kuksa_certificates/jwt/single-read.json deleted file mode 100644 index 42c6bc4..0000000 --- a/kuksa_certificates/jwt/single-read.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "sub": "kuksa.val", - "iss": "Eclipse KUKSA Dev", - "admin": true, - "iat": 1516239022, - "exp": 1767225599, - "kuksa-vss": { - "Vehicle.OBD.Speed": "r" - } -} diff --git a/kuksa_certificates/jwt/single-read.json.token b/kuksa_certificates/jwt/single-read.json.token deleted file mode 100644 index 5da756e..0000000 --- a/kuksa_certificates/jwt/single-read.json.token +++ /dev/null @@ -1 +0,0 @@ -eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJrdWtzYS52YWwiLCJpc3MiOiJFY2xpcHNlIEtVS1NBIERldiIsImFkbWluIjp0cnVlLCJpYXQiOjE1MTYyMzkwMjIsImV4cCI6MTc2NzIyNTU5OSwia3Vrc2EtdnNzIjp7IlZlaGljbGUuT0JELlNwZWVkIjoiciJ9fQ.UOuS6SrOaejHSweCVbs3CzcAXih9pI9gwJpwCbTGGXIHkiUk-o3aAdmooWcZ-eDWASIKXi6JVpaPwHQSTJzwmGJojG__fCm_pS6m494zmmMvydDqapz4WBbDY_o4VGEHMkaONnTzOK8uufkb7ejvhAWWn5d5n981n7OdCiWkDSf7VjhsbY11VC7KFXh62mHOIOE7inrqYQpu3EqCInnZyBomWxH90-a5FRBuoDo7FM0102C8GgoyZGsN6MEC_cSBiTQQgFUvEK_E4z_zVEH4SntufhZNhW0yS0cXEMz8xqaAeC1EckGypBRAhtUjlq6ixfqBs2C1RWWaZcBQiaYkB52BtSqAaJOkQBdKJG11w_-KkOYGjWdjcJLjZjdsXWgmyY7L4aqSnn0TtGk5Yt2MX-x3W6dDeEKOnlJtEFi8IpTCuhIlh6XAphZQuqhfTR6bVvW9R9o96iITW3dQiBcSu-t5hlHZslUem0IfxIGUqiNdkf1Q9PzbDStbvwmaXYwDyuQyNm8rz3rXzwsxkF9ooQSCI3-ECfr8AalmUtUGM2KAT5uO29M4EOWFvABvtNLUu8OMQQNkQt47r2tKSeaJrqrO7VAMRujRfCgqBSkazDzA5OMuTnuJhbo9p_m88-5dFlfCnRqaahySe26OndOZRdhHtl2srRYIUhbyhKtL8tg \ No newline at end of file diff --git a/kuksa_certificates/jwt/super-admin.json b/kuksa_certificates/jwt/super-admin.json deleted file mode 100644 index 5526e76..0000000 --- a/kuksa_certificates/jwt/super-admin.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "sub": "kuksa.val", - "iss": "Eclipse KUKSA Dev", - "admin": true, - "modifyTree": true, - "iat": 1516239022, - "exp": 1767225599, - "kuksa-vss": { - "*": "rw" - } -} - diff --git a/kuksa_certificates/jwt/super-admin.json.token b/kuksa_certificates/jwt/super-admin.json.token deleted file mode 100644 index b8df666..0000000 --- a/kuksa_certificates/jwt/super-admin.json.token +++ /dev/null @@ -1 +0,0 @@ -eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJrdWtzYS52YWwiLCJpc3MiOiJFY2xpcHNlIEtVS1NBIERldiIsImFkbWluIjp0cnVlLCJtb2RpZnlUcmVlIjp0cnVlLCJpYXQiOjE1MTYyMzkwMjIsImV4cCI6MTc2NzIyNTU5OSwia3Vrc2EtdnNzIjp7IioiOiJydyJ9fQ.p2cnFGH16QoQ14l6ljPVKggFXZKmD-vrw8G6Vs6DvAokjsUG8FHh-F53cMsE-GDjyZH_1_CrlDCnbGlqjsFbgAylqA7IAJWp9_N6dL5p8DHZTwlZ4IV8L1CtCALs7XVqvcQKHCCzB63Y8PgVDCAqpQSRb79JPVD4pZwkBKpOknfEY5y9wfbswZiRKdgz7o61_oFnd-yywpse-23HD6v0htThVF1SuGL1PuvGJ8p334nt9bpkZO3gaTh1xVD_uJMwHzbuBCF33_f-I5QMZO6bVooXqGfe1zvl3nDrPEjq1aPulvtP8RgREYEqE6b2hB8jouTiC_WpE3qrdMw9sfWGFbm04qC-2Zjoa1yYSXoxmYd0SnliSYHAad9aXoEmFENezQV-of7sc-NX1-2nAXRAEhaqh0IRuJwB4_sG7SvQmnanwkz-sBYxKqkoFpOsZ6hblgPDOPYY2NAsZlYkjvAL2mpiInrsmY_GzGsfwPeAx31iozImX75rao8rm-XucAmCIkRlpBz6MYKCjQgyRz3UtZCJ2DYF4lKqTjphEAgclbYZ7KiCuTn9HualwtEmVzHHFneHMKl7KnRQk-9wjgiyQ5nlsVpCCblg6JKr9of4utuPO3cBvbjhB4_ueQ40cpWVOICcOLS7_w0i3pCq1ZKDEMrYDJfz87r2sU9kw1zeFQk \ No newline at end of file diff --git a/kuksa_certificates/CA.key b/tls/CA.key similarity index 100% rename from kuksa_certificates/CA.key rename to tls/CA.key diff --git a/kuksa_certificates/CA.pem b/tls/CA.pem similarity index 100% rename from kuksa_certificates/CA.pem rename to tls/CA.pem diff --git a/kuksa_certificates/Client.key b/tls/Client.key similarity index 100% rename from kuksa_certificates/Client.key rename to tls/Client.key diff --git a/kuksa_certificates/Client.pem b/tls/Client.pem similarity index 100% rename from kuksa_certificates/Client.pem rename to tls/Client.pem diff --git a/tls/README.md b/tls/README.md new file mode 100644 index 0000000..9d5e4af --- /dev/null +++ b/tls/README.md @@ -0,0 +1,46 @@ +# Example Keys and Certificates and Tokens for KUKSA.val + +This directory contains example keys and certificates that can be used for testing TLS support for KUKSA clients and servers. +Many of the clients and servers in this repository use keys, tokens and certificates from this directory by default. + + +## Keys and Certificates for TLS connections + +This directory contain a set of example certificates, used by the KUKSA-project during development and testing. +They may or may not be useful for your test environment. +If needed you can customize `genCerts.sh` and generate keys and certificates that fits your environment. + +See the [KUKSA TLS documentation](https://github.com/eclipse/kuksa.val//doc/tls.md) for general information on the KUKSA TLS concept. + +This directory contains the following files with cryptographical information. + + Component | Description | +| -------------- | ----------- | +| `CA.key` | Root key, tnot needed by KUKSA.val applications +| `CA.pem` | Root certificate, valid for 3650 days ( 10 years). | +| `Server.key` | Server key, needed by KUKSA.val Databroker/Server for TLS. | +| `Server.pem` | Server certificate chain, valid for 365 days, needed by KUKSA.val Databroker/Server for TLS. | +| `Client.key` | Client key, currently not needed as mutual authentication is not supported. | +| `Client.pem` | Client certificate chain, valid for 365 days, currently not needed as mutual authentication is not supported. | + +If the certificates have expired or you by any other reason need to regenerate keys or certificates you can use +the `genCerts.sh` cript as described below. + +### Generating Keys and Certificates for TLS Connections + +Execute the script + +``` +> ./genCerts.sh +``` + +This creates `Client.pem` and `Server.pem` valid for 365 days since the day of generation. +If you want to also generate new keys, then delete the keys you want to regenerate before running the script. +This will trigger the script to generate new keys before generating the corresponding certificate. +If you want to regenerate `CA.pem` you must first delete it. + +**NOTE: The script genCerts.sh may not be suitable to use for generating keys and certificates for your production environment!** + +**NOTE: Please consult with your Project Security Manager (or equivalent role in your organization) on how your keys and certificates shall be generated!** + + diff --git a/kuksa_certificates/Server.key b/tls/Server.key similarity index 100% rename from kuksa_certificates/Server.key rename to tls/Server.key diff --git a/kuksa_certificates/Server.pem b/tls/Server.pem similarity index 100% rename from kuksa_certificates/Server.pem rename to tls/Server.pem diff --git a/kuksa_certificates/__init__.py b/tls/__init__.py similarity index 100% rename from kuksa_certificates/__init__.py rename to tls/__init__.py diff --git a/kuksa_certificates/genCerts.sh b/tls/genCerts.sh similarity index 100% rename from kuksa_certificates/genCerts.sh rename to tls/genCerts.sh diff --git a/data/vss-core/README.md b/vss/README.md similarity index 96% rename from data/vss-core/README.md rename to vss/README.md index fc83348..e57ad72 100644 --- a/data/vss-core/README.md +++ b/vss/README.md @@ -1,8 +1,8 @@ -# KUKSA.val VSS handling +# KUKSA VSS Data ## Introduction -KUKSA.val is adapted to use Vehicle Signals Specification as defined by COVESA. +KUKSA is adapted to use Vehicle Signals Specification as defined by COVESA. The ambition is to always support the latest released version available at the [COVESA VSS release page](https://github.com/COVESA/vehicle_signal_specification/releases). In addition older versions may be supported. This folder contains copies of all versions supported. @@ -53,7 +53,7 @@ use the full name. When official release is created replace the copied *.json-fi ## Tests after update ### Kuksa-val-server unit tests -* Run kuksa-val-server unit tests according to [documentation](../../kuksa-val-server/test/unit-test/readme.md) +* Run kuksa-val-server unit tests according to [documentation](https://github.com/eclipse/kuksa.val/kuksa-val-server/test/unit-test/readme.md) ### Kuksa-val-server smoke test * Build and start kuksa-val-server with new VSS release as described in the [README](https://github.com/eclipse/kuksa.val/blob/master/kuksa-val-server/README.md) @@ -139,7 +139,7 @@ Test Client> getValue Vehicle.CurrentLocation.Latitude ### Kuksa_databroker smoke test -Build and run kuksa_databroker using the new VSS file according to [documentation](../../kuksa_databroker/README.md), e.g. +Build and run kuksa_databroker using the new VSS file according to [documentation](https://github.com/eclipse/kuksa.val/kuksa_databroker/README.md), e.g. ```sh $cargo run --bin databroker -- --metadata ../data/vss-core/vss_release_4.0.json diff --git a/data/vss-core/vss_release_2.0.json b/vss/vss_release_2.0.json similarity index 100% rename from data/vss-core/vss_release_2.0.json rename to vss/vss_release_2.0.json diff --git a/data/vss-core/vss_release_2.1.json b/vss/vss_release_2.1.json similarity index 100% rename from data/vss-core/vss_release_2.1.json rename to vss/vss_release_2.1.json diff --git a/data/vss-core/vss_release_2.2.json b/vss/vss_release_2.2.json similarity index 100% rename from data/vss-core/vss_release_2.2.json rename to vss/vss_release_2.2.json diff --git a/data/vss-core/vss_release_3.0.json b/vss/vss_release_3.0.json similarity index 100% rename from data/vss-core/vss_release_3.0.json rename to vss/vss_release_3.0.json diff --git a/data/vss-core/vss_release_3.1.1.json b/vss/vss_release_3.1.1.json similarity index 100% rename from data/vss-core/vss_release_3.1.1.json rename to vss/vss_release_3.1.1.json diff --git a/data/vss-core/vss_release_4.0.json b/vss/vss_release_4.0.json similarity index 100% rename from data/vss-core/vss_release_4.0.json rename to vss/vss_release_4.0.json