Skip to content

Eclipse-SDV-Hackathon-Chapter-Three/MegaBosses

Repository files navigation

MegaBosses

Mission: Update Possible 🚗⚡

The Challenge

Modern vehicles aren’t just engines and wheels anymore — they’re powerful, software-driven platforms with dozens of interconnected ECUs, sensors, and services. But delivering secure, reliable Over-the-Air (OTA) updates at scale? That’s still a big challenge. Update Possible invites you to take on one of the hottest technical problems in the software-defined vehicle world: designing an open, end-to-end OTA update system using cutting-edge tools like Eclipse Symphony , Eclipse uProtocol, and in-vehicle orchestrators such as Eclipse Ankaios and Eclipse Muto.

Demo visualization

Installation

Install Podman

On Ubuntu:

sudo apt update
sudo apt-get -y install podman
sudo apt-get -y install jq

Otherwise follow the official Podman installation instructions.

Install Docker

Follow the instructions in the official Install Docker Engine Guideline. Next, intall docker compose.

Install Ankaios

Install Eclipse Ankaios with a single curl command as described in the Ankaios installation guide.

Follow the Setup with script section and install version v0.6.0.

Install Symphony

No installation is required; the cloud component is launched via Docker Compose.

Start the cloud part

To run the application start by Symphony, an MQTT broker, and a read-only Symphony portal using the provided Docker Compose file:

docker compose -f /symphony/docker-compose.yaml up -d
docker compose -f /ManagementPlatform/docker-compose.yaml up -d

Starting the management platform app (Challenge 1)

Start the in-vehicle part

Before running the Ankaios manifest [state.yaml] you must build the container images for the car apps to test the update and for the policy workflow with:

chmod +x ./scripts/build-pull-images.sh 
./scripts/build-pull-images.sh 

Start the Ankaios server and Ankaios agent with systemd:

sudo systemctl start ank-server ank-agent

To run the over-the-air (OTA) scenario, just apply the state.yaml containing the workloads:

ank apply ankaios/state.yaml

Register the Campaign in Symphony

Before you can activate a campaign, you must register it with the Symphony API.
Use the provided script to do this:

chmod +x ./scripts/register-campaigns.sh 
./scripts/register-campaigns.sh

Open the app to check cluster

URL: http://localhost:8086 Purpose: Simulates the vehicle’s central HMI where the driver receives an OTA update prompt and can Accept or Reject. Behavior: Shows a pop-up only when all safety / policy conditions (battery, vehicle state, etc.) are satisfied and a campaign activation has been triggered.

Open the Management Platform

URL: http://localhost:9080 Purpose: Lets an operator view campaigns, evaluate policy eligibility, and trigger a software update activation. Action: On "Trigger Campaign" it authenticates with Symphony, registers an activation, and targets eligible vehicles.

Open the Simulated Instrument Cluster App

URL http://localhost:8000 Purpose: Workload that gets updated. Demonstration: After a successful activation + driver approval, the container / component redeploys to the new version.

Fast deploy

After installing all the dependecies run this for a faster setup:

./setup.sh

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5