Skip to main content

Components

View as Markdown

A Dex application runs on a small set of components. Your code is one of them. Dex provides the rest.

ComponentWhat it does
ApplicationYour Workers and Clients. Workers host Flow definitions and run Steps and RPCs. Clients start Flows, call RPCs, and read Attributes.
Serverserver-zd stores Flow state and hands work to Workers.
CLIdexcli runs a local Dex and operates Flows from a shell.
WebDex Web is the operator UI for inspecting and acting on Flows.
Connector setupConnectors are released integrations that a Flow calls. Dex Web sets them up locally.
External Attribute Syncserver-zd copies selected Attributes into PostgreSQL tables.

How they fit together​

Client  ──▶ server-zd ◀── Worker
Dex Web ──▶ │
dexcli ──▶ ├──▶ object storage
└──▶ PostgreSQL (Attribute Sync)

Workers, Clients, Dex Web, and dexcli all connect to the server's API port. A Worker opens outbound streams to the server and never listens for calls. The server keeps Flow state in object storage. It can also write selected Attributes to PostgreSQL for your own queries.

Local and production​

ComponentLocal developmentProduction
Serverdexcli dev starts server-zddex-server-zd serve with object storage
Webdexcli dev starts Dex WebA separate dex-web process, or dexcli web
ApplicationYour Worker processYour Worker service, scaled like any service

Each component page links to its Developer Reference, which has the configuration, limits, and version details.