Tool, State, and Resource
The architecture documentation explains how in general DevStream works. If you haven’t read it yet, make sure you do that before continuing with this document.
1 Tool
- One of the major part of the Config is a list of tools, defined in here.
- Each Tool has its Name, Plugin, and Options, as defined here.
- Each Tool can have its dependencies, which are specified by the
dependsOn
keyword.
The dependency dependsOn
is an array of strings, with each element being a dependency. Each dependency is named in the format of “NAME.PLUGIN”. See here for example.
2 State
- The State is actually a map of states, as defined here.
- Each state in the map is a struct containing Name, Plugin, Options, and Resource, as defined here.
3 Resource
- We call what the plugin created a Resource, and the
Read()
interface of that plugin returns a description of that resource, which is in turn stored as part of the state.
Config-State-Resource workflow: