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

1 line
8.9 KiB
XML

<?xml version="1.0" encoding="us-ascii" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="508px" preserveAspectRatio="none" style="width:1280px;height:508px;background:#FFFFFF;" version="1.1" viewBox="0 0 1280 508" width="1280px" zoomAndPan="magnify"><defs/><g><!--cluster AppDir--><g id="cluster_AppDir"><path d="M19.5,110 L1254.5,110 A12.5,12.5 0 0 1 1267,122.5 L1267,131.7999 L7,131.7999 L7,122.5 A12.5,12.5 0 0 1 19.5,110 " fill="#F1F1F1" style="stroke:#F1F1F1;stroke-width:1.0;"/><rect fill="none" height="392" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="1260" x="7" y="110"/><line style="stroke:#181818;stroke-width:0.5;" x1="7" x2="1267" y1="131.7999" y2="131.7999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="43" x="615.5" y="127.9999">AppDir</text></g><g id="elem_N1"><path d="M64,244.2 L64,269.8 L380,269.8 L380,254.2 L370,244.2 L64,244.2 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M370,244.2 L370,254.2 L380,254.2 L370,244.2 " fill="#FEFFDD" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="295" x="70" y="262.2">All relative paths are relative to the root of the AppDir</text></g><g id="AppDir.entrypoint"><rect fill="#F1F1F1" height="224.0012" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="356" x="455" y="145"/><line style="stroke:#181818;stroke-width:0.5;" x1="455" x2="811" y1="171.7999" y2="171.7999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="247" x="509.5" y="163.9999">./bin/entrypoint daemon -c ./daemon.yml</text><ellipse cx="465.5" cy="183.7" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="93" x="472" y="188.8">Create runtime dir</text><ellipse cx="465.5" cy="198.1001" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="83" x="472" y="203.2001">Lock runtime dir</text><ellipse cx="465.5" cy="212.5002" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="216" x="472" y="217.6002">Merge given and default daemon.yml files</text><ellipse cx="465.5" cy="226.9003" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="276" x="472" y="232.0003">Copy bootstrap.json into state directory, if it's not there</text><ellipse cx="465.5" cy="241.3004" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="231" x="472" y="246.4004">Merge daemon.yml config into bootstrap.json</text><ellipse cx="465.5" cy="255.7005" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="255" x="472" y="260.8005">Create $RUNTIME_DIRECTORY/dnsmasq.conf</text><ellipse cx="465.5" cy="270.1006" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="239" x="472" y="275.2006">Create $RUNTIME_DIRECTORY/nebula.yml</text><ellipse cx="465.5" cy="284.5007" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="258" x="472" y="289.6007">Create $RUNTIME_DIRECTORY/garage-N.toml</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="141" x="466" y="304.0008">(one per storage allocation)</text><ellipse cx="465.5" cy="313.3009" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="121" x="472" y="318.4009">Spawn child processes</text><ellipse cx="465.5" cy="327.701" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="188" x="472" y="332.801">Wait for nebula &amp; garage to initialize</text><ellipse cx="465.5" cy="342.1011" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="157" x="472" y="347.2011">Updates garage cluster layout</text><ellipse cx="465.5" cy="356.5012" fill="#000000" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:0.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="324" x="472" y="361.6012">Stores host info in global bucket, based on latest bootstrap.json</text></g><rect fill="#F1F1F1" height="40" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="391" x="23.5" y="446"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="381" x="28.5" y="471.6">./bin/dnsmasq -d -C $RUNTIME_DIRECTORY/dnsmasq.conf</text><rect fill="#F1F1F1" height="40" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="366" x="450" y="446"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="356" x="455" y="471.6">./bin/nebula -config $RUNTIME_DIRECTORY/nebula.yml</text><rect fill="#F1F1F1" height="40" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="401" x="850.5" y="446"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="391" x="855.5" y="471.6">./bin/garage -c $RUNTIME_DIRECTORY/garage-N.toml server</text><rect fill="#F1F1F1" height="40" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="193" x="536.5" y="7"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="183" x="541.5" y="32.6">./isle daemon -c ./daemon.yml</text><!--link init to entrypoint--><g id="link_init_entrypoint"><path d="M633,47.44 C633,69.46 633,101.16 633,138.51 " fill="none" id="init-to-entrypoint" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="633,144.51,637,135.51,633,139.51,629,135.51,633,144.51" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="27" x="634" y="91">exec</text></g><!--link entrypoint to dnsmasq--><g id="link_entrypoint_dnsmasq"><path d="M454.72,347.14 C381.36,383.82 308.4468,420.2772 263.0968,442.9472 " fill="none" id="entrypoint-to-dnsmasq" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="257.73,445.63,267.5687,445.1837,262.2023,443.3943,263.9917,438.0279,257.73,445.63" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="27" x="343" y="413">child</text></g><!--link entrypoint to nebula--><g id="link_entrypoint_nebula"><path d="M633,369.38 C633,398.85 633,421.47 633,439.59 " fill="none" id="entrypoint-to-nebula" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="633,445.59,637,436.59,633,440.59,629,436.59,633,445.59" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="27" x="634" y="413">child</text></g><!--link entrypoint to garage--><g id="link_entrypoint_garage"><path d="M811.48,346.39 C886.04,383.31 960.5134,420.1868 1006.6034,443.0168 " fill="none" id="entrypoint-to-garage" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="1011.98,445.68,1005.6906,438.1008,1007.4995,443.4607,1002.1397,445.2696,1011.98,445.68" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="183" x="950" y="413">child (one per storage allocation)</text></g><!--SRC=[bLHDRzGm4BtdLumg11GrMN7j0QdQzb29BjBI2Y5LGeupoPew7cDF2g7gVyUEix2jabtgap_6xxrvC_P6LGZOMkwXGY-Tigp8P9bdmGX7nK9vZL09RCb0Bg5Of7dHj_e8X0Tb56_3pwmzLmuUiWp2C1GHphG6XrgmkaUmWZSUXCD_Mqp0cx0cOg1wc2UO0NtrFc7zbLCgiq33hhUa3EyJjXFrC634iRDv2kzWwJ3YkiwmQaEQoir5VYHvzpznL-WQX2PaPa2OAfXQYqvlXKPnK2kDVbOHsHxAO8Pd9spntOVimXcD3WHcb4okFm5LW-8tFjeSNNEuNzAE04ccLas2VKfrmATNwvlLzUNLnRVpo_N5ylhJ-kkYChuL_aSHCLz-ss3PQH55lVnk8vneC5yLJAs-DG1loOGEGnUiedW4GckI8lRpyHpyPoj-6f0RfIkmZYHwFr-RBq8nrEGWoORNa3J47exFG0cjVi-MuSPM8HE_lIDrvpc8rQAdZcVrXLJ2dGrv3XHrv856Koaqb9syGpw1KdYi8BI9Zl0yLT77z8YYHiZp3qz9y1VAYKSs5XRo2lBbeSeF3sxSo9wb4GctOAV9wWcwqT9yxCszlJAmfUKKsGWrppLM87mQXzeAFBfxJ5zHEfWY7F56mlrz-9Zz0G00]--></g></svg>