cluster AppDir--><gid="cluster_AppDir"><pathd="M19.5,110 L1669.5,110 A12.5,12.5 0 0 1 1682,122.5 L1682,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;"/><rectheight="623"rx="12.5"ry="12.5"style="stroke:#181818;stroke-width:0.5;fill:none;"width="1675"x="7"y="110"/><linestyle="stroke:#181818;stroke-width:0.5;fill:none;"x1="7"x2="1682"y1="136.2969"y2="136.2969"/><textfill="#000000"font-family="sans-serif"font-size="14"lengthAdjust="spacing"textLength="46"x="821.5"y="126.9951">AppDir</text></g><gid="elem_N1"><pathd="M1156.5,159 L1156.5,184.1328 L1519.5,184.1328 L1519.5,169 L1509.5,159 L1156.5,159 "fill="#FEFFDD"style="stroke:#181818;stroke-width:0.5;"/><pathd="M1509.5,159 L1509.5,169 L1519.5,169 L1509.5,159 "fill="#FEFFDD"style="stroke:#181818;stroke-width:1.0;"/><textfill="#000000"font-family="sans-serif"font-size="13"lengthAdjust="spacing"textLength="342"x="1162.5"y="176.0669">All relative paths are relative to the root of the AppDir</text></g><rectfill="#F1F1F1"height="40"rx="12.5"ry="12.5"style="stroke:#181818;stroke-width:0.5;"width="407"x="23.5"y="662.5"/><textfill="#000000"font-family="sans-serif"font-size="14"lengthAdjust="spacing"textLength="397"x="28.5"y="687.3467">./bin/dnsmasq -d -C $_RUNTIME_DIR_PATH/dnsmasq.conf</text><rectfill="#F1F1F1"height="40"rx="12.5"ry="12.5"style="stroke:#181818;stroke-width:0.5;"width="380"x="466"y="662.5"/><textfill="#000000"font-family="sans-serif"font-size="14"lengthAdjust="spacing"textLength="370"x="471"y="687.3467">./bin/nebula -config $_RUNTIME_DIR_PATH/nebula.yml</text><rectfill="#F1F1F1"height="40"rx="12.5"ry="12.5"style="stroke:#181818;stroke-width:0.5;"width="417"x="881.5"y="662.5"/><textfill="#000000"font-family="sans-serif"font-size="14"lengthAdjust="spacing"textLength="407"x="886.5"y="687.3467">./bin/garage -c $_RUNTIME_DIR_PATH/garage-N.toml server</text><gid="AppDir.AppRun"><rectfill="#F1F1F1"height="52.5938"rx="12.5"ry="12.5"style="stroke:#181818;stroke-width:0.5;"width="196"x="618"y="145"/><linestyle="stroke:#181818;stroke-width:0.5;"x1="618"x2="814"y1="171.2969"y2="171.2969"/><textfill="#000000"font-family="sans-serif"font-size="14"lengthAdjust="spacing"textLength="64"x="684"y="162.9951">./AppRun</text><ellipsecx="628.5"cy="185.0938"fill="#000000"rx="2.5"ry="2.5"style="stroke:#000000;stroke-width:0.0;"/><textfill="#000000"font-family="sans-serif"font-size="14"lengthAdjust="spacing"textLength="163"x="636"y="189.292">Set PATH to APPDIR/bin</text></g><gid="AppDir.entrypoint"><rectfill="#F1F1F1"height="134.0781"rx="12.5"ry="12.5"style="stroke:#181818;stroke-width:0.5;"width="434"x="499"y="275"/><linestyle="stroke:#181818;stroke-width:0.5;"x1="499"x2="933"y1="301.2969"y2="301.2969"/><textfill="#000000"font-family="sans-serif"font-size="14"lengthAdjust="spacing"textLength="395"x="518.5"y="292.9951">./bin/cryptic-net-main entrypoint daemon -c ./daemon.yml</text><ellipsecx="509.5"cy="315.0938"fill="#000000"rx="2.5"ry="2.5"style="stroke:#000000;stroke-width:0.0;"/><textfill="#000000"font-family="sans-serif"font-size="14"lengthAdjust="spacing"textLength="299"x="517"y="319.292">Create runtime dir at $_RUNTIME_DIR_PATH</text><ellipsecx="509.5"cy="331.3906"fill="#000000"rx="2.5"ry="2.5"style="stroke:#000000;stroke-width:0.0;"/><textfill="#000000"font-family="sans-serif"font-size="14"lengthAdjust="spacing"textLength="110"x="517"y="335.5889">Lock runtime dir</text><ellipsecx="509.5"cy="347.6875"fill="#000000"rx="2.5"ry="2.5"style="stroke:#000000;stroke-width:0.0;"/><textfill="#000000"font-family="sans-serif"font-size="14"lengthAdjust="spacing"textLength="285"x="517"y="351.8857">Merge given and default daemon.yml files</text><ellipsecx="509.5"cy="363.9844"fill="#000000"rx="2.5"ry="2.5"style="stroke:#000000;stroke-width:0.0;"/><textfill="#000000"font-family="sans-serif"font-size="14"lengthAdjust="spacing"textLength="401"x="517"y="368.18
link init to AppRun--><gid="link_init_AppRun"><pathd="M716,47.22 C716,70.96 716,111.66 716,139.76 "fill="none"id="init-to-AppRun"style="stroke:#181818;stroke-width:1.0;"/><polygonfill="#181818"points="716,144.85,720,135.85,716,139.85,712,135.85,716,144.85"style="stroke:#181818;stroke-width:1.0;"/><textfill="#000000"font-family="sans-serif"font-size="13"lengthAdjust="spacing"textLength="30"x="717"y="90.0669">exec</text></g><!--MD5=[973be3d7ea581194d5ee3fc39a24a200]
link AppRun to entrypoint--><gid="link_AppRun_entrypoint"><pathd="M716,198.09 C716,217.17 716,244.2 716,269.64 "fill="none"id="AppRun-to-entrypoint"style="stroke:#181818;stroke-width:1.0;"/><polygonfill="#181818"points="716,274.7,720,265.7,716,269.7,712,265.7,716,274.7"style="stroke:#181818;stroke-width:1.0;"/><textfill="#000000"font-family="sans-serif"font-size="13"lengthAdjust="spacing"textLength="30"x="717"y="241.0669">exec</text></g><!--MD5=[083a25c5b19d53ca66969ca5947a1cf6]
link entrypoint to dnsmasqEntrypoint--><gid="link_entrypoint_dnsmasqEntrypoint"><pathd="M528.66,409.09 C439.64,440.49 338.12,476.3 270.26,500.25 "fill="none"id="entrypoint-to-dnsmasqEntrypoint"style="stroke:#181818;stroke-width:1.0;"/><polygonfill="#181818"points="265.43,501.95,275.2486,502.7219,270.1442,500.2837,272.5824,495.1793,265.43,501.95"style="stroke:#181818;stroke-width:1.0;"/><textfill="#000000"font-family="sans-serif"font-size="13"lengthAdjust="spacing"textLength="29"x="439"y="452.0669">child</text></g><!--MD5=[c7ea69d4ff6721f817d13683540cf18f]
link dnsmasqEntrypoint to dnsmasq--><gid="link_dnsmasqEntrypoint_dnsmasq"><pathd="M198.77,555.28 C205.15,583.83 215.36,629.48 221.6,657.35 "fill="none"id="dnsmasqEntrypoint-to-dnsmasq"style="stroke:#181818;stroke-width:1.0;"/><polygonfill="#181818"points="222.71,662.34,224.6294,652.68,221.6087,657.4628,216.8259,654.4421,222.71,662.34"style="stroke:#181818;stroke-width:1.0;"/><textfill="#000000"font-family="sans-serif"font-size="13"lengthAdjust="spacing"textLength="30"x="213"y="614.0669">exec</text></g><!--MD5=[e57db689e698a4cac2a90f0a38fcb110]
link entrypoint to nebulaEntrypoint--><gid="link_entrypoint_nebulaEntrypoint"><pathd="M658.69,409.09 C632.41,439.39 602.57,473.79 581.86,497.68 "fill="none"id="entrypoint-to-nebulaEntrypoint"style="stroke:#181818;stroke-width:1.0;"/><polygonfill="#181818"points="578.36,501.72,587.2801,497.5449,581.6374,497.9439,581.2384,492.3011,578.36,501.72"style="stroke:#181818;stroke-width:1.0;"/><textfill="#000000"font-family="sans-serif"font-size="13"lengthAdjust="spacing"textLength="29"x="632"y="452.0669">child</text></g><!--MD5=[b8917cf0c8fa712950e6c2e129fc0a6a]
link nebulaEntrypoint to nebula--><gid="link_nebulaEntrypoint_nebula"><pathd="M572.96,555.28 C591.9,584.07 622.28,630.24 640.57,658.04 "fill="none"id="nebulaEntrypoint-to-nebula"style="stroke:#181818;stroke-width:1.0;"/><polygonfill="#181818"points="643.4,662.34,641.7744,652.6262,640.643,658.1688,635.1004,657.0374,643.4,662.34"style="stroke:#181818;stroke-width:1.0;"/><textfill="#000000"font-family="sans-serif"font-size="13"lengthAdjust="spacing"textLength="30"x="612"y="614.0669">exec</text></g><!--MD5=[b16f4e4f6f0194775e8cc00ba594229f]
link entrypoint to garageEntrypoint--><gid="link_entrypoint_garageEntrypoint"><pathd="M788.71,409.09 C815.5,433.43 845.19,460.42 869.46,482.48 "fill="none"id="entrypoint-to-garageEntrypoint"style="stroke:#181818;stroke-width:1.0;"/><polygonfill="#181818"points="873.31,485.97,869.3516,476.9516,869.6142,482.6024,863.9634,482.8649,873.31,485.97"style="stroke:#181818;stroke-width:1.0;"/><textfill="#000000"font-family="sans-serif"font-size="13"lengthAdjust="spacing"textLength="371"x="836"y="452.0669">child (only if >1 storage allocation defined in daemon.yml)</text></g><!--MD5=[7604ba225da9a0d6f108d03d7e486e8b]
link garageEntrypoint to garage--><gid="link_garageEntrypoint_garage"><pathd="M965.73,571.03 C997.45,599.24 1038.22,635.47 1064.23,658.6 "fill="none"id="garageEntrypoint-to-garage"style="stroke:#181818;stroke-width:1.0;"/><polygonfill="#181818"points="1068.28,662.19,1064.1938,653.2288,1064.5367,658.8753,1058.8902,659.2182,1068.28,662.19"style="stroke:#181818;stroke-width:1.0;"/><textfill="#000000"font-family="sans-serif"font-size="13"lengthAdjust="spacing"textLength="210"x="1015"y="614.0669">child (one per storage allocation)</text></g><!--MD5=[7472d79ac569d4db6634ba16e8ae6010]
link garageEntrypoint to garageApplyLayoutDiff--><gid="link_garageEntrypoint_garageApplyLayoutDiff"><pathd="M1088.79,566.91 C1147.44,580.07 1205.54,593.46 1234,601 C1285.56,614.66 1342.2,631.6 1389.84,646.41 "fill="none"id="garageEntrypoint-to-garageApplyLayoutDiff"style="stroke:#181818;stroke-width:1.0;"/><polygonfill="#181818"points="1394.71,647.93,1387.3006,641.4415,1389.9348,646.4476,1384.9287,649.0817,1394.71,647.93"style="stroke:#181818;stroke-width:1.0;"/><textfill="#000000"font-family="sans-serif"font-size="13"lengthAdjust="spacing"textLength="29"x="1293"y="614.0669">child</text></g><!--MD5=[4233354f179cceff861e35de62bdca51]
link entrypoint to updateGlobalBucket--><gid="link_entrypoint_updateGlobalBucket"><pathd="M933.08,371.59 C1022.15,386.68 1125.41,408.53 1216,439 C1256.25,452.54 1298.97,473.38 1332.57,491.44 "fill="none"id="entrypoint-to-updateGlobalBucket"style="stroke:#181818;stroke-width:1.0;"/><polygonfill="#181818"points="1337.04,493.86,1331.0348,486.0538,1332.6445,491.4767,1327.2216,493.0865,1337.04,493.86"style="stroke:#181818;stroke-width:1.0;"/><textfill="#000000"font-family="sans-serif"font-size="13"lengthAdjust="spacing"textLength="29"x="1257"y="452.0669">child</text></g><!--MD5=[c185a92e46a7a554dfe3e377c0fb7e0e]