Developer documentation is written in Markdown and can be built into HTML, PDF, etc. using Sphinx. Diagrams are written in PlantUML and rendered as SVGs. All developer docs live in the `developer-docs` folder under the root of the repository.
24 lines
1.1 KiB
Plaintext
24 lines
1.1 KiB
Plaintext
@startuml
|
|
participant "Language SDK" order 10
|
|
box "Engine"
|
|
participant "Resource Monitor" order 15
|
|
participant "Step Generator" order 20
|
|
participant "Step Executor" order 25
|
|
end box
|
|
participant "Resource Provider" order 30
|
|
|
|
"Language SDK" -> "Resource Monitor" ++ : RegisterResourceRequest(type, name, inputs, options)
|
|
"Resource Monitor" -> "Step Generator" ++ : RegisterResourceEvent(type, name, inputs, options)
|
|
"Step Generator" -> "Resource Provider" ++ : CheckRequest(type, inputs, old inputs)
|
|
"Step Generator" <- "Resource Provider" -- : CheckResponse(inputs', failures)
|
|
"Step Generator" -> "Resource Provider" ++ : DiffRequest(type, inputs', old state)
|
|
"Step Generator" <- "Resource Provider" -- : DiffResponse(diffs)
|
|
"Step Generator" -> "Step Executor" --++ : SameStep(inputs', old state, options)
|
|
note left
|
|
This is fire-and-forget on the part of the step generator.
|
|
The step will run in parallel with steps for other resources.
|
|
end note
|
|
"Resource Monitor" <- "Step Executor" -- : done(old state)
|
|
"Language SDK" <- "Resource Monitor" -- : RegisterResourceResponse(urn, ID, old tate)
|
|
@enduml
|