Skip to content

Latest commit

 

History

History

README.md

Start the Vehicle Edge stack on your local machine using docker-compose

Prerequisites

  • Tested with
    • Windows
      • Docker desktop v2.4.0.0
      • Docker Engine v19.03.13
      • Compose: 1.27.4
    • Ubuntu 18.04.5
      • Docker Engine v19.03.6
      • Compose 1.27.4
    • Ubuntu Desktop 20.10 (on Raspberry Pi4)
      • Docker Engine v19.03.6
      • Compose 1.27.4

Setup

Custom configuration

  • Copy the ./docker-compose/config folder. For further information about the configuration for a specific component, read setup/general/<component-name>

  • Copy the respective .env file matching your deployment architecture (Either .arm64.env or .amd64.env)

  • The contents should look like this

    <custom config folder>
    |- hal-interface
    |  L- config.json
    |- hal-interface-adapter
    |  |- config.json                 // Needs to have the correct JSON Web token, to authenticate against Kuksa.val
    |  L- mapping.json
    |- iotea
    |  |- channels
    |  |  |- talent.channel.json
    |  |  |- talent.schema.json
    |  |  |- kuksa.val.channel.json
    |  |  |- kuksa.val.schema.json
    |  |  L- kuksa.val.transform.jna
    |  |- config.json
    |  |- types.json                  // Needs to have types configuration, which matches the provided Vehicle Signal Specification
    |  L- uom.json
    |- mosquitto
    |  L- config.json
    |- kuksa.val                      // (optional, needed if Kuksa.val should be used)
    |  |- certs                       // Read in setup/general/kuksa.val/README.md how to create the required configuration files
    |  |  |- jwt.key.pub
    |  |  |- Server.key
    |  |  L- Server.pem
    |  L- vss.json
    L- kuksa.val2iotea                // (optional, needed if Kuksa.val should be used)
       L- config.json                 // Needs to have the correct JSON Web token, to authenticate against Kuksa.Val
    
  • Update the (.amd64.env OR .arm64.env) file and set the value CONFIG_DIR to /abs/path/to/<custom config folder>

Proxy prerequisites

Append the following to the .amd64.env OR .arm64.env file

DOCKER_HTTP_PROXY=http://host.docker.internal:3128
DOCKER_HTTPS_PROXY=http://host.docker.internal:3128

Run manually

  • Clone this repository with --recurse-submodules flag. If you already cloned it, but you do not have the submodule, run git submodule update --init --recursive

No Kuksa.val

  • >> AMD64 platform only: <<
    • Run docker-compose --env-file .amd64.env -f docker-compose.stack.yml up
  • >> ARM64 platform only: <<
    • Run docker-compose --env-file .arm64.env -f docker-compose.stack.yml up

With Kuksa.val

  • Follow Install Kuksa.val section from https://github.com/GENIVI/iot-event-analytics/tree/develop/docker/kuksa.val2iotea/README.md to download AND load the latest version of KUKSA.VAL into your local Docker registry.
    • >> AMD64 platform only: <<
      Set the property KUKSA_VAL_IMG to amd64/kuksa-val:<version> in the .amd64env file
    • >> ARM64 platform only: <<
      Set the property KUKSA_VAL_IMG to arm64/kuksa-val:<version> in the .arm64.env file
  • Check your configuration using docker-compose -f docker-compose.edge.yml config
  • >> AMD64 platform only: <<
    Run docker-compose -f docker-compose.stack.yml -f docker-compose.kuksa.val.yml --project-name vehicle-edge-platform --env-file <path to your env file> up --build --remove-orphans
  • >> ARM64 platform only: <<
    Run docker-compose -f docker-compose.stack.yml -f docker-compose.kuksa.val.yml --project-name vehicle-edge-platform --env-file <path to your env file> up --build -remove-orphans

Run scripted

  • >> Windows only <<
    run.bat run.properties (.amd64.env OR .arm64.env)
  • >> Linux only <<
    run.sh (.amd64.env OR .arm64.env)