From f3c0e1487b7e4e3ecaf5cdcb8f1c43cf97a08624 Mon Sep 17 00:00:00 2001 From: Dario Pranjic Date: Tue, 16 Dec 2025 16:28:19 +0100 Subject: [PATCH 1/5] Add runtime status service --- proto/aquila/aquila.runtime_status.proto | 55 +++++++++++++++++++ .../sagittarius.runtime_status.proto | 55 +++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 proto/aquila/aquila.runtime_status.proto create mode 100644 proto/sagittarius/sagittarius.runtime_status.proto diff --git a/proto/aquila/aquila.runtime_status.proto b/proto/aquila/aquila.runtime_status.proto new file mode 100644 index 0000000..88a58dd --- /dev/null +++ b/proto/aquila/aquila.runtime_status.proto @@ -0,0 +1,55 @@ +syntax = "proto3"; + +package aquila; + +option ruby_package = "Tucana::Aquila"; + +message AdapaterStatusInformation { + oneof data { + string endpoint = 1; // e.g. URL, cron expression, ... + } +} + +enum Status { + UNKNOWN = 0; + NOT_RESPONDING = 1; + NOT_READY = 2; + RUNNING = 3; + STOPPED = 4; +} + +message AdapterRuntimeStatus { + Status status = 1; + string timestamp = 2; // epoch timestamp in milliseconds + + string identifier = 3; // unique identifier of the adapter + + // All the supported features: e.g. ['http'] / ['cron'] / ['http', 'cron'] + repeated string feature_set = 4; + repeated AdapaterStatusInformation informations = 5; +} + +message ExecutionRuntimeStatus { + Status status = 1; + string timestamp = 2; // epoch timestamp in milliseconds + + string identifier = 3; // unique identifier of the adapter + + // All the supported features: e.g. ['http'] / ['cron'] / ['http', 'cron'] + repeated string feature_set = 4; +} + +message RuntimeStatusUpdateRequest { + oneof status { + AdapterRuntimeStatus adapter_runtime_status = 1; + ExecutionRuntimeStatus execution_runtime_status = 2; + } +} + +message RuntimeStatusUpdateResponse { + bool success = 1; +} + +service RuntimeStatusService { + rpc Update(RuntimeStatusUpdateRequest) returns (RuntimeStatusUpdateResponse) {} +} diff --git a/proto/sagittarius/sagittarius.runtime_status.proto b/proto/sagittarius/sagittarius.runtime_status.proto new file mode 100644 index 0000000..68a9ece --- /dev/null +++ b/proto/sagittarius/sagittarius.runtime_status.proto @@ -0,0 +1,55 @@ +syntax = "proto3"; + +package sagittarius; + +option ruby_package = "Tucana::Sagittarius"; + +message AdapaterStatusInformation { + oneof data { + string endpoint = 1; // e.g. URL, cron expression, ... + } +} + +enum Status { + UNKNOWN = 0; + NOT_RESPONDING = 1; + NOT_READY = 2; + RUNNING = 3; + STOPPED = 4; +} + +message AdapterRuntimeStatus { + Status status = 1; + string timestamp = 2; // epoch timestamp in milliseconds + + string identifier = 3; // unique identifier of the adapter + + // All the supported features: e.g. ['http'] / ['cron'] / ['http', 'cron'] + repeated string feature_set = 4; + repeated AdapaterStatusInformation informations = 5; +} + +message ExecutionRuntimeStatus { + Status status = 1; + string timestamp = 2; // epoch timestamp in milliseconds + + string identifier = 3; // unique identifier of the adapter + + // All the supported features: e.g. ['http'] / ['cron'] / ['http', 'cron'] + repeated string feature_set = 4; +} + +message RuntimeStatusUpdateRequest { + oneof status { + AdapterRuntimeStatus adapter_runtime_status = 1; + ExecutionRuntimeStatus execution_runtime_status = 2; + } +} + +message RuntimeStatusUpdateResponse { + bool success = 1; +} + +service RuntimeStatusService { + rpc Update(RuntimeStatusUpdateRequest) returns (RuntimeStatusUpdateResponse) {} +} From dbe643977fa9840d4da04478ece28a629029f584 Mon Sep 17 00:00:00 2001 From: Dario Pranjic <96529060+Knerio@users.noreply.github.com> Date: Tue, 16 Dec 2025 17:45:27 +0100 Subject: [PATCH 2/5] Update aquila.runtime_status.proto Signed-off-by: Dario Pranjic <96529060+Knerio@users.noreply.github.com> --- proto/aquila/aquila.runtime_status.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proto/aquila/aquila.runtime_status.proto b/proto/aquila/aquila.runtime_status.proto index 88a58dd..3a2d8ca 100644 --- a/proto/aquila/aquila.runtime_status.proto +++ b/proto/aquila/aquila.runtime_status.proto @@ -6,7 +6,7 @@ option ruby_package = "Tucana::Aquila"; message AdapaterStatusInformation { oneof data { - string endpoint = 1; // e.g. URL, cron expression, ... + string endpoint = 1; // e.g. URL, ... } } From 8198d77a984b40ebb7ba7c3575db3589da9e71e4 Mon Sep 17 00:00:00 2001 From: Dario Pranjic Date: Tue, 16 Dec 2025 21:05:06 +0100 Subject: [PATCH 3/5] Move code to shared folder --- proto/aquila/aquila.runtime_status.proto | 41 ++----------------- .../sagittarius.runtime_status.proto | 41 ++----------------- proto/shared/shared.runtime_status.proto | 40 ++++++++++++++++++ 3 files changed, 48 insertions(+), 74 deletions(-) create mode 100644 proto/shared/shared.runtime_status.proto diff --git a/proto/aquila/aquila.runtime_status.proto b/proto/aquila/aquila.runtime_status.proto index 3a2d8ca..f916dd9 100644 --- a/proto/aquila/aquila.runtime_status.proto +++ b/proto/aquila/aquila.runtime_status.proto @@ -2,47 +2,14 @@ syntax = "proto3"; package aquila; -option ruby_package = "Tucana::Aquila"; - -message AdapaterStatusInformation { - oneof data { - string endpoint = 1; // e.g. URL, ... - } -} - -enum Status { - UNKNOWN = 0; - NOT_RESPONDING = 1; - NOT_READY = 2; - RUNNING = 3; - STOPPED = 4; -} - -message AdapterRuntimeStatus { - Status status = 1; - string timestamp = 2; // epoch timestamp in milliseconds +import "shared.runtime_status.proto"; - string identifier = 3; // unique identifier of the adapter - - // All the supported features: e.g. ['http'] / ['cron'] / ['http', 'cron'] - repeated string feature_set = 4; - repeated AdapaterStatusInformation informations = 5; -} - -message ExecutionRuntimeStatus { - Status status = 1; - string timestamp = 2; // epoch timestamp in milliseconds - - string identifier = 3; // unique identifier of the adapter - - // All the supported features: e.g. ['http'] / ['cron'] / ['http', 'cron'] - repeated string feature_set = 4; -} +option ruby_package = "Tucana::Aquila"; message RuntimeStatusUpdateRequest { oneof status { - AdapterRuntimeStatus adapter_runtime_status = 1; - ExecutionRuntimeStatus execution_runtime_status = 2; + shared.AdapterRuntimeStatus adapter_runtime_status = 1; + shared.ExecutionRuntimeStatus execution_runtime_status = 2; } } diff --git a/proto/sagittarius/sagittarius.runtime_status.proto b/proto/sagittarius/sagittarius.runtime_status.proto index 68a9ece..fa5e4a6 100644 --- a/proto/sagittarius/sagittarius.runtime_status.proto +++ b/proto/sagittarius/sagittarius.runtime_status.proto @@ -2,47 +2,14 @@ syntax = "proto3"; package sagittarius; -option ruby_package = "Tucana::Sagittarius"; - -message AdapaterStatusInformation { - oneof data { - string endpoint = 1; // e.g. URL, cron expression, ... - } -} - -enum Status { - UNKNOWN = 0; - NOT_RESPONDING = 1; - NOT_READY = 2; - RUNNING = 3; - STOPPED = 4; -} - -message AdapterRuntimeStatus { - Status status = 1; - string timestamp = 2; // epoch timestamp in milliseconds +import "shared.runtime_status.proto"; - string identifier = 3; // unique identifier of the adapter - - // All the supported features: e.g. ['http'] / ['cron'] / ['http', 'cron'] - repeated string feature_set = 4; - repeated AdapaterStatusInformation informations = 5; -} - -message ExecutionRuntimeStatus { - Status status = 1; - string timestamp = 2; // epoch timestamp in milliseconds - - string identifier = 3; // unique identifier of the adapter - - // All the supported features: e.g. ['http'] / ['cron'] / ['http', 'cron'] - repeated string feature_set = 4; -} +option ruby_package = "Tucana::Sagittarius"; message RuntimeStatusUpdateRequest { oneof status { - AdapterRuntimeStatus adapter_runtime_status = 1; - ExecutionRuntimeStatus execution_runtime_status = 2; + shared.AdapterRuntimeStatus adapter_runtime_status = 1; + shared.ExecutionRuntimeStatus execution_runtime_status = 2; } } diff --git a/proto/shared/shared.runtime_status.proto b/proto/shared/shared.runtime_status.proto new file mode 100644 index 0000000..79ef2b8 --- /dev/null +++ b/proto/shared/shared.runtime_status.proto @@ -0,0 +1,40 @@ +syntax = "proto3"; + +package shared; + +option ruby_package = "Tucana::Shared"; + +message AdapterConfiguration { + oneof data { + string endpoint = 1; // e.g. URL, ... + } +} + +enum Status { + UNKNOWN = 0; + NOT_RESPONDING = 1; + NOT_READY = 2; + RUNNING = 3; + STOPPED = 4; +} + +message AdapterRuntimeStatus { + Status status = 1; + string timestamp = 2; // epoch timestamp in milliseconds + + string identifier = 3; // unique identifier of the adapter + + // All the supported features: e.g. ['http'] / ['cron'] / ['http', 'cron'] + repeated string features = 4; + repeated AdapterConfiguration configurations = 5; +} + +message ExecutionRuntimeStatus { + Status status = 1; + string timestamp = 2; // epoch timestamp in milliseconds + + string identifier = 3; // unique identifier of the adapter + + // All the supported features: e.g. ['http'] / ['cron'] / ['http', 'cron'] + repeated string features = 4; +} From 652c3ffec89966b5034936e9b49b6daf1d7a95cf Mon Sep 17 00:00:00 2001 From: Dario Pranjic Date: Wed, 17 Dec 2025 13:23:39 +0100 Subject: [PATCH 4/5] Rename Status to RuntimeStatus --- proto/shared/shared.runtime_status.proto | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/proto/shared/shared.runtime_status.proto b/proto/shared/shared.runtime_status.proto index 79ef2b8..068b2ad 100644 --- a/proto/shared/shared.runtime_status.proto +++ b/proto/shared/shared.runtime_status.proto @@ -10,7 +10,7 @@ message AdapterConfiguration { } } -enum Status { +enum RuntimeStatus { UNKNOWN = 0; NOT_RESPONDING = 1; NOT_READY = 2; @@ -19,7 +19,7 @@ enum Status { } message AdapterRuntimeStatus { - Status status = 1; + RuntimeStatus status = 1; string timestamp = 2; // epoch timestamp in milliseconds string identifier = 3; // unique identifier of the adapter @@ -30,7 +30,7 @@ message AdapterRuntimeStatus { } message ExecutionRuntimeStatus { - Status status = 1; + RuntimeStatus status = 1; string timestamp = 2; // epoch timestamp in milliseconds string identifier = 3; // unique identifier of the adapter From 3b5222cc2d6916dd19d6a19faf1278cd70fe1a62 Mon Sep 17 00:00:00 2001 From: Dario Pranjic Date: Thu, 18 Dec 2025 20:22:13 +0100 Subject: [PATCH 5/5] Extract features to a message instead of string[] --- proto/shared/shared.runtime_status.proto | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/proto/shared/shared.runtime_status.proto b/proto/shared/shared.runtime_status.proto index 068b2ad..748a8b4 100644 --- a/proto/shared/shared.runtime_status.proto +++ b/proto/shared/shared.runtime_status.proto @@ -4,6 +4,8 @@ package shared; option ruby_package = "Tucana::Shared"; +import "shared.translation.proto"; + message AdapterConfiguration { oneof data { string endpoint = 1; // e.g. URL, ... @@ -18,23 +20,26 @@ enum RuntimeStatus { STOPPED = 4; } +message RuntimeFeature { + repeated shared.Translation name = 1; + repeated shared.Translation description = 2; +} + message AdapterRuntimeStatus { RuntimeStatus status = 1; - string timestamp = 2; // epoch timestamp in milliseconds + int64 timestamp = 2; // epoch timestamp in milliseconds string identifier = 3; // unique identifier of the adapter - // All the supported features: e.g. ['http'] / ['cron'] / ['http', 'cron'] - repeated string features = 4; + repeated RuntimeFeature features = 4; repeated AdapterConfiguration configurations = 5; } message ExecutionRuntimeStatus { RuntimeStatus status = 1; - string timestamp = 2; // epoch timestamp in milliseconds + int64 timestamp = 2; // epoch timestamp in milliseconds string identifier = 3; // unique identifier of the adapter - // All the supported features: e.g. ['http'] / ['cron'] / ['http', 'cron'] - repeated string features = 4; + repeated RuntimeFeature features = 4; }