2022-02-03 15:59:07 +00:00
|
|
|
# Bounded Contexts
|
|
|
|
|
|
|
|
```plantuml
|
|
|
|
@startuml
|
|
|
|
package "configuration" {
|
|
|
|
[TargetCommand]
|
|
|
|
}
|
|
|
|
|
|
|
|
package "desktop" {
|
|
|
|
[DesktopCommand]
|
|
|
|
}
|
|
|
|
|
|
|
|
package "server" {
|
|
|
|
[ServerCommand]
|
|
|
|
}
|
|
|
|
|
|
|
|
server ..> configuration
|
|
|
|
desktop ..> configuration
|
|
|
|
|
|
|
|
using ..> used
|
|
|
|
@enduml
|
|
|
|
```
|
|
|
|
|
|
|
|
# DDD in Provs
|
|
|
|
|
2022-02-03 12:00:01 +00:00
|
|
|
```plantuml
|
|
|
|
@startuml
|
|
|
|
'https://plantuml.com/class-diagram
|
|
|
|
|
|
|
|
package application {
|
|
|
|
class Application
|
|
|
|
}
|
|
|
|
|
|
|
|
package domain {
|
2022-02-11 09:16:49 +00:00
|
|
|
class Service {
|
|
|
|
cleanup (): means remove parts (install & configuration) to enable e.g. re-provision in some cases, results in an error otherwise.
|
|
|
|
provision (): means install & configure.
|
2022-02-24 17:51:54 +00:00
|
|
|
install (): install packages, files but not configuration files. Fire & forget (re-) installation is possible.
|
2022-02-11 09:16:49 +00:00
|
|
|
configure (): install and apply configuration.
|
|
|
|
}
|
2022-02-03 12:00:01 +00:00
|
|
|
class Domain
|
|
|
|
}
|
|
|
|
Application ..> Service
|
|
|
|
Application ..> Domain
|
|
|
|
|
|
|
|
package infrastructure {
|
|
|
|
class Repository
|
2022-02-24 17:51:54 +00:00
|
|
|
class Provs {
|
|
|
|
|
|
|
|
create<type>(): create a new item - might also have a parameter like: skipIfExisting
|
|
|
|
delete<type>(): delete an item - might also have a parameter like: failIfNotExisting
|
|
|
|
check<type>(): check if an item exists (returns true resp. false)
|
|
|
|
check<type>Content(): check content of item (returns true resp. false), e.g. checkFileContent
|
|
|
|
check<type>Runs(): check if container/service is running (returns true resp. false)
|
|
|
|
start<type>(): start e.g. a container (or a service)
|
|
|
|
stop<type>(): stop a container/service
|
|
|
|
remove<type>(): remove e.g. a container or image
|
|
|
|
|
|
|
|
—————————————————————————————————————————————————————— ()
|
|
|
|
Remark1: types can be e.g.: "file", "dir", "user", "container" (depending on the command)
|
|
|
|
Remark2: References to external software (or modules) should generally follow the external naming conventions.
|
|
|
|
(E.g. for kubectl commands the verbs might include: apply, delete, get, describe, etc)
|
|
|
|
}
|
2022-02-03 12:00:01 +00:00
|
|
|
}
|
|
|
|
Service ..> Domain
|
|
|
|
Service ..> Service
|
|
|
|
Service ..> Repository
|
|
|
|
Service ..> Provs
|
|
|
|
|
2022-02-03 15:59:07 +00:00
|
|
|
using ..> used
|
2022-02-03 12:00:01 +00:00
|
|
|
@enduml
|
2022-02-03 20:11:01 +00:00
|
|
|
```
|