2021-04-20 21:31:37 +00:00
|
|
|
@startuml
|
|
|
|
hide empty description
|
|
|
|
|
2023-08-05 21:53:17 +00:00
|
|
|
state "./isle daemon -c ./daemon.yml" as init
|
2021-04-20 21:31:37 +00:00
|
|
|
|
|
|
|
state AppDir {
|
|
|
|
|
|
|
|
note "All relative paths are relative to the root of the AppDir" as N1
|
|
|
|
|
2022-10-29 22:38:26 +00:00
|
|
|
state "./bin/entrypoint daemon -c ./daemon.yml" as entrypoint {
|
2024-06-17 12:13:53 +00:00
|
|
|
entrypoint : * Create runtime dir
|
2021-04-20 21:31:37 +00:00
|
|
|
entrypoint : * Lock runtime dir
|
2022-10-16 13:52:15 +00:00
|
|
|
entrypoint : * Merge given and default daemon.yml files
|
2024-06-17 12:13:53 +00:00
|
|
|
entrypoint : * Copy bootstrap.json into state directory, if it's not there
|
2024-06-10 16:56:36 +00:00
|
|
|
entrypoint : * Merge daemon.yml config into bootstrap.json
|
2024-06-17 12:13:53 +00:00
|
|
|
entrypoint : * Create $RUNTIME_DIRECTORY/dnsmasq.conf
|
|
|
|
entrypoint : * Create $RUNTIME_DIRECTORY/nebula.yml
|
|
|
|
entrypoint : * Create $RUNTIME_DIRECTORY/garage-N.toml\n (one per storage allocation)
|
|
|
|
entrypoint : * Spawn child processes
|
|
|
|
entrypoint : * Wait for nebula & garage to initialize
|
|
|
|
entrypoint : * Updates garage cluster layout
|
|
|
|
entrypoint : * Stores host info in global bucket, based on latest bootstrap.json
|
2021-04-20 21:31:37 +00:00
|
|
|
}
|
|
|
|
|
2024-06-17 12:13:53 +00:00
|
|
|
init --> entrypoint : exec
|
2021-04-20 21:31:37 +00:00
|
|
|
|
2024-06-17 12:13:53 +00:00
|
|
|
state "./bin/dnsmasq -d -C $RUNTIME_DIRECTORY/dnsmasq.conf" as dnsmasq
|
2022-10-29 22:38:26 +00:00
|
|
|
entrypoint --> dnsmasq : child
|
2021-04-20 21:31:37 +00:00
|
|
|
|
2024-06-17 12:13:53 +00:00
|
|
|
state "./bin/nebula -config $RUNTIME_DIRECTORY/nebula.yml" as nebula
|
2022-10-29 22:38:26 +00:00
|
|
|
entrypoint --> nebula : child
|
2021-04-20 21:31:37 +00:00
|
|
|
|
2024-06-17 12:13:53 +00:00
|
|
|
state "./bin/garage -c $RUNTIME_DIRECTORY/garage-N.toml server" as garage
|
2022-10-16 18:33:31 +00:00
|
|
|
entrypoint --> garage : child (one per storage allocation)
|
2021-04-20 21:31:37 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@enduml
|