From 640ff61422bc0ee3966941b93d9889ddbbd38d77 Mon Sep 17 00:00:00 2001 From: ckonstanski Date: Thu, 30 Jul 2026 18:17:14 -0600 Subject: more files --- doc/uml/security_use_case_diagram.dot | 153 ++++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 doc/uml/security_use_case_diagram.dot (limited to 'doc/uml/security_use_case_diagram.dot') diff --git a/doc/uml/security_use_case_diagram.dot b/doc/uml/security_use_case_diagram.dot new file mode 100644 index 0000000..c939cc6 --- /dev/null +++ b/doc/uml/security_use_case_diagram.dot @@ -0,0 +1,153 @@ +// This is a graphviz file. To generate a diagram from this source, +// you must first install graphviz (available from homebrew). Then run +// the following command: +// +// dot -Tpng -o security_use_case_diagram.png security_use_case_diagram.dot + +digraph G { + graph [fontsize = 14, penwidth = 0, rankdir = UD]; + node [shape = "plaintext"]; + edge [fontsize = 9, style = dotted, arrowhead = empty]; + + subgraph cluster_external { + label = "External systems"; + penwidth = 1; + + subgraph cluster_externalbrowser { + label = "EDN-attached web browser"; + penwidth = 0; + externalbrowser_icon [label = "", image = "computer.png"]; + } + + subgraph cluster_externalorchestration { + label = "ATLAS/Orchestration"; + penwidth = 0; + externalorchestration_icon [label = "", image = "computer.png"]; + } + + subgraph cluster_externalvmb{ + label = "VMB"; + penwidth = 0; + externalvmb_icon [label = "", image = "computer.png"]; + } + + subgraph cluster_externalgitlab { + label = "GitLab"; + penwidth = 0; + externalgitlab_icon [label = "", image = "computer.png"]; + } + + subgraph cluster_externalartifactory { + label = "Artifactory"; + penwidth = 0; + externalartifactory_icon [label = "", image = "computer.png"]; + } + + subgraph cluster_externalinfoblox { + label = "CDS Infoblox"; + penwidth = 0; + externalinfoblox_icon [label = "", image = "computer.png"]; + } + + subgraph cluster_externalldap { + label = "USWIN LDAP"; + penwidth = 0; + externalldap_icon [label = "", image = "computer.png"]; + } + } + + subgraph cluster_middlewarestack { + label = "Automation stack"; + penwidth = 1; + + subgraph cluster_middlewarestackansible { + label = "Ansible/DNS hosts"; + penwidth = 0; + middlewarestackansible_icon [label = "", image = "computer.png"]; + } + + subgraph cluster_middlewarestackapp { + label = "Middleware/Icinga hosts"; + penwidth = 0; + middlewarestackapp_icon [label = "", image = "computer.png"]; + } + + subgraph cluster_middlewarestackdatabase { + label = "Database hosts"; + penwidth = 0; + middlewarestackdatabase_icon [label = "", image = "drive-removable-media.png"]; + } + + subgraph cluster_middlewarestacklb { + label = "Load balancer hosts"; + penwidth = 0; + middlewarestacklb_icon [label = "", image = "computer.png"]; + } + } + + subgraph cluster_wr { + label = "Wind River platform"; + penwidth = 1; + + subgraph cluster_wrcentral { + label = "Central controller cluster"; + + subgraph cluster_wrcentralhosts { + label = "Central controller hosts"; + penwidth = 0; + wrcentralhosts_icon [label = "", image = "computer.png"]; + } + + subgraph cluster_wrcentralbmc { + label = "Central controller BMC"; + penwidth = 0; + wrcentralbmc_icon [label = "", image = "network-wired.png"]; + } + } + + subgraph cluster_wrremote { + label = "Remote subcloud cluster"; + + subgraph cluster_wrremotehosts { + label = "Remote subcloud hosts"; + penwidth = 0; + wrremotehosts_icon [label = "", image = "computer.png"]; + } + + subgraph cluster_wrremotebmc { + label = "Remote subcloud BMC"; + penwidth = 0; + wrremotebmc_icon [label = "", image = "network-wired.png"]; + } + } + } + + subgraph cluster_legend { + label = "Legend"; + penwidth = 1; + node [shape = "rect", style = filled]; + legend_external [label = "Connections\nto external\nsystems", fillcolor = "chocolate1"]; + legend_wr [label = "Connections\nto Wind River\nplatform", fillcolor = "darkolivegreen3"]; + legend_middleware_external [label = "Connections\nto middleware", fillcolor = "deepskyblue"]; + } + + externalbrowser_icon -> middlewarestacklb_icon [color = "deepskyblue", headlabel = "TCP *:443"]; + externalorchestration_icon -> middlewarestacklb_icon [color = "deepskyblue"]; + middlewarestackapp_icon -> externalvmb_icon [color = "chocolate1", headlabel = "TCP *:6651"]; + externalgitlab_icon -> middlewarestacklb_icon [color = "deepskyblue"]; + middlewarestackansible_icon -> externalartifactory_icon [color = "chocolate1", headlabel = "TCP *:443"]; + middlewarestackapp_icon -> externalgitlab_icon [color = "chocolate1", headlabel = "TCP *:22"]; + middlewarestackansible_icon -> externalgitlab_icon [color = "chocolate1"]; + middlewarestackansible_icon -> wrcentralhosts_icon [color = "darkolivegreen3", headlabel = "TCP *:22"]; + middlewarestackansible_icon -> wrremotehosts_icon [color = "darkolivegreen3", headlabel = "TCP *:22"]; + middlewarestackapp_icon -> middlewarestackansible_icon [color = "deepskyblue", headlabel = "TCP *:80, *:5555-5561"]; + middlewarestacklb_icon -> externalldap_icon [color = "chocolate1", headlabel = "TCP *:636"]; + middlewarestackansible_icon -> externalinfoblox_icon [color = "chocolate1", headlabel = "TCP *:443"]; + middlewarestackapp_icon -> wrcentralbmc_icon [color = "darkolivegreen3", headlabel = "TCP *:443"]; + middlewarestackapp_icon -> wrremotebmc_icon [color = "darkolivegreen3", headlabel = "TCP *:443"]; + middlewarestacklb_icon -> middlewarestackapp_icon [color = "deepskyblue", headlabel = "TCP *:80"]; + middlewarestackapp_icon -> middlewarestackdatabase_icon [color = "deepskyblue", headlabel = "TCP *:5432"]; + middlewarestacklb_icon -> middlewarestackansible_icon [color = "deepskyblue"]; + wrcentralhosts_icon -> externalartifactory_icon [color = "chocolate1"]; + wrcentralhosts_icon -> wrremotehosts_icon [color = "darkolivegreen3"]; +} -- cgit v1.3