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 Process Definition to promote the objects from the "Dev" environment into the "Prod" environment. No object changes should be made in the "Test" environment.

Tabs and Fields

Tab Field Description
Remote System Partition The partition of the remote system.
Remote System Name The name of the remote system. If the remote system is of type Source or Both, this name must match the name of the declared System ID of the remote RunMyJobs instance (see below). Source and Both Remote System objects can be named *, in which case any remote RunMyJobs instance can promote to this system as long as they have valid credentials. Destination system names accept any UTF-8 character combination (except characters from the separator and other categories). Note that leading and trailing spaces will be trimmed.
Remote System Description A free-form description for the remote system. Limited to 255 characters.
Remote System Application The application for the remote system; applications allow you to group objects in functional packages.
Remote System Type The type of remote system (see above).
Remote System Location The URL of the remote system. For example: https://pr1.example.com:53000/redwood. Available for Destination and Both remote systems only.
Remote System Username The username of a user with sufficient privileges to export or import objects. Available for Destination and Both remote systems only.
Remote System Pusher Process Definition Process Definition or Chain Definition that is to be used to send the exported objects to a remote system. Available for Destination and Both remote systems only. See below for details.
Remote System Promote Further Process Definition Process Definition that is used to promote a previously promoted CAR file on to another remote system. Available for Both remote systems only. See below for details.
Remote System Push Acceptor Process Definition Process Definition that is used to validate inbound promotion requests. Available for Source and Both remote systems only. See below for details.
Remote System Import Rule Set Import Rule Set used to adapt incoming objects to the current system. Available for Source and Both remote systems only.
Remote System Allow Rule Set Override

A CAR file can contain its own Import Rule Set. This setting lets you determine whether to use the Import Rule set (if any) from an imported CAR file.

Available for Source and Both systems only.
Remote System Options Allows you to specify options for the outbound promotion, such as -targetpartition <partition>, forcing any outbound promotion requests using this remote system to set the target partition of all objects to <partition>. Import Rule Set parameters can also be set using the -P<name>=<value> syntax. Available for Destination and Both remote systems only.

Promotion Reaction Processes

Remote System objects can specify custom Process Definitions that are automatically called when you promote an object to another system (Pusher Process Definition and Promote Further Process Definition) or when a promoted object is received (Push Acceptor Process Definition). You can use such processes, for example, to ensure that all criteria are met for promotion. For more information, see Promotion Reaction Process 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 is example-inc_test
  • https://rmj.example.com/redwood: Originator ID is redwood

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.

  1. GLOBAL partition.
  2. Source system with the name of the originator ID.
  3. Catch-all Source system named *.
  4. Target partition of the objects to be imported.
  5. Source system with the name of the originator ID.
  6. 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.