From fba0429e3b39eb54b481bb0e4d1750686bb8aef8 Mon Sep 17 00:00:00 2001 From: Erik Jaegervall Date: Fri, 16 Feb 2024 16:29:08 +0100 Subject: [PATCH] Deprecate KUKSA Server --- README.md | 2 +- doc/server-vs-broker.md | 11 +++++------ kuksa-val-server/README.md | 14 ++++++++++++++ kuksa-val-server/src/main.cpp | 12 +++++++----- 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index d7046cadb..865bec362 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ KUKSA.val contains several components | 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 Server](kuksa-val-server) | Feature rich in-vehicle data server written in C++ providing authorized access to VSS data using W3C VISS websocket protocol **Note: KUKSA Server is deprecated and will reach End-of-Life 2024-12-31!** | [KUKSA Python SDK](https://github.com/eclipse-kuksa/kuksa-python-sdk) | 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. *Note: Moved to a separate repository!* | [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 diff --git a/doc/server-vs-broker.md b/doc/server-vs-broker.md index 7071936dc..e1452c4ab 100644 --- a/doc/server-vs-broker.md +++ b/doc/server-vs-broker.md @@ -1,6 +1,6 @@ ## Why is there a need for the KUKSA.val databroker? The KUKSA.val KUKSA.val server started as a C++ VISS implementation, that later evolved and gained gRPC support. KUKSA.val databroker was a similar project trying to build a modern rust server for VSS data using a binary efficient gRPC protocol. Currently both projects are being joined, and will support the same GRPC API and Python library so you can exchange feeders and apps. -Check below for the difference in feature set. +Check below for the difference in feature set. ## What is the difference between the KUKSA.val server and KUKSA.val databroker? @@ -15,8 +15,7 @@ Main differences: For a detailed overview what the KUKSA.val server and KUKSA.val databroker support look [here](protocol/support.md) -## What is the plan for the future? (should be updated freuquently to let the community now what's planned) -Last updated: October 2022
-The KUKSA.val server will still be available for those who want to use the VISS. -The KUKSA.val databroker and the KUKSA.val server will support one unified gRPC API. -The KUKSA.val databroker will be extended to support the KUKSA.val server security model over JWT Tokens or similar. +## What is the plan for the future? (should be updated frequently to let the community now what's planned) +Last updated: February 2024
+ +**KUKSA Server is deprecated and will reach End-of-Life 2024-12-31!** diff --git a/kuksa-val-server/README.md b/kuksa-val-server/README.md index e0a7cbfec..0f1fe8628 100644 --- a/kuksa-val-server/README.md +++ b/kuksa-val-server/README.md @@ -1,6 +1,20 @@ # KUKSA.VAL ![kuksa.val Logo](../doc/pictures/logo.png) + +## Notice of Deprecation + +**NOTE: KUKSA Server is deprecated and will reach End-of-Life 2024-12-31!** + +Due to limited interest the KUKSA Project intends to declare that KUKSA Server has reached End-of-Life 2024-12-31! +This means KUKSA Server will not be updated after 2024-12-31 and Pull Requests will not +be accepted. Users are encouraged to migrate to KUKSA Server. + +If you have a strong interest in KUKSA Server and are willing be responsible for maintaining it please reach out to KUKSA project by commenting in +[Issue 737](https://github.com/eclipse/kuksa.val/issues/737). + +## Overview + kuksa-val-server is a feature rich in-vehicle data server written in C++ providing authorized access to vehicle data. diff --git a/kuksa-val-server/src/main.cpp b/kuksa-val-server/src/main.cpp index f3e6dd1e9..413174642 100644 --- a/kuksa-val-server/src/main.cpp +++ b/kuksa-val-server/src/main.cpp @@ -33,7 +33,7 @@ #include #include #include -#include +#include #include "AccessChecker.hpp" #include "Authenticator.hpp" @@ -64,7 +64,7 @@ void ctrlC_Handler(sig_atomic_t signal) try { std::cout << "STOP ..." << std::endl; - boost::log::core::get()->remove_all_sinks(); + boost::log::core::get()->remove_all_sinks(); std::signal(signal, former_handler); std::raise(signal); } @@ -101,6 +101,8 @@ int main(int argc, const char *argv[]) { std::cout << "-dirty"; std::cout << " from " << GIT_COMMIT_DATE_ISO8601 << std::endl; + std::cout << "WARNING: KUKSA Server is deprecated and will reach End-of-Life 2024-12-31 " << std::endl; + former_handler = signal(SIGINT,ctrlC_Handler); (void) signal(SIGTERM,ctrlC_Handler); @@ -124,7 +126,7 @@ int main(int argc, const char *argv[]) { "If provided, `kuksa-val-server` shall use different server address than default _'localhost'_") ("port", program_options::value()->default_value(8090), "If provided, `kuksa-val-server` shall use different server port than default '8090' value") - ("record", program_options::value() -> default_value("noRecord"), + ("record", program_options::value() -> default_value("noRecord"), "Enables recording into log file, for later being replayed into the server \nnoRecord: no data will be recorded\nrecordSet: record setting values only\nrecordSetAndGet: record getting value and setting value") ("record-path",program_options::value() -> default_value("."), "Specifies record file path.") @@ -235,7 +237,7 @@ int main(int argc, const char *argv[]) { std::cout << "Recording inputs\n"; else if(variables["record"].as() == "recordSetAndGet") std::cout << "Recording in- and outputs\n"; - + database.reset(new VssDatabase_Record(logger,subHandler,variables["record-path"].as(),variables["record"].as())); } else if(variables["record"].as() !="noRecord") @@ -276,7 +278,7 @@ int main(int argc, const char *argv[]) { std::thread grpc(grpcHandler::RunServer, cmdProcessor, database, subHandler, logger, variables["cert-path"].as().string(),insecureConn); http.join(); grpc.join(); - + } } catch (const program_options::error &ex) {