Skip to content
Tutorial1/4

1. Scaffold the components

Create the extractor and first loader.

Create the workspace directory and render both templates into it:

Terminal window
mkdir distribution-workspace && cd distribution-workspace
intropy int create extractor -n ErpExtractor -o erp-extractor \
--publishes order-placed -s topic=orders -s organization=Fluxia -s empty=false
intropy int create loader -n WmsLoader -o wms-loader \
--subscribes order-placed -s topic=orders -s organization=Fluxia -s empty=false
fetching integrio-intropy/intropy-templates@v2.0.0
created erp-extractor from integrio-intropy/intropy-templates@v2.0.0 (template extractor)
created dependency Contracts from template shared-contracts
using cached integrio-intropy/intropy-templates@v2.0.0
created wms-loader from integrio-intropy/intropy-templates@v2.0.0 (template loader)
dependency Contracts already scaffolded from shared-contracts — skipped

Use your own organization in place of Fluxia. The other values connect the two Components:

  • --publishes order-placed and --subscribes order-placed name the same message. The message name is also the CloudEvent type the extractor stamps on every event, which is what routing matches on in chapters 3 and 4. Chapter 3 lets the extractor stamp a second type.
  • -s topic=orders sets the topic in both. Without it, the topic defaults to the message name. A named topic can carry several messages, which chapter 3 uses.

empty=false keeps sample pipeline logic in place. The first command also creates Contracts/ with the OrderPlaced record; the second reuses it.

Open the directory in your editor. For VS Code:

Terminal window
code .

On Windows, run code . from the WSL shell. VS Code opens the folder through its WSL extension, so the editor, its terminal and the .NET tooling all work against the WSL filesystem. The first run installs the VS Code server inside WSL.

Each project has .intropy/scaffold.json. The next chapter uses those records to assemble the System.

Terminal window
intropy int list
PATH TEMPLATE VERSION
Contracts shared-contracts v2.0.0
erp-extractor extractor v2.0.0
wms-loader loader v2.0.0

The workspace now has two Components and the shared contracts project.