diff --git a/docs/uml/_copyright.ipuml b/docs/uml/_copyright.ipuml new file mode 100644 index 00000000..9f0b8d5a --- /dev/null +++ b/docs/uml/_copyright.ipuml @@ -0,0 +1 @@ +right footer **©** 2020 iteratec GmbH diff --git a/docs/uml/_iteratecTheme.ipuml b/docs/uml/_iteratecTheme.ipuml new file mode 100644 index 00000000..ea12503b --- /dev/null +++ b/docs/uml/_iteratecTheme.ipuml @@ -0,0 +1,86 @@ +' http://plantuml.com/skinparam +' https://plantuml-documentation.readthedocs.io/en/latest/formatting/all-skin-params.html + +!define hellblau #cde6f5 +!define mittelblau #91c3e6 +!define tuerkisblau #008cd2 +!define kobaltblau #001eff +!define lavendel #e6bedc +!define iteragenta #bd218e +!define dunkelpurpur #731964 +!define gelbbraun #ebd7be +!define sand #e1c39b + +skinparam backgroundColor white + +skinparam default { + ArrowColor black + BackgroundColor white + FontColor black + FontName SansSerif + FontSize 10 + Shadowing false +} + +skinparam activity { + BorderColor dunkelpurpur + StartColor kobaltblau + EndColor iteragenta + BarColor lavendel +} + +skinparam usecase { + ActorBackgroundColor lavendel + ActorBorderColor iteragenta + BorderColor dunkelpurpur +} + +skinparam class { + BackgroundColor hellblau + BorderColor tuerkisblau +} + +skinparam package { + BackgroundColor white + BorderColor dunkelpurpur +} + +skinparam stereotype { + CBackgroundColor mittelblau + ABackgroundColor lavendel + IBackgroundColor gelbbraun + EBackgroundColor lightgray +} + +skinparam component { + BackgroundColor lavendel + BorderColor iteragenta + InterfaceBackgroundColor mittelblau + InterfaceBorderColor tuerkisblau + Style uml2 +} + +skinparam note { + BackgroundColor gelbbraun + BorderColor sand +} + +skinparam state { + BackgroundColor lavendel + BorderColor dunkelpurpur + StartColor kobaltblau + EndColor iteragenta +} + +skinparam sequence { + ActorBackgroundColor lavendel + ActorBorderColor dunkelpurpur + GroupBackgroundColor hellblau + LifeLineBackgroundColor lavendel + LifeLineBorderColor dunkelpurpur + ParticipantBackgroundColor hellblau + ParticipantBorderColor mittelblau +} + +skinparam CollectionsBackgroundColor hellblau +skinparam CollectionsBorderColor mittelblau diff --git a/docs/uml/compononents_overview.png b/docs/uml/compononents_overview.png new file mode 100644 index 00000000..de49d740 Binary files /dev/null and b/docs/uml/compononents_overview.png differ diff --git a/docs/uml/compononents_overview.uxf b/docs/uml/compononents_overview.uxf new file mode 100644 index 00000000..14be20fc --- /dev/null +++ b/docs/uml/compononents_overview.uxf @@ -0,0 +1,298 @@ + + + 10 + + UMLClass + + 260 + 340 + 160 + 60 + + <<Controller>> +Operator + + + + UMLClass + + 260 + 200 + 160 + 60 + + <<Sidecar>> +Lurcher + + + + UMLClass + + 260 + 80 + 160 + 60 + + <<Container>> +Scanner + + + + UMLClass + + 10 + 80 + 160 + 60 + + <<Target>> +www.foobar.com +bg=gray + + + + UMLClass + + 590 + 90 + 160 + 60 + + <<Job>> +Parser + + + + UMLClass + + 590 + 200 + 160 + 60 + + <<Deployment>> +Minio + + + + Relation + + 160 + 90 + 120 + 40 + + lt=- +< scan + 100.0;20.0;10.0;20.0 + + + Relation + + 410 + 220 + 200 + 40 + + lt=- +store raw result > + 10.0;20.0;180.0;20.0 + + + Relation + + 330 + 130 + 80 + 90 + + lt=- +listen v + 10.0;10.0;10.0;70.0 + + + Relation + + 530 + 110 + 150 + 130 + + lt=- +read raw result ^ + 60.0;110.0;10.0;110.0;10.0;10.0;60.0;10.0 + + + Relation + + 740 + 110 + 230 + 130 + + lt=- +store JSON finding v + 10.0;110.0;70.0;110.0;70.0;10.0;10.0;10.0 + + + UMLClass + + 810 + 440 + 160 + 60 + + <<Job>> +ReadAndWriteHook + + + + UMLClass + + 480 + 440 + 160 + 60 + + <<Job>> +ReadOnlyHook + + + + Relation + + 490 + 250 + 200 + 210 + + lt=- +read finding/raw result v + 120.0;10.0;120.0;140.0;70.0;140.0;70.0;190.0 + + + Relation + + 680 + 250 + 210 + 210 + + lt=- +read finding/raw result v + 10.0;10.0;10.0;140.0;190.0;140.0;190.0;190.0 + + + Relation + + 720 + 250 + 220 + 210 + + lt=- +store finding/raw result ^ + 10.0;10.0;10.0;110.0;200.0;110.0;200.0;190.0 + + + UMLClass + + 370 + 580 + 160 + 50 + + Elastic +bg=gray + + + + UMLClass + + 590 + 580 + 160 + 50 + + DefectDojo +bg=gray + + + + Relation + + 440 + 490 + 120 + 110 + + lt=- +persist v + 100.0;10.0;100.0;60.0;10.0;60.0;10.0;90.0 + + + Relation + + 580 + 490 + 110 + 110 + + lt=- +persist v + 10.0;10.0;10.0;60.0;90.0;60.0;90.0;90.0 + + + UMLNote + + 260 + 430 + 200 + 70 + + The operator orchestrates +ans manages all other +components. +bg=blue + + + + Relation + + 330 + 390 + 30 + 60 + + lt=.. + + 10.0;10.0;10.0;40.0 + + + UMLPackage + + 240 + 10 + 740 + 510 + + Kubernetes/secureCodeBox +-- +bg=#3296DC + + + + UMLClass + + 250 + 50 + 180 + 220 + + lt=.. +<<Job>> + +layer=1 + + + diff --git a/docs/uml/sequence_overview.png b/docs/uml/sequence_overview.png new file mode 100644 index 00000000..072adeaa Binary files /dev/null and b/docs/uml/sequence_overview.png differ diff --git a/docs/uml/sequence_overview.puml b/docs/uml/sequence_overview.puml new file mode 100644 index 00000000..8b53840d --- /dev/null +++ b/docs/uml/sequence_overview.puml @@ -0,0 +1,64 @@ +@startuml sequence_overview +!include _iteratecTheme.ipuml +!include _copyright.ipuml + +skinparam shadowing false +skinparam componentStyle uml2 + +actor kubectl + +box "secureCodeBox" + participant Operator <> + participant Scanner <> + participant Lurcher <> + participant Minio <> + participant Parser <> + collections ReadOnlyHooks <> + collections ReadAndWriteHooks <> +end box + +participant Target + +activate Target +activate Minio + +kubectl -\ Operator : start scan +activate Operator +Operator -> Scanner : run job +activate Scanner +activate Lurcher +Scanner -> Target : scan +Lurcher -\ Scanner : read data +Lurcher -\ Minio : store raw results +Scanner <-- Target +Operator <-- Scanner +deactivate Scanner +deactivate Lurcher + +Operator -> Parser : run job +activate Parser +Parser -> Minio : read raw results +Parser <-- Minio +Parser -> Minio : store JSON findings +Parser <-- Minio +Operator <-- Parser +deactivate Parser + +Operator -> ReadAndWriteHooks +activate ReadAndWriteHooks +ReadAndWriteHooks -> Minio : read findings/raw results +ReadAndWriteHooks <-- Minio +Operator <-- ReadAndWriteHooks +deactivate ReadAndWriteHooks + +Operator -> ReadOnlyHooks +activate ReadOnlyHooks +ReadOnlyHooks -> Minio : read findings/raw results +ReadOnlyHooks <-- Minio +ReadOnlyHooks -> Minio : write findings/raw results +ReadOnlyHooks <-- Minio +Operator <-- ReadOnlyHooks +deactivate ReadOnlyHooks + +deactivate Operator +@enduml