Documentation
Quick Start & Usage Reference
Everything you need to configure and run iris-sscp (formerly go-sscp, iris2iris) for InterSystems IRIS SuperServer file transfers using Caretdev's caretdev/go-irisnative Go library.
1. Zero Custom Class Loading Required
iris-sscp requires no IPM installation and no custom ObjectScript classes on either the source or target InterSystems IRIS instances.
It connects over IRIS SuperServer (port 1972) using Caretdev's caretdev/go-irisnative Go driver to execute RPC calls against built-in IRIS system classes (%File and %Stream.FileBinary) that exist out of the box on every IRIS installation.
2. Execution Modes
Direct Out-of-Band Copy (Default / Recommended)
Streams files directly between IRIS SuperServer instances or from a local container file to a target IRIS filesystem using stock %Stream.FileBinary system calls:
export SSCP_SOURCE="_SYSTEM:SYS@source-host:1972@USER:/data/source.dat"
export SSCP_TARGET="_SYSTEM:SYS@target-host:1972@USER:/data/destination.dat"
export SSCP_MODE="direct"
# Single-shot execution
iris-sscp --once
Initiator RPC Mode
Connects to a source IRIS instance over SuperServer and triggers a remote RPC copy operation:
export SSCP_SOURCE="_SYSTEM:SYS@source-host:1972@%SYS:/data/source.dat"
export SSCP_TARGET="_SYSTEM:SYS@target-host:1972@SDOH:/data/destination.dat"
export SSCP_MODE="initiator"
iris-sscp --once
3. Environment Variables Reference
All configuration parameters can be supplied via standard environment variables:
| Variable | Description | Default | Example |
|---|---|---|---|
SSCP_SOURCE | Full source connection string or local file path | _SYSTEM:SYS@iris1:1972@USER:/iris1/TESTA.txt | _SYSTEM:SYS@source-host:1972@USER:/data/file.dat |
SSCP_TARGET | Full target connection string and destination path | _SYSTEM:SYS@iris2:1972@USER:/iris2/copyTESTA.txt | _SYSTEM:SYS@target-host:1972@USER:/data/file.dat |
SSCP_INTERVAL | Repeat ticker interval (5s, 1m, 0, once) | 5s | 10s or once |
SSCP_MODE | Copy execution mode (direct, initiator) | direct | direct or initiator |
SSCP_SOURCE_HOST | Source IRIS host / IP override | "" | iris-source.prod |
SSCP_SOURCE_PORT | Source SuperServer port override | 1972 | 1972 |
SSCP_SOURCE_USER | Source connection username | "" | _SYSTEM |
SSCP_SOURCE_PASS | Source connection password | "" | SYS |
SSCP_SOURCE_NAMESPACE | Source IRIS namespace | "" | USER |
SSCP_SOURCE_FILE | Source file path | "" | /data/export.dat |
SSCP_TARGET_HOST | Target IRIS host / IP override | "" | iris-target.prod |
SSCP_TARGET_PORT | Target SuperServer port override | 1972 | 1972 |
SSCP_TARGET_USER | Target connection username | "" | _SYSTEM |
SSCP_TARGET_PASS | Target connection password | "" | SYS |
SSCP_TARGET_NAMESPACE | Target IRIS namespace | "" | SDOH |
SSCP_TARGET_FILE | Target destination file path | "" | /data/import.dat |