Systems and topology
A topology is the declared shape of one System: which Components exist, which Resources join them, and which Ports and Services sit at the edges.
The declaration lives in the system host, a small .NET project generated by intropy sys create. The host is also what runs the System locally.
What the declaration contains
Section titled “What the declaration contains”| File | Contains |
|---|---|
Messages.cs |
Each message, the contract it carries, and the Topic it is published on. |
Ports.cs |
Port names. A Port is only a name. |
Services.cs |
Platform services the Components call. |
<Name>System.cs |
One builder call per Component. |
<Name>Development.cs |
Local stand-ins: folders for Ports, mocks for Services. |
The important file is the system definition:
builder.AddExtractor("order-extractor") .From(Ports.OrderExtractorSource) .Publishes(Messages.Order) .Calls(Services.Idempotency);
builder.AddLoader("order-loader") .Subscribes(Messages.Order) .To(Ports.OrderLoaderDestination) .Calls(Services.Idempotency);Every line is a box or arrow in the System:
The Distribution tutorial works with a declaration like this hands-on: chapters 3 and 4 grow a System by editing Messages.cs, Ports.cs, the system definition, and the development stand-ins.
What the declaration leaves out
Section titled “What the declaration leaves out”The topology does not contain adapter type, address, credentials, schedules, namespaces, or brokers. Those are environment-owned settings.
That split is why the same Component can run against:
- a local folder during the tutorial,
- an SFTP binding in a local cluster,
- a production endpoint in a GitOps environment.
The Component still knows only the Port name.
Why it is code
Section titled “Why it is code”- Illegal edges do not compile. A loader cannot publish to a Topic.
- Unused infrastructure does not enter the model. A Topic exists because something publishes to it.
- The same declaration backs local run, validation, generated deployment model, and runtime manifests.
For generated file details and host verbs, use The system host.