provs/doc/ProvsArchitecture.md

73 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

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.
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
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
```