-
Notifications
You must be signed in to change notification settings - Fork 907
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
9 changed files
with
249 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file modified
BIN
-271 KB
(30%)
src/plugins/data_source/docs/img/client_management_architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified
BIN
-240 KB
(34%)
src/plugins/data_source/docs/img/client_management_dataflow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
126 changes: 126 additions & 0 deletions
126
src/plugins/data_source/docs/resources/client_management_architecture.puml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
@startuml | ||
hide stereotype | ||
skinparam nodesep 6 | ||
skinparam ranksep 10 | ||
|
||
skinparam component { | ||
backgroundColor<<new>> Green | ||
backgroundColor<<modify>> Orange | ||
backgroundColor<<existing>> LightYellow | ||
backgroundColor<<external>> LightGrey | ||
backgroundColor<<AOS>> Khaki | ||
backgroundColor<<Data>> Grey | ||
backgroundColor<<CS>> LightGrey | ||
} | ||
skinparam rectangle { | ||
backgroundColor<<new>> Green | ||
backgroundColor<<modify>> Orange | ||
backgroundColor<<existing>> LightYellow | ||
backgroundColor<<external>> LightGrey | ||
backgroundColor<<AOS>> Khaki | ||
backgroundColor<<Data>> Grey | ||
backgroundColor<<CS>> LightGrey | ||
} | ||
skinparam node { | ||
backgroundColor<<new>> Green | ||
backgroundColor<<modify>> Orange | ||
backgroundColor<<existing>> LightYellow | ||
backgroundColor<<external>> LightGrey | ||
backgroundColor<<AOS>> Khaki | ||
backgroundColor<<Data>> Grey | ||
backgroundColor<<CS>> LightGrey | ||
} | ||
|
||
title ** OSD Multi Data Source Client Management Architecture ** | ||
|
||
node "Dashboards" as cluster { | ||
rectangle "Legend" { | ||
rectangle "New" as new <<new>> | ||
rectangle "Modified" as modify <<modify>> | ||
rectangle "Existing" as existing <<existing>> | ||
rectangle "External" as external <<external>> | ||
new -[hidden]right- modify | ||
modify -[hidden]right- existing | ||
existing -[hidden]right- external | ||
} | ||
|
||
rectangle "Other Plugins" <<existing>> { | ||
rectangle "visualization" as viz <<existing>> { | ||
|
||
} | ||
rectangle "Alerting or other" as a <<modify>> { | ||
|
||
} | ||
} | ||
rectangle "Data Plugin" <<Existing>> { | ||
rectangle "Search Module" as sm <<existing>> { | ||
rectangle "Search Source" <<modify>> as source { | ||
|
||
} | ||
rectangle "Search Strategy" as strategy <<modify>> { | ||
|
||
} | ||
|
||
} | ||
interface "DataPluginStart" as dps | ||
} | ||
|
||
rectangle "Core" <<existing>> as core { | ||
rectangle "OpenSearch Data Service" as ods <<new>> { | ||
component "DataSource Client" as dc <<new>> | ||
interface "ServiceStart" as odsss | ||
} | ||
rectangle "opensearch service" as os_service <<modify>> { | ||
|
||
component "internal/scoped client" as ic <<existing>> | ||
interface "ServiceStart" as osss | ||
|
||
} | ||
interface "CoreStart" as core_start | ||
rectangle "saved object service" as sos <<existing>> { | ||
interface "ServiceStart" as soss | ||
} | ||
|
||
interface "CoreRouteHandlerContext" as cc <<modify>> | ||
|
||
|
||
} | ||
|
||
rectangle "Credential Manager" <<new>> as cm { | ||
|
||
} | ||
|
||
ods --> cm: decrypt user credential | ||
dc --> es: query | ||
' os_service -[hidden]- cc | ||
source -> strategy: call | ||
strategy --> cc: get datasource client | ||
viz --> dps: speical viz types | ||
viz --> source | ||
dps --> sm | ||
sos --> os: get saved objects | ||
' d --> sos: get datasource | ||
core_start --> cc | ||
core_start <.. a: get client | ||
a ..> dps | ||
a ...> cc: get client | ||
core_start <-- osss: register | ||
osss <-- soss: depends | ||
soss <--- odsss: depends | ||
' soss <--> core_start | ||
' d ---> es: query | ||
ic --> os: query | ||
odsss --> core_start: register | ||
|
||
|
||
|
||
|
||
rectangle "Default OpenSearch" <<existing>> as os { | ||
} | ||
rectangle "Datasource(OpenSearch)" <<external>> as es { | ||
|
||
} | ||
} | ||
|
||
|
||
@enduml |
73 changes: 73 additions & 0 deletions
73
src/plugins/data_source/docs/resources/client_management_dataflow.puml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
@startuml | ||
autoactivate on | ||
|
||
title ** Multiple Datasource Visualization call sequence ** | ||
|
||
box "OSD Browser" | ||
participant "visualization" as viz | ||
' participant "Timeline/Vega/TSVB" as viz_s | ||
participant "expression" as e | ||
end box | ||
|
||
|
||
box "OSD Server-Data Plugin" #LightBlue | ||
participant "SearchSource\n(High Level API)" as s | ||
participant "Search Strategy\n(Low Level API)" as ss | ||
end box | ||
|
||
box "OSD Server-Core" #LightBlue | ||
participant "OpenSearch Service" as os | ||
participant "OpenSearch Data Service" as ods #LightGreen | ||
participant "Saved Object Service" as sos | ||
|
||
end box | ||
|
||
box "OpenSearch" | ||
database "OSD metadata" as oi | ||
database "data index" as default_di | ||
end box | ||
|
||
box "DataSource[OS]" | ||
database "data index" as datasource_di | ||
end box | ||
|
||
sos --> os: depends on | ||
ods --> sos: depends on | ||
|
||
viz -> e: execute expression pipeline | ||
e -> s: create SearchSource | ||
s -> ss: call .search() | ||
alt viz_type = Timelion/TSVB/Vega | ||
viz -> ss: call .search() | ||
end | ||
|
||
ss -> os: get client | ||
alt if (datasource == true) | ||
ss -> ods: get datasource client | ||
alt if exists in datasource client pool | ||
ods -> ods: find client | ||
end | ||
|
||
ods -> sos: call saved_obj_client | ||
sos -> oi: get datasource metadata | ||
oi --> sos: | ||
sos --> ods: datasource metadata | ||
ods --> ods: create datasource client \n and add to pool | ||
ods --> ss: return client | ||
|
||
end | ||
os --> ss: return client | ||
alt if (client is datasource Client) | ||
ss -> datasource_di: query | ||
datasource_di --> ss: data | ||
end | ||
|
||
ss -> default_di: query | ||
default_di --> ss: data | ||
|
||
ss --> s: data | ||
s --> e: data | ||
e --> viz: render data | ||
|
||
skinparam BoxPadding 15 | ||
@enduml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
@startuml | ||
title DataSource Management in Stack Management | ||
|
||
|
||
:DataSource Owner: as DSO | ||
:DataSource User: as DSU | ||
|
||
(Stack Management Page) as (Page-Stack) | ||
(DataSource Management Page) as (Page-DM) | ||
(Add new DataSource Page) as (Page-AND) | ||
(DataSource Grid View) as (Component-DSG) | ||
(DataSource Edit Page) as (Page-DSEP) | ||
(Delete DataSource Button) as (Component-DelDS) | ||
(Export DataSource Button) as (Component-ExDS) | ||
(Import DataSource Button) as (Component-ImDS) | ||
|
||
|
||
(DataSource Name) as (Component-DSName) | ||
(DataSource Type) as (Component-DSType) | ||
(DataSource Endpoint) as (Component-DSEndpoint) | ||
(DataSource Credential) as (Component-DSCredential) | ||
|
||
DSO -> (Page-Stack) | ||
(Page-Stack) -> (Page-DM) | ||
(Page-DM) -> (Page-AND) : Add | ||
(Page-AND) -> (Page-DM) : Save | ||
(Page-DM) ...> (Component-DSG): View | ||
(Page-DM) <..> (Component-DelDS) : Delete | ||
(Page-DM) <..> (Component-ExDS) : Export | ||
(Page-DM) <..> (Component-ImDS) : Import | ||
|
||
(Component-DSG) -> (Page-DSEP): Edit | ||
|
||
(Page-DSEP) .....> (Component-DSName) : Edit | ||
(Page-DSEP) .....> (Component-DSType): Edit | ||
(Page-DSEP) .....> (Component-DSEndpoint): Edit | ||
(Page-DSEP) .....> (Component-DSCredential): Select | ||
|
||
note top of DSO | ||
DataSource Owner who has access to manage | ||
all DataSources. | ||
When security enabled, user could only see | ||
DataSources added by them | ||
end note | ||
@enduml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters