deside howto create gittrust
This commit is contained in:
parent
8c5579a42c
commit
deab0f5484
1 changed files with 68 additions and 0 deletions
|
@ -0,0 +1,68 @@
|
|||
|
||||
## Initialization
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
actor user
|
||||
participant app as Application
|
||||
participant ds as DesktopService
|
||||
participant gtr as GitTrustFactory
|
||||
participant pa as CliArgumentsParser
|
||||
participant cr as DesktopConfigRepository
|
||||
participant ut as CliUtils
|
||||
participant su as ProvsWithSudo
|
||||
|
||||
user ->> app: main
|
||||
activate app
|
||||
app ->> pa: parseCommands
|
||||
app ->> cr: getConfig(configFileName)
|
||||
app ->> ut: createProvInstance(cmd.target)
|
||||
app ->> su: ensureSudoWithoutPassword(cmd.target.remoteTarget()?.password)
|
||||
app ->> ds: provisionDesktopCommand(cmd, config)
|
||||
activate ds
|
||||
ds ->> gtr : get("github", "gitlab")
|
||||
gtr -->> ds: GitTrust
|
||||
deactivate ds
|
||||
deactivate app
|
||||
```
|
||||
|
||||
## Domain
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
namespace configuration {
|
||||
class TargetCliCommand {
|
||||
val target: String,
|
||||
val passwordInteractive: Boolean = false
|
||||
}
|
||||
class ConfigFileName {
|
||||
fileName: String
|
||||
}
|
||||
}
|
||||
|
||||
namespace desktop {
|
||||
class DesktopCliCommand {
|
||||
}
|
||||
|
||||
class DesktopConfig {
|
||||
val ssh: SshKeyPairSource? = null,
|
||||
val gpg: KeyPairSource? = null,
|
||||
val gitUserName: String? = null,
|
||||
val gitEmail: String? = null,
|
||||
}
|
||||
|
||||
class DesktopType {
|
||||
val name: String
|
||||
}
|
||||
class DesktopOnlyModule {
|
||||
<<enum>>
|
||||
FIREFOX, VERIFY
|
||||
}
|
||||
}
|
||||
|
||||
DesktopCliCommand "1" *-- "1" DesktopType: type
|
||||
DesktopCliCommand "1" *-- "1" TargetCliCommand: target
|
||||
DesktopCliCommand "1" *-- "1" ConfigFileName: configFile
|
||||
DesktopCliCommand "1" *-- "..n" DesktopOnlyModule: onlyModules
|
||||
|
||||
```
|
Loading…
Reference in a new issue