|
|
|
@ -11,55 +11,31 @@ state AppDir { |
|
|
|
|
AppRun : * Set PATH to APPDIR/bin |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
state "./bin/cryptic-net-main entrypoint daemon -c ./daemon.yml" as entrypoint { |
|
|
|
|
state "./bin/entrypoint daemon -c ./daemon.yml" as entrypoint { |
|
|
|
|
entrypoint : * Create runtime dir at $_RUNTIME_DIR_PATH |
|
|
|
|
entrypoint : * Lock runtime dir |
|
|
|
|
entrypoint : * Merge given and default daemon.yml files |
|
|
|
|
entrypoint : * Copy bootstrap.tgz into $_DATA_DIR_PATH, if it's not there |
|
|
|
|
entrypoint : * Merge daemon.yml config into bootstrap.tgz |
|
|
|
|
entrypoint : * Create $_RUNTIME_DIR_PATH/dnsmasq.conf |
|
|
|
|
entrypoint : * Create $_RUNTIME_DIR_PATH/nebula.yml |
|
|
|
|
entrypoint : * Create $_RUNTIME_DIR_PATH/garage-N.toml\n (one per storage allocation) |
|
|
|
|
entrypoint : * Run child processes |
|
|
|
|
entrypoint : * (in the background) Updates garage cluster layout |
|
|
|
|
entrypoint : * (in the background) Stores host info in global bucket |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
init --> AppRun : exec |
|
|
|
|
AppRun --> entrypoint : exec |
|
|
|
|
|
|
|
|
|
state "./bin/dnsmasq-entrypoint" as dnsmasqEntrypoint { |
|
|
|
|
dnsmasqEntrypoint : * Create $_RUNTIME_DIR_PATH/dnsmasq.conf |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
state "./bin/dnsmasq -d -C $_RUNTIME_DIR_PATH/dnsmasq.conf" as dnsmasq |
|
|
|
|
|
|
|
|
|
entrypoint --> dnsmasqEntrypoint : child |
|
|
|
|
dnsmasqEntrypoint --> dnsmasq : exec |
|
|
|
|
|
|
|
|
|
state "./bin/cryptic-net-main nebula-entrypoint" as nebulaEntrypoint { |
|
|
|
|
nebulaEntrypoint : * Create $_RUNTIME_DIR_PATH/nebula.yml |
|
|
|
|
} |
|
|
|
|
entrypoint --> dnsmasq : child |
|
|
|
|
|
|
|
|
|
state "./bin/nebula -config $_RUNTIME_DIR_PATH/nebula.yml" as nebula |
|
|
|
|
entrypoint --> nebula : child |
|
|
|
|
|
|
|
|
|
entrypoint --> nebulaEntrypoint : child |
|
|
|
|
nebulaEntrypoint --> nebula : exec |
|
|
|
|
|
|
|
|
|
state "Garage processes (only if any storage allocs are defined)" as garageChildren { |
|
|
|
|
|
|
|
|
|
state "./bin/garage -c $_RUNTIME_DIR_PATH/garage-N.toml server" as garage |
|
|
|
|
state "./bin/garage-apply-layout-diff" as garageApplyLayoutDiff { |
|
|
|
|
garageApplyLayoutDiff : * Runs once then exits |
|
|
|
|
garageApplyLayoutDiff : * Updates cluster topo |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
state "./bin/garage -c $_RUNTIME_DIR_PATH/garage-N.toml server" as garage |
|
|
|
|
entrypoint --> garage : child (one per storage allocation) |
|
|
|
|
entrypoint --> garageApplyLayoutDiff : child |
|
|
|
|
|
|
|
|
|
state "./bin/cryptic-net-main update-global-bucket" as updateGlobalBucket { |
|
|
|
|
updateGlobalBucket : * Runs once then exits |
|
|
|
|
updateGlobalBucket : * Updates the bootstrap data for the host in garage for other hosts to query |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
entrypoint --> updateGlobalBucket : child |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@enduml |
|
|
|
|