Working with Remote Systems
When you are setting up a Production instance of RunMyJobs, it is a Redwood best practice to also have instances named (for example), Dev, Test, and Prod. In such situations, these instances of RunMyJobs are referred to as Remote Systems.
The Promotion Module lets you create Remote System Objects, which make it easier for you to promote Objects to Remote Systems. Remote System Objects let you define the connections between RunMyJobs instances, so that you can promote Objects by simply right-clicking them and choosing a Promote option from the context menu.
A Remote System Object is an Object in one RunMyJobs instance that servers as a pointer to a different RunMyJobs instance. There are three types of Remote System Object:
-
A Destination Remote System Object specifies the URL, Username, and Password of the RunMyJobs instance you are pushing to.
-
A Source Remote System Object represents the RunMyJobs instance you are pushing from. The reasons for using a source Remote System Object are discussed later.
-
A Both Remote System Object can serve as both a destination and a source.
In an environment where you develop in a Dev RunMyJobs instance, test in a Test RunMyJobs instance, and go live in a Prod RunMyJobs instance, the assumption is as follows:
-
Dev is a Source Remote System Object.
-
Test is a Both Remote System Object, because it receives Objects from "Dev" and export Objects to "Prod."
-
Prod is a Destination Remote System Object.
Tip: Redwood recommends editing Objects in the Dev environment only. If issues are found in the Test environment, Objects should be updated in the Dev environment and then promoted to the Test environment again. Once you are happy with the results, you can use the System_Promote_Further Job Definition to promote the Objects from the Dev environment into the Prod environment. No Object changes should be made in the Test environment.
Promotion Reaction Processes
Remote System Objects can specify custom Job Definitions that are automatically called when you promote an Object to another system (Pusher Job Definition and Promote Further Job Definition) or when a promoted Object is received (Push Acceptor Job Definition). You can use such processes, for example, to ensure that all criteria are met for promotion. For more information, see Promotion Reaction Job Definitions.
Remote System Selection
When a RunMyJobs instance receives a promotion request from another RunMyJobs instance, it searches for a Remote System Object that qualifies for the import. The search uses the originator ID, which is defined by the context of the RunMyJobs environment:
https://dublin.runmyjobs.cloud/example-inc/test
: Originator ID isexample-inc_test
https://rmj.example.com/redwood
: Originator ID isredwood
The search is performed in Partitions in the following order. This search order allows you to specify GLOBAL Import Rule Sets on Remote Systems in the GLOBAL Partition and Partition-specific Import Rule Sets in the target Partitions.
- GLOBAL Partition.
- Source instance with the name of the originator ID.
- Catch-all Source system named
*
. - Target Partition of the Objects to be imported.
- Source instance with the name of the originator ID.
- Catch-all Source system named
*
.
If no matching Remote System Object is found in these locations, and the LockDown registry entry is set, the promotion request will be vetoed and no Objects will be imported.
Security
To avoid issues, the name of the Source or Both Remote System Object must match the remote originator ID license key. When you specify a Source or Both Remote System Object, incoming Objects are scanned for the source RunMyJobs instance they come from. If the source RunMyJobs instance matches, the CAR file is imported. If not, the import will fail.
On the source RunMyJobs instance, you can optionally specify an alias in the following registry entry:
/configuration/export/name
On target RunMyJobs instance, you can create Source or Both Remote Systems Objects named after the alias instead of the originator ID
license key.
Note: A catch-all Remote System named *
is allowed in the GLOBAL Partition.