diff options
author | Linnnus <[email protected]> | 2025-01-29 10:33:21 +0100 |
---|---|---|
committer | Linnnus <[email protected]> | 2025-01-29 10:33:21 +0100 |
commit | 827c6802fc8947ca063d969f6356be75f28e1040 (patch) | |
tree | f5c6d106189a127b2e9452a798332a8efd04a958 /modules | |
parent | fb4230875a77fc4b0a893f664a9431ab75d00e08 (diff) |
on-demand-minecraft: Add DOT documentation
Diffstat (limited to 'modules')
-rw-r--r-- | modules/nixos/on-demand-minecraft/systemd-units.dot | 26 | ||||
-rw-r--r-- | modules/nixos/on-demand-minecraft/systemd-units.svg | 116 |
2 files changed, 142 insertions, 0 deletions
diff --git a/modules/nixos/on-demand-minecraft/systemd-units.dot b/modules/nixos/on-demand-minecraft/systemd-units.dot new file mode 100644 index 0000000..d208cc0 --- /dev/null +++ b/modules/nixos/on-demand-minecraft/systemd-units.dot @@ -0,0 +1,26 @@ +// This file documents the interactions of the systemd units defined in `default.nix`. +// It exists only to aid readers of the Nix code. +// Make sure to keep the SVG file up to date by running `dot -Tsvg systemd-units.dot >systemd-units.svg`. + +digraph systemd_units { + label = "Systemd unit interactions"; + labelloc = "t"; + + subgraph cluster_start { + label = "Starting up"; + + "minecraft-listen.socket"->"minecraft-listen.service" [color="green", label="Triggers the proxifier upon connection"]; + "minecraft-listen.service"->"minecraft-hook.service" [color="green", label="Runs"]; + "minecraft-hook.service"->"minecraft-server.service" [color="green", label="Starts"]; + } + + subgraph cluster_stop { + label = "Shutting down"; + + "minecraft-hook.service"->"minecraft-stop.timer" [color="green", label="Starts"]; + "minecraft-stop.timer"->"minecraft-stop.service" [color="green", label="Runs every X seconds"]; + "minecraft-stop.service"->"minecraft-server.service" [color="red", label="Stops if conditions are met"]; + "minecraft-stop.service"->"minecraft-stop.timer" [color="red", label="Stops if conditions are met"]; + "minecraft-stop.service"->"minecraft-hook.service" [color="red", label="Stops if conditions are met"]; + } +} diff --git a/modules/nixos/on-demand-minecraft/systemd-units.svg b/modules/nixos/on-demand-minecraft/systemd-units.svg new file mode 100644 index 0000000..612c8f5 --- /dev/null +++ b/modules/nixos/on-demand-minecraft/systemd-units.svg @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<!-- Generated by graphviz version 12.2.0 (0) + --> +<!-- Title: systemd_units Pages: 1 --> +<svg width="797pt" height="418pt" + viewBox="0.00 0.00 797.00 417.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 413.5)"> +<title>systemd_units</title> +<polygon fill="white" stroke="none" points="-4,4 -4,-413.5 793,-413.5 793,4 -4,4"/> +<text text-anchor="middle" x="394.5" y="-392.2" font-family="Times,serif" font-size="14.00">Systemd unit interactions</text> +<g id="clust1" class="cluster"> +<title>cluster_start</title> +<polygon fill="none" stroke="black" points="8,-8 8,-376.25 308,-376.25 308,-8 8,-8"/> +<text text-anchor="middle" x="158" y="-358.95" font-family="Times,serif" font-size="14.00">Starting up</text> +</g> +<g id="clust2" class="cluster"> +<title>cluster_stop</title> +<polygon fill="none" stroke="black" points="384,-97.25 384,-263.75 781,-263.75 781,-97.25 384,-97.25"/> +<text text-anchor="middle" x="582.5" y="-246.45" font-family="Times,serif" font-size="14.00">Shutting down</text> +</g> +<!-- minecraft-listen.socket --> +<g id="node1" class="node"> +<title>minecraft-listen.socket</title> +<ellipse fill="none" stroke="black" cx="138" cy="-325" rx="121.71" ry="18"/> +<text text-anchor="middle" x="138" y="-320.32" font-family="Times,serif" font-size="14.00">minecraft-listen.socket</text> +</g> +<!-- minecraft-listen.service --> +<g id="node2" class="node"> +<title>minecraft-listen.service</title> +<ellipse fill="none" stroke="black" cx="141" cy="-212.5" rx="125.39" ry="18"/> +<text text-anchor="middle" x="141" y="-207.82" font-family="Times,serif" font-size="14.00">minecraft-listen.service</text> +</g> +<!-- minecraft-listen.socket->minecraft-listen.service --> +<g id="edge1" class="edge"> +<title>minecraft-listen.socket->minecraft-listen.service</title> +<path fill="none" stroke="green" d="M138.47,-306.73C138.94,-289.46 139.67,-262.59 140.22,-242.12"/> +<polygon fill="green" stroke="green" points="143.72,-242.25 140.49,-232.16 136.72,-242.06 143.72,-242.25"/> +<text text-anchor="middle" x="272.16" y="-275.7" font-family="Times,serif" font-size="14.00">Triggers the proxifier upon connection</text> +</g> +<!-- minecraft-hook.service --> +<g id="node3" class="node"> +<title>minecraft-hook.service</title> +<ellipse fill="none" stroke="black" cx="141" cy="-123.25" rx="122.76" ry="18"/> +<text text-anchor="middle" x="141" y="-118.58" font-family="Times,serif" font-size="14.00">minecraft-hook.service</text> +</g> +<!-- minecraft-listen.service->minecraft-hook.service --> +<g id="edge2" class="edge"> +<title>minecraft-listen.service->minecraft-hook.service</title> +<path fill="none" stroke="green" d="M141,-194.26C141,-182.43 141,-166.45 141,-152.75"/> +<polygon fill="green" stroke="green" points="144.5,-152.97 141,-142.97 137.5,-152.97 144.5,-152.97"/> +<text text-anchor="middle" x="158.25" y="-163.2" font-family="Times,serif" font-size="14.00">Runs</text> +</g> +<!-- minecraft-server.service --> +<g id="node4" class="node"> +<title>minecraft-server.service</title> +<ellipse fill="none" stroke="black" cx="158" cy="-34" rx="129.07" ry="18"/> +<text text-anchor="middle" x="158" y="-29.32" font-family="Times,serif" font-size="14.00">minecraft-server.service</text> +</g> +<!-- minecraft-hook.service->minecraft-server.service --> +<g id="edge3" class="edge"> +<title>minecraft-hook.service->minecraft-server.service</title> +<path fill="none" stroke="green" d="M144.36,-105.01C146.66,-93.18 149.78,-77.2 152.45,-63.5"/> +<polygon fill="green" stroke="green" points="155.88,-64.17 154.36,-53.69 149.01,-62.83 155.88,-64.17"/> +<text text-anchor="middle" x="171.65" y="-73.95" font-family="Times,serif" font-size="14.00">Starts</text> +</g> +<!-- minecraft-stop.timer --> +<g id="node5" class="node"> +<title>minecraft-stop.timer</title> +<ellipse fill="none" stroke="black" cx="503" cy="-212.5" rx="111.18" ry="18"/> +<text text-anchor="middle" x="503" y="-207.82" font-family="Times,serif" font-size="14.00">minecraft-stop.timer</text> +</g> +<!-- minecraft-hook.service->minecraft-stop.timer --> +<g id="edge4" class="edge"> +<title>minecraft-hook.service->minecraft-stop.timer</title> +<path fill="none" stroke="green" d="M202.84,-139.16C266.41,-154.48 365.26,-178.3 431.98,-194.38"/> +<polygon fill="green" stroke="green" points="430.8,-197.7 441.35,-196.64 432.44,-190.89 430.8,-197.7"/> +<text text-anchor="middle" x="375.05" y="-163.2" font-family="Times,serif" font-size="14.00">Starts</text> +</g> +<!-- minecraft-stop.service --> +<g id="node6" class="node"> +<title>minecraft-stop.service</title> +<ellipse fill="none" stroke="black" cx="587" cy="-123.25" rx="120.13" ry="18"/> +<text text-anchor="middle" x="587" y="-118.58" font-family="Times,serif" font-size="14.00">minecraft-stop.service</text> +</g> +<!-- minecraft-stop.timer->minecraft-stop.service --> +<g id="edge5" class="edge"> +<title>minecraft-stop.timer->minecraft-stop.service</title> +<path fill="none" stroke="green" d="M440.71,-197.22C416.42,-188.69 397.36,-176.18 411.25,-159.25 420.39,-148.11 445.94,-140.44 474.83,-135.2"/> +<polygon fill="green" stroke="green" points="475.26,-138.68 484.54,-133.56 474.09,-131.78 475.26,-138.68"/> +<text text-anchor="middle" x="488.12" y="-163.2" font-family="Times,serif" font-size="14.00">Runs every X seconds</text> +</g> +<!-- minecraft-stop.service->minecraft-hook.service --> +<g id="edge8" class="edge"> +<title>minecraft-stop.service->minecraft-hook.service</title> +<path fill="none" stroke="red" d="M466.66,-123.25C407.56,-123.25 336.16,-123.25 275.29,-123.25"/> +<polygon fill="red" stroke="red" points="275.57,-119.75 265.57,-123.25 275.57,-126.75 275.57,-119.75"/> +<text text-anchor="middle" x="365.32" y="-130.2" font-family="Times,serif" font-size="14.00">Stops if conditions are met</text> +</g> +<!-- minecraft-stop.service->minecraft-server.service --> +<g id="edge6" class="edge"> +<title>minecraft-stop.service->minecraft-server.service</title> +<path fill="none" stroke="red" d="M517.6,-108.13C441.84,-92.73 320.62,-68.07 240.16,-51.71"/> +<polygon fill="red" stroke="red" points="241.07,-48.32 230.57,-49.76 239.67,-55.18 241.07,-48.32"/> +<text text-anchor="middle" x="503.92" y="-73.95" font-family="Times,serif" font-size="14.00">Stops if conditions are met</text> +</g> +<!-- minecraft-stop.service->minecraft-stop.timer --> +<g id="edge7" class="edge"> +<title>minecraft-stop.service->minecraft-stop.timer</title> +<path fill="none" stroke="red" d="M582.9,-141.34C579.56,-152.38 573.9,-166.5 565,-176.5 560.84,-181.17 555.9,-185.37 550.65,-189.09"/> +<polygon fill="red" stroke="red" points="548.79,-186.12 542.25,-194.46 552.56,-192.02 548.79,-186.12"/> +<text text-anchor="middle" x="668.85" y="-163.2" font-family="Times,serif" font-size="14.00">Stops if conditions are met</text> +</g> +</g> +</svg> |