56 lines
1.5 KiB
Plaintext
56 lines
1.5 KiB
Plaintext
|
@startuml
|
||
|
top to bottom direction
|
||
|
skinparam linetype ortho
|
||
|
|
||
|
node PilotNode as "Pilot Node" {
|
||
|
database DataStore as "Data Store"
|
||
|
|
||
|
component EmissaryServer as "Emissary Server" {
|
||
|
|
||
|
component SpecificationRegistry as "Specification Registry" {
|
||
|
component UCISpecification as "UCI Spec"
|
||
|
|
||
|
component MDNSSpecification as "mDNS Spec"
|
||
|
|
||
|
component AppSpecification as "App Spec"
|
||
|
|
||
|
component ProxySpecification as "Proxy Spec"
|
||
|
}
|
||
|
|
||
|
component HTTPAPIHandler as "HTTP API Handler"
|
||
|
|
||
|
HTTPAPIHandler .down.> SpecificationRegistry: validates agents data with
|
||
|
|
||
|
HTTPAPIHandler .right.> DataStore: saves agent data in
|
||
|
}
|
||
|
}
|
||
|
|
||
|
node OpenWRTNode as "OpenWRT Node" {
|
||
|
component EmissaryAgent as "Emissary Agent" {
|
||
|
|
||
|
component StateManager as "State Manager"
|
||
|
|
||
|
StateManager --up-> HTTPAPIHandler: fetches specs from
|
||
|
|
||
|
component UCIController as "UCI Controller"
|
||
|
|
||
|
UCIController -up-> StateManager: reconciles with
|
||
|
|
||
|
component SysupgradeController as "Sysupgrade Controller"
|
||
|
|
||
|
SysupgradeController -up-> StateManager: reconciles with
|
||
|
|
||
|
component ProxyController as "Proxy Controller"
|
||
|
|
||
|
ProxyController -up-> StateManager: reconciles with
|
||
|
|
||
|
component MDNSController as "mDNS Controller"
|
||
|
|
||
|
MDNSController -up-> StateManager: reconciles with
|
||
|
|
||
|
component AppController as "App Controller"
|
||
|
|
||
|
AppController -up-> StateManager: reconciles with
|
||
|
}
|
||
|
}
|