Skip to content

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 by X-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 /client so 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 / envPurpose
--api-port / PESIT_API_PORTAdmin API + console port (default 8080)
--transfer-port / PESIT_TRANSFER_PORTTransfer API port (default 9081)
--api-key / PESIT_API_KEYAdmin API key (unset = no authentication)
--db / PESIT_DBConfiguration database path
--config / PESIT_CONFIGYAML bootstrap file
--cluster-nats / PESIT_CLUSTER_NATSNATS URL to join a cluster
--audit-max-entries / PESIT_AUDIT_MAX_ENTRIESAudit-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.

PeSIT Wizard — open source under Apache-2.0