The node
PeSIT Wizard is a single process — the pesitwizard binary — that both listens for incoming PeSIT E transfers and initiates outgoing ones, over one shared configuration store, with the web console built in. There is no separate client and server to run, and no commercial edition.
Two REST surfaces
Both are backed by the same store:
- Admin API on
--api-port(default 8080, guarded byX-API-Key): partners, virtual files, listeners (/api/v1/servers+/start|/stop|/status), inbound transfer records, certificates, connectors, schedules, cluster, audit and backup — and the web console at/. The transfer API is also mounted here under/clientso the single-origin console can reach both. - Transfer API on
--transfer-port(default 9081): remote servers (/api/v1/servers),/api/v1/transfers/send|receive|message, outbound history, and/{id}/cancel|retry.
Unauthenticated operational endpoints sit on the admin port: /actuator/health (+ /liveness, /readiness), /metrics (Prometheus) and /ocsp (OCSP responder).
The PeSIT E protocol
The node implements the PeSIT E protocol as used on the SIT network and by IBM Sterling Connect:Express:
- CRC (PI 1), compression (PI 21: horizontal / vertical / mixed),
- multi-article DTF and article segmentation (DTFDA/DTFMA/DTFFA),
- synchronisation points with a window, restart and resynchronisation,
- record formats — binary fixed/variable/undefined and text fixed/variable,
- EBCDIC translation (PI 16, CP037),
- TLS with or without a transport-length header, and pre-connection for C:X partners of type T/O.
It is validated against Connect:Express 1.5 in Docker — transfers both ways, synchronisation points, restart and TLS. See the protocol reference.
Configuration
Everything is configured through the web console or the REST API, and persisted in an embedded store (--db). A YAML bootstrap file (PESIT_CONFIG) can seed partners, virtual files, remote partners and listeners at start-up, and is re-applied on SIGHUP.
Selected flags / environment variables:
| Flag / env | Purpose |
|---|---|
--api-port / PESIT_API_PORT | Admin API + console port (default 8080) |
--transfer-port / PESIT_TRANSFER_PORT | Transfer API port (default 9081) |
--api-key / PESIT_API_KEY | Admin API key (unset = no authentication) |
--db / PESIT_DB | Configuration database path |
--config / PESIT_CONFIG | YAML bootstrap file |
--cluster-nats / PESIT_CLUSTER_NATS | NATS URL to join a cluster |
--audit-max-entries / PESIT_AUDIT_MAX_ENTRIES | Audit-log retention cap (default 50 000) |
Graceful shutdown
On SIGTERM or Ctrl-C the HTTP servers stop accepting and let in-flight requests finish before the process exits, then listeners are stopped — so a rolling restart or a Kubernetes pod eviction does not abruptly cut the admin API.