isle/docs/dev/daemon-process-tree.svg

57 lines
11 KiB
XML
Raw Normal View History

2022-10-29 22:38:26 +00:00
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="646px" preserveAspectRatio="none" style="width:1327px;height:646px;background:#FFFFFF;" version="1.1" viewBox="0 0 1327 646" width="1327px" zoomAndPan="magnify"><defs/><g><!--MD5=[94d69829b8642ebae4272c0fe4460dd1]
cluster AppDir--><g id="cluster_AppDir"><path d="M19.5,110 L1301.5,110 A12.5,12.5 0 0 1 1314,122.5 L1314,136.2969 L7,136.2969 L7,122.5 A12.5,12.5 0 0 1 19.5,110 " fill="#F1F1F1" style="stroke:#F1F1F1;stroke-width:1.0;"/><rect height="530" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;fill:none;" width="1307" x="7" y="110"/><line style="stroke:#181818;stroke-width:0.5;fill:none;" x1="7" x2="1314" y1="136.2969" y2="136.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="46" x="637.5" y="126.9951">AppDir</text></g><g id="elem_N1"><path d="M862.5,159 L862.5,184.1328 L1225.5,184.1328 L1225.5,169 L1215.5,159 L862.5,159 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M1215.5,159 L1215.5,169 L1225.5,169 L1215.5,159 " fill="#FEFFDD" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="342" x="868.5" y="176.0669">All relative paths are relative to the root of the AppDir</text></g><rect fill="#F1F1F1" height="40" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="407" x="23.5" y="584"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="397" x="28.5" y="608.8467">./bin/dnsmasq -d -C $_RUNTIME_DIR_PATH/dnsmasq.conf</text><rect fill="#F1F1F1" height="40" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="380" x="466" y="584"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="370" x="471" y="608.8467">./bin/nebula -config $_RUNTIME_DIR_PATH/nebula.yml</text><rect fill="#F1F1F1" height="40" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="417" x="881.5" y="584"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="407" x="886.5" y="608.8467">./bin/garage -c $_RUNTIME_DIR_PATH/garage-N.toml server</text><g id="AppDir.AppRun"><rect fill="#F1F1F1" height="52.5938" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="196" x="558" y="145"/><line style="stroke:#181818;stroke-width:0.5;" x1="558" x2="754" y1="171.2969" y2="171.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="624" y="162.9951">./AppRun</text><ellipse cx="568.5" cy="185.0938" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="163" x="576" y="189.292">Set PATH to APPDIR/bin</text></g><g id="AppDir.entrypoint"><rect fill="#F1F1F1" height="231.8594" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="435" x="438.5" y="275"/><line style="stroke:#181818;stroke-width:0.5;" x1="438.5" x2="873.5" y1="301.2969" y2="301.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="280" x="516" y="292.9951">./bin/entrypoint daemon -c ./daemon.yml</text><ellipse cx="449" cy="315.0938" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="299" x="456.5" y="319.292">Create runtime dir at $_RUNTIME_DIR_PATH</text><ellipse cx="449" cy="331.3906" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="110" x="456.5" y="335.5889">Lock runtime dir</text><ellipse cx="449" cy="347.6875" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="285" x="456.5" y="351.8857">Merge given and default daemon.yml files</text><ellipse cx="449" cy="363.9844" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="402" x="456.5" y="368.1826">Copy bootstrap.yml
2022-10-29 22:38:26 +00:00
link init to AppRun--><g id="link_init_AppRun"><path d="M656,47.22 C656,70.96 656,111.66 656,139.76 " fill="none" id="init-to-AppRun" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="656,144.85,660,135.85,656,139.85,652,135.85,656,144.85" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="30" x="657" y="90.0669">exec</text></g><!--MD5=[973be3d7ea581194d5ee3fc39a24a200]
link AppRun to entrypoint--><g id="link_AppRun_entrypoint"><path d="M656,198.3 C656,216.63 656,242.69 656,269.72 " fill="none" id="AppRun-to-entrypoint" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="656,274.77,660,265.77,656,269.77,652,265.77,656,274.77" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="30" x="657" y="241.0669">exec</text></g><!--MD5=[e434b5382339aa93f4b4af3863d5866f]
link entrypoint to dnsmasq--><g id="link_entrypoint_dnsmasq"><path d="M438.36,499.05 C374.58,530.41 311.17,561.6 270.7,581.51 " fill="none" id="entrypoint-to-dnsmasq" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="265.88,583.88,275.7218,583.5083,270.3692,581.6783,272.1991,576.3256,265.88,583.88" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="29" x="354" y="550.0669">child</text></g><!--MD5=[2ec7f39cf7359814e08342510a2551d7]
2022-10-29 22:38:26 +00:00
link entrypoint to nebula--><g id="link_entrypoint_nebula"><path d="M656,507.07 C656,534.16 656,560.41 656,578.57 " fill="none" id="entrypoint-to-nebula" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="656,583.95,660,574.95,656,578.95,652,574.95,656,583.95" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="29" x="657" y="550.0669">child</text></g><!--MD5=[dfc682edd6f75b156d1c4e2d31fc76ae]
link entrypoint to garage--><g id="link_entrypoint_garage"><path d="M873.64,497.81 C939.21,529.69 1004.71,561.53 1046.18,581.69 " fill="none" id="entrypoint-to-garage" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="1050.86,583.97,1044.512,576.4398,1046.3625,581.7855,1041.0168,583.6359,1050.86,583.97" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="210" x="986" y="550.0669">child (one per storage allocation)</text></g><!--MD5=[650a2dffff1e79032957348684914406]
@startuml
hide empty description
state "./cryptic-net daemon -c ./daemon.yml" as init
state AppDir {
note "All relative paths are relative to the root of the AppDir" as N1
state "./AppRun" as AppRun {
AppRun : * Set PATH to APPDIR/bin
}
2022-10-29 22:38:26 +00:00
state "./bin/entrypoint daemon -c ./daemon.yml" as entrypoint {
entrypoint : * Create runtime dir at $_RUNTIME_DIR_PATH
entrypoint : * Lock runtime dir
2022-10-16 13:52:15 +00:00
entrypoint : * Merge given and default daemon.yml files
entrypoint : * Copy bootstrap.yml into $_DATA_DIR_PATH, if it's not there
entrypoint : * Merge daemon.yml config into bootstrap.yml
2022-10-29 22:38:26 +00:00
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
2022-10-29 22:38:26 +00:00
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 -d -C $_RUNTIME_DIR_PATH/dnsmasq.conf" as dnsmasq
2022-10-29 22:38:26 +00:00
entrypoint - -> dnsmasq : child
state "./bin/nebula -config $_RUNTIME_DIR_PATH/nebula.yml" as nebula
2022-10-29 22:38:26 +00:00
entrypoint - -> nebula : child
2022-10-29 22:38:26 +00:00
state "./bin/garage -c $_RUNTIME_DIR_PATH/garage-N.toml server" as garage
entrypoint - -> garage : child (one per storage allocation)
}
@enduml
2022-10-16 13:52:15 +00:00
PlantUML version 1.2022.5(Sat Apr 30 10:55:52 UTC 2022)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: ANSI_X3.4-1968
Language: en
Country: US
--></g></svg>