You are reading the documentation for an outdated Corteza release. 2024.9 is the latest stable Corteza release.
The diagram outlines Envoy’s architecture; the main layers.
@startuml
' ---------------
' Decoder layer
' ---------------
package "Decoder layer" as dc {
  [yaml] as dcyml
  [csv] as dccsv
  [store] as dcstore
  note as ndc
  A decoder takes in a set of sources
  and returns a set of resource and
  template nodes.
  end note
}

interface "Decoded data source" as dcDataSrc

dcyml -down-> dcDataSrc
dccsv -down-> dcDataSrc
dcstore -down-> dcDataSrc

' ---------------
' Data shaping
' ---------------

package "Data shaping layer" as shaperLayer {
  [Shaper] as shaper

  note as nshaperLayer
  The data shaping layer takes in raw datasets
  and resource template and produces actual
  resources.
  end note
}

interface "Envoy resource set" as eNodeSet

dcDataSrc -down-> shaper
shaper -down-> eNodeSet

' ---------------
' Graph builder
' ---------------

package "Graph builder" as g {
  [Graph builder] as gbld

  note as ng
  The graph builder performs additional data
  transformations and pre-processing in order
  to construct a final dependency graph.
  end note
}

interface "Dependency graph" as depG

eNodeSet -down-> gbld
gbld -down-> depG

' ---------------
' Encoder layer
' ---------------

package "Encoder" as enc {
  [yaml] as encyml
  [csv] as enccsv
  [store] as encstore

  note as nenc
  The encoder layer takes in a dependency graph
  and encodes the data to the specified destination.
  end note
}

depG -down-> encyml
depG -down-> enccsv
depG -down-> encstore

@enduml