provs/docs/CliApplication.puml

64 lines
1.4 KiB
Text

@startuml
autonumber
skinparam sequenceBox {
borderColor White
}
participant User
box "application" #LightBlue
participant CliWorkplace
participant WorkplaceCliCommand
participant Application
end box
box #White
participant CliUtils
participant "ProvInstance (local, remote...)" as ProvInstance
end box
box "domain" #LightGreen
participant ProvisionWorkplace
participant WorkplaceConfig
end box
box "infrastructure" #CornSilk
participant ConfigRepository
participant InfrastructureModules
end box
User -> CliWorkplace ++ : main(args...)
CliWorkplace -> WorkplaceCliCommand : parseWorkplaceArguments
CliWorkplace -> WorkplaceCliCommand : isValid ?
CliWorkplace -> CliUtils : createProvInstance
ProvInstance <- CliUtils : create
CliWorkplace -> ConfigRepository : getConfig
WorkplaceConfig <- ConfigRepository : create
WorkplaceConfig --> ConfigRepository : config
CliWorkplace <-- ConfigRepository : config
CliWorkplace -> Application : provision ( config )
Application -> ProvInstance : provisionWorkplace ( type, ssh, ...)
ProvInstance -> ProvisionWorkplace : provisionWorkplace
ProvisionWorkplace -> InfrastructureModules: Various calls like:
ProvisionWorkplace -> InfrastructureModules: install ssh, gpg, git ...
ProvisionWorkplace -> InfrastructureModules: installVirtualBoxGuestAdditions
ProvisionWorkplace -> InfrastructureModules: configureNoSwappiness, ...
@enduml