github.com/freiheit-com/kuberpult@v1.24.2-0.20240328135542-315d5630abe6/infrastructure/docker/git-ssh/uml-dd-deployment-overview.uxf (about) 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <diagram program="umlet" version="14.3.0"> 3 <zoom_level>9</zoom_level> 4 <element> 5 <id>UMLDeployment</id> 6 <coordinates> 7 <x>423</x> 8 <y>144</y> 9 <w>225</w> 10 <h>459</h> 11 </coordinates> 12 <panel_attributes><<execution environment>> 13 *Git-SSH* 14 *Docker Container* 15 {OS = Alpine Linux edge} 16 {network port = 22/tcp} 17 {SSHD exec. as = root} 18 {Git exec. as = git} 19 {orchestration = Docker Compose} 20 {health check = true}</panel_attributes> 21 <additional_attributes/> 22 </element> 23 <element> 24 <id>UMLNote</id> 25 <coordinates> 26 <x>828</x> 27 <y>450</y> 28 <w>108</w> 29 <h>36</h> 30 </coordinates> 31 <panel_attributes>Contains hosted Git repositories 32 style=wordwrap</panel_attributes> 33 <additional_attributes/> 34 </element> 35 <element> 36 <id>Relation</id> 37 <coordinates> 38 <x>747</x> 39 <y>414</y> 40 <w>99</w> 41 <h>72</h> 42 </coordinates> 43 <panel_attributes>lt=.</panel_attributes> 44 <additional_attributes>10.0;10.0;90.0;60.0</additional_attributes> 45 </element> 46 <element> 47 <id>UMLNote</id> 48 <coordinates> 49 <x>504</x> 50 <y>54</y> 51 <w>63</w> 52 <h>27</h> 53 </coordinates> 54 <panel_attributes>UML 2.0 55 transparency=0 56 layer=1</panel_attributes> 57 <additional_attributes/> 58 </element> 59 <element> 60 <id>UMLFrame</id> 61 <coordinates> 62 <x>189</x> 63 <y>36</y> 64 <w>828</w> 65 <h>603</h> 66 </coordinates> 67 <panel_attributes>dd Deployment Overview 68 Git-SSH (Docker) 69 fontsize=30</panel_attributes> 70 <additional_attributes/> 71 </element> 72 <element> 73 <id>UMLDeployment</id> 74 <coordinates> 75 <x>441</x> 76 <y>306</y> 77 <w>180</w> 78 <h>81</h> 79 </coordinates> 80 <panel_attributes><<execution environment>> 81 */start.sh* 82 *Shell Script* 83 {exec. type = container start}</panel_attributes> 84 <additional_attributes/> 85 </element> 86 <element> 87 <id>UMLDeployment</id> 88 <coordinates> 89 <x>405</x> 90 <y>117</y> 91 <w>594</w> 92 <h>504</h> 93 </coordinates> 94 <panel_attributes><<device>> 95 *Host Maschine*</panel_attributes> 96 <additional_attributes/> 97 </element> 98 <element> 99 <id>UMLDeployment</id> 100 <coordinates> 101 <x>207</x> 102 <y>117</y> 103 <w>162</w> 104 <h>54</h> 105 </coordinates> 106 <panel_attributes><<device>> 107 *Client Maschine (Admin)*</panel_attributes> 108 <additional_attributes/> 109 </element> 110 <element> 111 <id>Relation</id> 112 <coordinates> 113 <x>360</x> 114 <y>126</y> 115 <w>63</w> 116 <h>36</h> 117 </coordinates> 118 <panel_attributes>lt=- 119 SSH</panel_attributes> 120 <additional_attributes>10.0;20.0;50.0;20.0</additional_attributes> 121 </element> 122 <element> 123 <id>UMLDeployment</id> 124 <coordinates> 125 <x>666</x> 126 <y>252</y> 127 <w>144</w> 128 <h>207</h> 129 </coordinates> 130 <panel_attributes><<component>> 131 *Data* 132 *Docker Volume*</panel_attributes> 133 <additional_attributes/> 134 </element> 135 <element> 136 <id>UMLGeneric</id> 137 <coordinates> 138 <x>684</x> 139 <y>315</y> 140 <w>99</w> 141 <h>36</h> 142 </coordinates> 143 <panel_attributes><<artifact>> 144 * /git/keys-host/*</panel_attributes> 145 <additional_attributes/> 146 </element> 147 <element> 148 <id>UMLGeneric</id> 149 <coordinates> 150 <x>684</x> 151 <y>360</y> 152 <w>72</w> 153 <h>36</h> 154 </coordinates> 155 <panel_attributes><<artifact>> 156 * /git/keys/*</panel_attributes> 157 <additional_attributes/> 158 </element> 159 <element> 160 <id>UMLGeneric</id> 161 <coordinates> 162 <x>684</x> 163 <y>405</y> 164 <w>72</w> 165 <h>36</h> 166 </coordinates> 167 <panel_attributes><<artifact>> 168 * /git/repos/*</panel_attributes> 169 <additional_attributes/> 170 </element> 171 <element> 172 <id>Relation</id> 173 <coordinates> 174 <x>639</x> 175 <y>270</y> 176 <w>45</w> 177 <h>27</h> 178 </coordinates> 179 <panel_attributes>lt=-</panel_attributes> 180 <additional_attributes>30.0;10.0;10.0;10.0</additional_attributes> 181 </element> 182 <element> 183 <id>UMLDeployment</id> 184 <coordinates> 185 <x>441</x> 186 <y>504</y> 187 <w>162</w> 188 <h>81</h> 189 </coordinates> 190 <panel_attributes><<execution environment>> 191 */git/fix-repos.sh* 192 *Shell Script* 193 {exec. type = manual}</panel_attributes> 194 <additional_attributes/> 195 </element> 196 <element> 197 <id>UMLNote</id> 198 <coordinates> 199 <x>234</x> 200 <y>189</y> 201 <w>153</w> 202 <h>27</h> 203 </coordinates> 204 <panel_attributes>Key authentication only 205 style=wordwrap</panel_attributes> 206 <additional_attributes/> 207 </element> 208 <element> 209 <id>Relation</id> 210 <coordinates> 211 <x>243</x> 212 <y>207</y> 213 <w>63</w> 214 <h>99</h> 215 </coordinates> 216 <panel_attributes>lt=.</panel_attributes> 217 <additional_attributes>50.0;90.0;10.0;10.0</additional_attributes> 218 </element> 219 <element> 220 <id>UMLNote</id> 221 <coordinates> 222 <x>234</x> 223 <y>378</y> 224 <w>153</w> 225 <h>54</h> 226 </coordinates> 227 <panel_attributes>UID/GID of `git` user inside Docker container mapped to user of host 228 style=wordwrap</panel_attributes> 229 <additional_attributes/> 230 </element> 231 <element> 232 <id>Relation</id> 233 <coordinates> 234 <x>747</x> 235 <y>369</y> 236 <w>99</w> 237 <h>36</h> 238 </coordinates> 239 <panel_attributes>lt=.</panel_attributes> 240 <additional_attributes>10.0;10.0;90.0;20.0</additional_attributes> 241 </element> 242 <element> 243 <id>Relation</id> 244 <coordinates> 245 <x>774</x> 246 <y>288</y> 247 <w>72</w> 248 <h>63</h> 249 </coordinates> 250 <panel_attributes>lt=.</panel_attributes> 251 <additional_attributes>10.0;50.0;60.0;10.0</additional_attributes> 252 </element> 253 <element> 254 <id>Relation</id> 255 <coordinates> 256 <x>594</x> 257 <y>432</y> 258 <w>126</w> 259 <h>108</h> 260 </coordinates> 261 <panel_attributes>lt=-</panel_attributes> 262 <additional_attributes>120.0;10.0;120.0;100.0;10.0;100.0</additional_attributes> 263 </element> 264 <element> 265 <id>Relation</id> 266 <coordinates> 267 <x>612</x> 268 <y>351</y> 269 <w>90</w> 270 <h>45</h> 271 </coordinates> 272 <panel_attributes>lt=-</panel_attributes> 273 <additional_attributes>10.0;10.0;50.0;10.0;50.0;30.0;80.0;30.0</additional_attributes> 274 </element> 275 <element> 276 <id>Relation</id> 277 <coordinates> 278 <x>612</x> 279 <y>324</y> 280 <w>90</w> 281 <h>27</h> 282 </coordinates> 283 <panel_attributes>lt=-</panel_attributes> 284 <additional_attributes>10.0;10.0;80.0;10.0</additional_attributes> 285 </element> 286 <element> 287 <id>Relation</id> 288 <coordinates> 289 <x>378</x> 290 <y>396</y> 291 <w>45</w> 292 <h>45</h> 293 </coordinates> 294 <panel_attributes>lt=.</panel_attributes> 295 <additional_attributes>10.0;10.0;30.0;30.0</additional_attributes> 296 </element> 297 <element> 298 <id>Relation</id> 299 <coordinates> 300 <x>378</x> 301 <y>396</y> 302 <w>63</w> 303 <h>36</h> 304 </coordinates> 305 <panel_attributes>lt=.</panel_attributes> 306 <additional_attributes>10.0;10.0;50.0;20.0</additional_attributes> 307 </element> 308 <element> 309 <id>Relation</id> 310 <coordinates> 311 <x>378</x> 312 <y>369</y> 313 <w>81</w> 314 <h>54</h> 315 </coordinates> 316 <panel_attributes>lt=.</panel_attributes> 317 <additional_attributes>10.0;40.0;70.0;10.0</additional_attributes> 318 </element> 319 <element> 320 <id>UMLNote</id> 321 <coordinates> 322 <x>828</x> 323 <y>333</y> 324 <w>144</w> 325 <h>99</h> 326 </coordinates> 327 <panel_attributes>Contains public keys of allowed clients 328 (copied in `authorized_keys` file if present at Docker container start) 329 style=wordwrap</panel_attributes> 330 <additional_attributes/> 331 </element> 332 <element> 333 <id>UMLNote</id> 334 <coordinates> 335 <x>828</x> 336 <y>234</y> 337 <w>126</w> 338 <h>81</h> 339 </coordinates> 340 <panel_attributes>Contains SSH host authentication keys 341 (generated if not present at Docker container start) 342 style=wordwrap</panel_attributes> 343 <additional_attributes/> 344 </element> 345 <element> 346 <id>UMLDeployment</id> 347 <coordinates> 348 <x>225</x> 349 <y>297</y> 350 <w>162</w> 351 <h>63</h> 352 </coordinates> 353 <panel_attributes><<device>> 354 *Client Maschine* 355 {number deployed = 1..*}</panel_attributes> 356 <additional_attributes/> 357 </element> 358 <element> 359 <id>Relation</id> 360 <coordinates> 361 <x>279</x> 362 <y>225</y> 363 <w>162</w> 364 <h>90</h> 365 </coordinates> 366 <panel_attributes>lt=- 367 r1=SSH\nvia\n${GITSSH_PORT}</panel_attributes> 368 <additional_attributes>10.0;80.0;10.0;50.0;160.0;50.0</additional_attributes> 369 </element> 370 <element> 371 <id>UMLDeployment</id> 372 <coordinates> 373 <x>441</x> 374 <y>405</y> 375 <w>162</w> 376 <h>81</h> 377 </coordinates> 378 <panel_attributes><<execution environment>> 379 */check.sh* 380 *Shell Script* 381 {exec. type = periodic}</panel_attributes> 382 <additional_attributes/> 383 </element> 384 </diagram>