53 lines
No EOL
1.3 KiB
Markdown
53 lines
No EOL
1.3 KiB
Markdown
```plantuml
|
|
@startuml
|
|
|
|
autonumber
|
|
|
|
skinparam sequenceBox {
|
|
borderColor White
|
|
}
|
|
|
|
participant User
|
|
|
|
box "application" #LightBlue
|
|
participant Application
|
|
participant CliArgumentsParser
|
|
participant DesktopCliCommand
|
|
participant ProvWithSudo
|
|
end box
|
|
|
|
box #White
|
|
participant CliUtils
|
|
participant "Prov (local or remote...)" as ProvInstance
|
|
end box
|
|
|
|
box "domain" #LightGreen
|
|
participant "DesktopService"
|
|
end box
|
|
|
|
box "infrastructure" #CornSilk
|
|
participant ConfigRepository
|
|
participant "Various\ninfrastructure functions" as Infrastructure_functions
|
|
end box
|
|
|
|
|
|
User -> Application ++ : main(args...)
|
|
Application -> CliArgumentsParser : parseCommand
|
|
Application -> DesktopCliCommand : isValid ?
|
|
Application -> CliUtils : createProvInstance
|
|
ProvInstance <- CliUtils : create
|
|
|
|
Application -> ProvWithSudo : ensureSudoWithoutPassword
|
|
Application -> DesktopService : provisionDesktopCommand ( provInstance, desktopCliCommand )
|
|
|
|
DesktopService -> ConfigRepository : getConfig
|
|
|
|
DesktopService -> DesktopService : provisionDesktop( config )
|
|
|
|
DesktopService -> Infrastructure_functions: Various calls like:
|
|
DesktopService -> Infrastructure_functions: install ssh, gpg, git ...
|
|
DesktopService -> Infrastructure_functions: installVirtualBoxGuestAdditions
|
|
DesktopService -> Infrastructure_functions: configureNoSwappiness, ...
|
|
|
|
@enduml
|
|
``` |