LAD facilitates the installation of an Eclipse Velocitas App on a target device running Eclipse Leda (with Kanto). With LAD, three different deployment options called "Deployment-Variants" are selectable, to save time during Vehicle App development.
Important NOTE: The base requirement is to have one (or many) target device(s) which can be accessed from this source device via SSH. Each Deployment-Variant requires configurations on the source and/or the target system, which is described in the prerequisites of each Deployment-Variant. If you with to use the plugin for deployment on a different operating system and not use Leda, refer to "Prerequisites for Plugin Usage on different Operating Systems (without Leda)"
LAD is not published on the official Marketplace of Visual Studio Code by now. You need to manually install the Extension in Visual Studio Code by following these simple steps:
Install the Visual Studio Code Command Line Interface "code" if you have not done it earlier. To check if code is already installed, open a Terminal and type in code
.
If code is not present, do the following to install it:
Shell Command: Install 'code' command in PATH
code
command to your system's PATH, allowing you to use it in the command prompt or PowerShell.Manually download the .vsix file from the latest release on this repository OR download the file for the Extension via cURL by opening a Terminal and running:
curl -o leda-app-deployer.vsix -L https://github.com/eclipse-leda/leda-contrib-vscode-extensions/releases/latest/download/leda-app-deployer.vsix
Install the Extension via code with the following by running:
code --install-extension leda-app-deployer.vsix
After successful installation, LAD is now visible in Visual Studio Code as an Extension button that looks like a target ◎.
Description:
Use this Deployment-Variant to install Velocitas App images on a target device from a remote source. Images refer to the available images in the GitHub repositories' registry (ghcr) your application is pulled from. The target system automatically downloads the specified image from the remote GitHub Repository with the help of LAD. You can choose between the different image releases available for your Repository via dropdown.
Prerequisites:
The process:
Detailed steps the Extension performs for you:
/etc/container-management/config.json
file.registry_configurations
object.Description:
Use this Deployment-Variant to first download the Velocitas App image from the web (or specify a local path to a .tar file) and then transfer it to the target system via a local network. The target system does not require an Internet connection. If a local path is specified, the source device does not require an internet connection as well.
Prerequisites:
The process:
Detailed steps the Extension performs for you:
/etc/container-management/config.json
file.registry_configurations
object.Description:
Use this Deployment-Variant to build the Velocitas App image locally via Docker build. The deployment is completely done on a local network, so no internet connection is required, neither on the source device nor on the target device.
Prerequisites:
The process:
Detailed steps the Extension performs for you:
.vscode/tmp/*.tar
)./etc/container-management/config.json
file.registry_configurations
object.Add and delete target devices:
Change a previously created target device and do further settings:
Deploy apps on devices using LAD:
Edit Kanto's config.json
in the Kanto container-management of the target system/device:
cd /etc/container-management
.vi config.json
."containers":{}
.sudo systemctl restart container-management.service
.Edit Kanto's config.json
in the Kanto container-management of the target system/device:
cd /etc/container-management
.vi config.json
."containers":{}
.If we install kanto-cm on top of a different Operating Systems (eg. Raspbian arm64), we have the following dependencies that need to be manually installed:
Note: The utils from Kanto environment should be installed as a system service -> resources/kanto-auto-deployer.service
.
To be part of this project, please refer to CONTRIBUTING.