1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
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"];
}
|