The SWIFT is a container orchestration, backup, and disaster recovery (DR) solution for Kubernetes and OpenShift environments. It provides an Any-to-Any DR capability, enabling seamless sync between source and target container platforms across public clouds and on-premises datacenters. SWIFT works on top of existing container platforms such as Kubernetes and OpenShift.
This KB article covers:
- Initial SWIFT setup
- Accessing the SWIFT dashboard
- Uploading the TRAI image to Oracle Cloud Infrastructure Registry (OCIR)
- Configuring image-pull secrets on Kubernetes/OpenShift clusters
Initial SWIFT setup
After creating a SWIFT instance from Oracle Marketplace: Please refer how_to_spin_out_swift_from_marketplace
1. Connect to the SWIFT instance.
2. Set a password for the admin user using the following command:
sudo swiftcli user modify admin --password <password_of_your_choice>
Accessing the SWIFT dashboard
Use the following URL to access the SWIFT dashboard:
https://<swift-host-ip>/swift/dashboard/
If login is successful, the SWIFT dashboard will be accessible and ready for Kubernetes/OpenShift migration, backup, and DR operations.
Downloading the Operations Guide
You can download the SWIFT Operations Guide using either of the following methods:
From Login Page you can download the Installation and Prerequisite Guide from the SWIFT Dashboard.

Uploading the TRAI image to Oracle Cloud Infrastructure Registry (OCIR)
TRAI stands for Transient RackWare Agent Image. TRAI is an exclusive container image deployed with the SWIFT. It is used by the SWIFT server to deploy under your SWIFT managed Kubernetes or OpenShift cluster for the transient sync time.To know more about TRAI image, please check the “SWIFTOperationsGuide.pdf”
The TRAI image needs to be uploaded to the container registry for the SWIFT managed Kubernetes or OpenShift cluster. It is an one-time configuration step. The below section highlights steps for uploading TRAI image to Oracle Cloud Infrastructure Registry (OCIR). If you are managing any non-OCI clusters under SWIFT (like you source cloud or on-prem cluster for migration, for example), then you can use the SWIFT Operations Guide for specific steps. The steps overall remain the same for uploading TRAI image to any registry type.
Note: It's not mandatory to use OCIR registry and you can use a container registry of your choice. Just make the TRAI image available to the source and target namespace by setting up the image pull secret with similar steps as below.
Uploading TRAI Image to OCIR
Step 1: Login to OCIR
Use Docker login to authenticate with OCIR.
docker login <region-key>.ocir.io
Example:
docker login phx.ocir.io
Example Credentials
Username: a502645/swift Password: <auth-token>
Replace <auth-token> with your OCI authentication token.
For more information about OCIR authentication, refer to:
Oracle Container Registry Documentation
Step 2: Copy TRAI Image Tar File
Copy the TRAI image tar file from the SWIFT server to a machine where Docker is installed.
Default file location:
/opt/swift/traipod/rackware-trai-docker.tar.gz
Step 3: Load the Docker Image
Navigate to the directory containing the tar file and execute:
docker load < rackware-trai-docker.tar.gz
Verify the image:
docker images
Example output:
REPOSITORY TAG IMAGE ID CREATED SIZE Rackware-trai Release-1.0.6.37 148d70c65ab7 18 hours ago 837 MB
Step 4: Tag the Image for OCIR
Tag the Docker image before pushing it to OCIR.
Syntax:
docker tag <IMAGE_ID> <region-key>.ocir.io/<tenancy-namespace>/<repository-name>:<tag>
Example:
docker tag 148d70c65ab7 phx.ocir.io/a502645/swift:release-1.0.6.37
Verify the tagged image:
docker images
Example output:
REPOSITORY TAG IMAGE ID CREATED SIZE Rackware-trai Release-1.0.6.37 148d70c65ab7 18 hours ago 837 MB phx.ocir.io/a502645/swift Release-1.0.6.37 148d70c65ab7 18 hours ago 837 MB
Step 5: Push the Image to OCIR
Push the tagged image to OCIR.
Syntax:
docker push <region-key>.ocir.io/<tenancy-namespace>/<repository-name>:<tag>
Example:
docker push phx.ocir.io/a502645/swift:release-1.0.6.37
Configuring image-pull secrets on Kubernetes/OpenShift clusters
After uploading the TRAI image to OCIR, create image-pull secrets in both source and target Kubernetes/OpenShift namespaces.
Step 6: Create Image Pull Secret on Source Cluster
Syntax:
kubectl --namespace <app-namespace> create secret docker-registry <secret-name> \ --docker-server=<region-key>.ocir.io \ --docker-username=<username> \ --docker-password=<auth-token> \ --docker-email=<email>
Example:
kubectl --namespace app1 create secret docker-registry ocirsecret \
--docker-server=phx.ocir.io \
--docker-username='a502645/swift' \
--docker-password='k]k64r{1sHJSF-;)K8' \
--docker-email='swift@rackwareinc.com'Step 7: Create Image Pull Secret on Target Cluster
Repeat the same process on the OCI Kubernetes target cluster.
Example:
kubectl --namespace tgt-app1 create secret docker-registry ocirsecret \
--docker-server=phx.ocir.io \
--docker-username='a502645/swift' \
--docker-password='k]k64r{1sHJSF-;)K8' \
--docker-email='swift@rackwareinc.com'#Required Values for SWIFT Sync Configuration
After completing the setup, note the following values for future sync configurations:
| Parameter | Example | | ----------------- | -------------------------------------------- | | TRAI Image Name | `phx.ocir.io/a502645/swift:release-1.0.6.37` | | Image Pull Secret | `ocirsecret` |
#Important Notes
- Uploading the TRAI image is a one-time configuration step.
- Using OCIR is optional; any accessible container registry can be used.
- Ensure the registry is reachable from both source and target clusters.
- The image-pull secret must exist in the application namespaces participating in migration or sync.