Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Introduction

In the JS7 - Deployment process a Deployment Descriptor specifies

...

The JS7 - Deployment Packaging Script makes use of the Deployment Descriptor to install and to package JS7 components.

Deployment Descriptor

Deployment Descriptors are specified from .json files.

  • Users are strongly encouraged to validate their .json files against the Deployment Descriptor Schema: JS7_Deployment_Descriptor_v1.0.json
  • The basic structure includes to specify an array of Agent objects.

Deployment Descriptor JSON Schema for Agent

Status
colourYellow
titleTODO

Deployment Descriptor JSON Schema for Controller

Status
colourYellow
titleTODO

Deployment Descriptor JSON Schema for JOC Cockpit

Status
colourYellow
titleTODO

Examples

Deployment Descriptor for Agent

Agents using HTTP Connections

The Deployment Descriptor specifies two Agents to be installed on two hosts:

...

Code Block
titleExample for Deployment Descriptor
linenumberstrue
collapsetrue
{
    "descriptor": {
        "descriptorId": "agent-http-2022-12-04",
        "title": "Install or update Agents using HTTP connections",
        "account": "sos",
        "scheduled": "2022-12-02T06:19:12+01:00",
        "created": "2022-11-30T23:19:12+01:00"
    },
    "agents": [
        {
            "agent_001": {
                "target": {
                    "connection": {
                        "host": "centostest-primary",
                        "port": 22
                    },
                    "authentication": {
                        "method": "publickey",
                        "user": "sos",
                        "keyFile": "/home/sos/.ssh/sos_rsa"
                    },
                    "packageLocation": "/tmp",
                    "execPre": "sudo systemctl stop js7_agent.service",
                    "execPost": "sudo systemctl start js7_agent.service"
                },
                "media": {
                    "release": "2.5.0",
                    "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_agent_unix.2.5.0.tar.gz"
                },
                "installation": {
                    "home": "/opt/sos-berlin.com/js7/agent-primary",
                    "data": "/var/sos-berlin.com/js7/agent-primary",
                    "httpPort": "31445"
                }
            }
        },
        {
            "agent_002": {
                "target": {
                    "connection": {
                        "host": "centostest-secondary",
                        "port": 22
                    },
                    "authentication": {
                        "method": "publickey",
                        "user": "sos",
                        "keyFile": "/home/sos/.ssh/sos_rsa"
                    },
                    "packageLocation": "/tmp",
                    "execPre": "sudo systemctl stop js7_agent.service",
                    "execPost": "sudo systemctl start js7_agent.service"
                },
                "media": {
                    "release": "2.5.0",
                    "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_agent_unix.2.5.0.tar.gz"
                },
                "installation": {
                    "home": "/opt/sos-berlin.com/js7/agent-secondary",
                    "data": "/var/sos-berlin.com/js7/agent-secondary",
                    "httpPort": "32445"
                }
            }
        }
    ],
    "controllers": [],
    "joc": []
}

Agents using HTTPS Connections

The Deployment Descriptor specifies two Agents to be installed on two hosts:

...

Code Block
titleExample for Deployment Descriptor
linenumberstrue
collapsetrue
{
    "descriptor": {
        "descriptorId": "agent-https-2022-12-04",
        "title": "Install or update Agents using HTTPS connections",
        "account": "sos",
        "scheduled": "2022-12-02T06:19:12+01:00",
        "created": "2022-11-30T23:19:12+01:00"
    },
    "certificates": {
        "controller": {
            "primaryControllerCert": "controllers/instances/testsuite.primary/config/private/centostest-primary.crt",
            "secondaryControllerCert": "controllers/instances/testsuite.secondary/config/private/centostest-secondary.crt"
        }
    },
    "agents": [
        {
            "agent_001": {
                "target": {
                    "connection": {
                        "host": "centostest-primary",
                        "port": 22
                    },
                    "authentication": {
                        "method": "publickey",
                        "user": "sos",
                        "keyFile": "/home/sos/.ssh/sos_rsa"
                    },
                    "packageLocation": "/tmp",
                    "execPre": "sudo systemctl stop js7_agent.service",
                    "execPost": "sudo systemctl start js7_agent.service"
                },
                "media": {
                    "release": "2.5.0",
                    "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_agent_unix.2.5.0.tar.gz"
                },
                "installation": {
                    "home": "/opt/sos-berlin.com/js7/agent-primary",
                    "data": "/var/sos-berlin.com/js7/agent-primary",
                    "httpPort": "localhost:31443",
                    "httpsPort": "centostest-primary:31443"
                },
                "configuration": {
                    "controller": {
                        "controllerId": "testsuite"
                    },
                    "certificates": {
                        "keyStore": "agents/instances/agent_001/config/private/https-keystore.p12",
                        "keyStorePassword": "jobscheduler",
                        "keyPassword": "jobscheduler",
                        "trustStore": "agents/instances/agent_001/config/private/https-truststore.p12",
                        "trustStorePassword": "jobscheduler"
                    },
                    "templates": [
                        "agents/templates/https/config"
                    ]
                }
            }
        },
        {
            "agent_002": {
                "target": {
                    "connection": {
                        "host": "centostest-secondary",
                        "port": 22
                    },
                    "authentication": {
                        "method": "publickey",
                        "user": "sos",
                        "keyFile": "/home/sos/.ssh/sos_rsa"
                    },
                    "packagelocation": "/tmp",
                    "execPre": "sudo systemctl stop js7_agent.service",
                    "execPost": "sudo systemctl start js7_agent.service"
                },
                "media": {
                    "release": "2.5.0",
                    "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_agent_unix.2.5.0.tar.gz"
                },
                "installation": {
                    "home": "/opt/sos-berlin.com/js7/agent-secondary",
                    "data": "/var/sos-berlin.com/js7/agent-secondary",
                    "httpPort": "localhost:32443",
                    "httpsPort": "centostest-secondary:32443"
                },
                "configuration": {
                    "controller": {
                        "controllerId": "testsuite"
                    },
                    "certificates": {
                        "keyStore": "agents/instances/agent_002/config/private/https-keystore.p12",
                        "keyStorePassword": "jobscheduler",
                        "keyPassword": "jobscheduler",
                        "trustStore": "agents/instances/agent_002/config/private/https-truststore.p12",
                        "trustStorePassword": "jobscheduler"
                    },
                    "templates": [
                        "agents/templates/https/config"
                    ]
                }
            }
        }
    ],
    "controllers": [],
    "joc": []
}  

Resources

...

Standalone Controller using HTTP Connections

The Deployment Descriptor specifies a Standalone Controller to be installed:

  • Host centostest-primary operates the Controller instance.
  • The Controller makes use of HTTP connections.

Download example: controller-http-20221204.json

Code Block
titleExample for Deployment Descriptor
linenumberstrue
collapsetrue
{
    "descriptor": {
        "descriptorId": "controller-http-20221204",
        "title": "Install or update Standalone Controller using HTTP connections",
        "account": "sos",
        "scheduled": "2022-12-02T06:19:12+01:00",
        "created": "2022-11-30T23:19:12+01:00"
    },
    "agents": [],
    "controllers": [
        {
            "standalone": {
                "primary": {
                    "target": {
                        "connection": {
                            "host": "centostest-primary",
                            "port": 22
                        },
                        "authentication": {
                            "method": "publickey",
                            "user": "sos",
                            "keyFile": "/home/sos/.ssh/sos_rsa"
                        },
                        "packageLocation": "/tmp"
                    },
                    "media": {
                        "release": "2.5.0",
                        "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_controller_unix.2.5.0.tar.gz"
                    },
                    "installation": {
                        "home": "/home/sos/js7.target/opt/controller-primary",
                        "data": "/home/sos/js7.target/var/controller-primary",
                        "httpPort": "23444",
                        "javaOptions": "-Xmx256m"
                    },
                    "configuration": {
                        "templates": [
                            "controllers/templates/https.primary/config"
                        ]
                    }
                }
            }
        }
    ],
    "joc": []
}

Standalone Controller using HTTPS Connections

The Deployment Descriptor specifies a Standalone Controller to be installed:

  • Host centostest-primary operates the Controller instance.
  • The Controller makes use of HTTPS connections and is equipped with a certificate.

Download example: controller-https-20221204.json

Code Block
titleExample for Deployment Descriptor
linenumberstrue
collapsetrue
{
    "descriptor": {
        "descriptorId": "controller-https-20221204",
        "title": "Install or update Standalone Controller using HTTPS connections",
        "account": "sos",
        "scheduled": "2022-12-02T06:19:12+01:00",
        "created": "2022-11-30T23:19:12+01:00"
    },
    "agents": [],
    "controllers": [
        {
            "standalone": {
                "primary": {
                    "target": {
                        "connection": {
                            "host": "centostest-primary",
                            "port": 22
                        },
                        "authentication": {
                            "method": "publickey",
                            "user": "sos",
                            "keyFile": "/home/sos/.ssh/sos_rsa"
                        },
                        "packageLocation": "/tmp"
                    },
                    "media": {
                        "release": "2.5.0",
                        "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_controller_unix.2.5.0.tar.gz"
                    },
                    "installation": {
                        "home": "/home/sos/js7.target/opt/controller-primary",
                        "data": "/home/sos/js7.target/var/controller-primary",
                        "httpPort": "localhost:23443",
                        "httpsPort": "centostest-primary:23443",
                        "javaOptions": "-Xmx256m"
                    },
                    "configuration": {
                        "certificates": {
                            "keyStore": "controllers/instances/standalone/config/private/https-keystore.p12",
                            "keyStorePassword": "jobscheduler",
                            "keyPassword": "jobscheduler",
                            "trustStore": "controllers/instances/standalone/config/private/https-truststore.p12",
                            "trustStorePassword": "jobscheduler"
                        },
                        "templates": [
                            "controllers/templates/https.primary/config"
                        ]
                    }
                }
            }
        }
    ],
    "joc": []
}    

Deployment Descriptor for JOC Cockpit

Standalone JOC Cockpit using HTTP Connections

The Deployment Descriptor specifies a Standalone JOC Cockpit instance:

  • Host centostest-primary operates the JOC Cockpit instance.
  • JOC Cockpit makes use of HTTP connections.

Download example: joc-http-20221204.json

Code Block
titleExample for Deployment Descriptor
linenumberstrue
collapsetrue
{
    "descriptor": {
        "descriptorId": "joc-http-20221204",
        "title": "Install or update Standalone JOC Cockpit using HTTP connections",
        "account": "sos",
        "scheduled": "2022-12-02T06:19:12+01:00",
        "created": "2022-11-30T23:19:12+01:00"
    },
    "agents": [],
    "controllers": [],
    "joc": [
        {
            "joc_001": {
                "primary": {
                    "target": {
                        "connection": {
                            "host": "centostest-primary",
                            "port": 22
                        },
                        "authentication": {
                            "method": "publickey",
                            "user": "sos",
                            "keyFile": "/home/sos/.ssh/sos_rsa"
                        },
                        "packageLocation": "/tmp",
                        "execPre": "sudo systemctl stop joc-primary.service",
                        "execPost": "sudo systemctl stop joc-primary.service"
                    },
                    "media": {
                        "release": "2.5.0",
                        "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_joc_linux.2.5.0.tar.gz"
                    },
                    "installation": {
                        "setupDir": "/home/sos/js7.target/opt/joc-primary.setup",
                        "home": "/home/sos/js7.target/opt/joc-primary",
                        "data": "/home/sos/js7.target/var/joc-primary",
                        "httpPort": "11446",
                        "isUser": true,
                        "isPreserveEnv": true,
                        "javaOptions": "-Xmx512m -Djava.security.egd=file:///dev/urandom"
                    },
                    "configuration": {
                        "responseDir": "joc/instances/joc_001.primary/response",
                        "templates": [
                            "joc/templates/http/resources"
                        ]
                    }
                }
            }
        }
    ]
}

Standalone JOC Cockpit using HTTPS Connections

The Deployment Descriptor specifies a Standalone JOC Cockpit instance:

  • Host centostest-primary operates the JOC Cockpit instance.
  • JOC Cockpit makes use of HTTPS connections.

Download example: joc-https-20221204.json

Code Block
titleExample for Deployment Descriptor
linenumberstrue
collapsetrue
{
    "descriptor": {
        "descriptorId": "joc-https-20221204",
        "title": "Install or update Standalone JOC Cockpit using HTTPS connections",
        "account": "sos",
        "scheduled": "2022-12-02T06:19:12+01:00",
        "created": "2022-11-30T23:19:12+01:00"
    },
    "agents": [],
    "controllers": [],
    "joc": [
        {
            "joc_001": {
                "primary": {
                    "target": {
                        "connection": {
                            "host": "centostest-primary",
                            "port": 22
                        },
                        "authentication": {
                            "method": "publickey",
                            "user": "sos",
                            "keyFile": "/home/sos/.ssh/sos_rsa"
                        },
                        "packageLocation": "/tmp",
                        "execPre": "sudo systemctl stop joc-primary.service",
                        "execPost": "sudo systemctl stop joc-primary.service"
                    },
                    "media": {
                        "release": "2.5.0",
                        "tarball": "/mnt/releases/scheduler_setups//2.5.0/js7_joc_linux.2.5.0.tar.gz"
                    },
                    "installation": {
                        "setupDir": "/home/sos/js7.target/opt/joc-primary.setup",
                        "home": "/home/sos/js7.target/opt/joc-primary",
                        "data": "/home/sos/js7.target/var/joc-primary",
                        "httpsPort": "11443",
                        "isUser": true,
                        "isPreserveEnv": true,
                        "javaOptions": "-Xmx512m -Djava.security.egd=file:///dev/urandom"
                    },
                    "configuration": {
                        "responseDir": "joc/instances/joc_001.primary/response",
                        "certificates": {
                            "keyStore": "joc/instances/joc_001.primary/resources/https-keystore.p12",
                            "keyStorePassword": "jobscheduler",
                            "keyPassword": "jobscheduler",
                            "trustStore": "joc/instances/joc_001.primary/resources/https-truststore.p12",
                            "trustStorePassword": "jobscheduler"
                        },
                        "templates": [
                            "joc/templates/https/resources"
                        ]
                    }
                }
            }
        }
    ]
}

Deployment Descriptor for Agents, Controllers, JOC Cockpit

Agent, Standalone Controller and JOC Cockpit using HTTP Connections

The Deployment Descriptor specifies a complete job scheduling environment including

  • Host centostest-primary operating an Agent, a Standalone Controller instance and JOC Cockpit instance.
  • All components use HTTP connections.

Download example: agent-controller-joc-http-2022-12-04.json

Code Block
titleExample for Deployment Descriptor
linenumberstrue
collapsetrue
{
    "descriptor": {
        "descriptorId": "agent-controller-joc-http-20221204",
        "title": "Install or update Agent, Controller and JOC Cockpit using HTTP connections",
        "account": "sos",
        "scheduled": "2022-12-02T06:19:12+01:00",
        "created": "2022-11-30T23:19:12+01:00"
    },
    "agents": [
        {
            "agent_001": {
                "target": {
                    "connection": {
                        "host": "centostest-primary",
                        "port": 22
                    },
                    "authentication": {
                        "method": "publickey",
                        "user": "sos",
                        "keyFile": "/home/sos/.ssh/sos_rsa"
                    },
                    "packageLocation": "/tmp",
                    "execPre": "sudo systemctl stop js7_agent.service",
                    "execPost": "sudo systemctl start js7_agent.service"
                  },
                "media": {
                    "release": "2.5.0",
                    "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_agent_unix.2.5.0.tar.gz"
                },
                "installation": {
                    "home": "/home/sos/js7.target/opt/agent-primary",
                    "data": "/home/sos/js7.target/var/agent-primary",
                    "httpPort": "31445"
                },
                "configuration": {
                    "controller": {
                        "controllerId": "testsuite"
                    },
                    "templates": [
                        "agents/templates/https/config"
                    ]
                }
            }
        }
    ],
    "controllers": [
        {
            "testsuite": {
                "primary": {
                    "target": {
                        "connection": {
                            "host": "centostest-primary",
                            "port": 22
                        },
                        "authentication": {
                            "method": "publickey",
                            "user": "sos",
                            "keyFile": "/home/sos/.ssh/sos_rsa"
                        },
                        "packageLocation": "/tmp",
                        "execPre": "sudo systemctl stop js7_controller.service",
                        "execPost": "sudo systemctl start js7_controller.service"
                      },
                    "media": {
                        "release": "2.5.0",
                        "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_controller_unix.2.5.0.tar.gz"
                    },
                    "installation": {
                        "home": "/home/sos/js7.target/opt/controller-primary",
                        "data": "/home/sos/js7.target/var/controller-primary",
                        "httpPort": "21444"
                    },
                    "configuration": {
                        "templates": [
                            "controllers/templates/https.primary/config"
                        ]
                    }
                }
            }
        }
    ],
    "joc": [
        {
            "joc_001": {
                "primary": {
                    "target": {
                        "connection": {
                            "host": "centostest-primary",
                            "port": 22
                        },
                        "authentication": {
                            "method": "publickey",
                            "user": "sos",
                            "keyFile": "/home/sos/.ssh/sos_rsa"
                        },
                        "packageLocation": "/tmp",
                        "execPre": "sudo systemctl stop js7_joc.service",
                        "execPost": "sudo systemctl start js7_joc.service"
                    },
                    "media": {
                        "release": "2.5.0",
                        "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_joc_linux.2.5.0.tar.gz"
                    },
                    "installation": {
                        "setupDir": "/home/sos/js7.target/opt/joc-primary.setup",
                        "home": "/home/sos/js7.target/opt/joc-primary",
                        "data": "/home/sos/js7.target/var/joc-primary",
                        "httpPort": "11446",
                        "isUser": true,
                        "isPreserveEnv": true,
                        "javaOptions": "-Xmx512m -Djava.security.egd=file:///dev/urandom"
                    },
                    "configuration": {
                        "responseDir": "joc/instances/joc_001.primary/response",
                        "templates": [
                            "joc/templates/https/resources"
                        ]
                    }
                }
            }
        }
    ]
}

Agents, Controller Cluster and JOC Cockpit Cluster using HTTPS Connections

The Deployment Descriptor specifies a complete job scheduling environment including

  • Host centostest-primary and centostest-secondary each operate an Agent, a Controller instance and a JOC Cockpit instance.
  • Controller and JOC Cockpit instances on both hosts act as a cluster. Use of clustering includes to deploy a JS7 license.
  • All components use HTTPS connections and are equipped with certificates.

Download example: agent-controller-joc-https-2022-12-04.json

Code Block
titleExample for Deployment Descriptor
linenumberstrue
collapsetrue
{
    "descriptor": {
        "descriptorId": "joc-controller-agents-all-20221204",
        "title": "Install or update Agent, Controller and JOC Cockpit using HTTPS connections",
        "account": "sos",
        "scheduled": "2022-12-02T06:19:12+01:00",
        "created": "2022-11-30T23:19:12+01:00"
    },
    "license": {
        "licenseKeyFile": "licenses/sos.pem",
        "licenseBinFile": "licenses/js7-license.jar"
    },
    "certificates": {
        "controller": {
            "primaryControllerCert": "controllers/instances/testsuite.primary/config/private/centostest-primary.crt",
            "secondaryControllerCert": "controllers/instances/testsuite.secondary/config/private/centostest-secondary.crt"
        },
        "joc": {
            "primaryJocCert": "joc/instances/joc_001.primary/resources/centostest-primary.crt",
            "secondaryJocCert": "joc/instances/joc_001.primary/resources/centostest-secondary.crt"
        }
    },
    "agents": [
        {
            "agent_001": {
                "target": {
                    "connection": {
                        "host": "centostest-primary",
                        "port": 22
                    },
                    "authentication": {
                        "method": "publickey",
                        "user": "sos",
                        "keyFile": "/home/sos/.ssh/sos_rsa"
                    },
                    "packageLocation": "/tmp",
                    "execPre": "sudo systemctl stop js7_agent.service",
                    "execPost": "sudo systemctl start js7_agent.service"
                  },
                "media": {
                    "release": "2.5.0",
                    "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_agent_unix.2.5.0.tar.gz"
                },
                "installation": {
                    "home": "/home/sos/js7.target/opt/agent-primary",
                    "data": "/home/sos/js7.target/var/agent-primary",
                    "httpPort": "localhost:31445",
                    "httpsPort": "centostest-primary:31443"
                },
                "configuration": {
                    "controller": {
                        "controllerId": "testsuite"
                    },
                    "certificates": {
                        "keyStore": "agents/instances/agent_001/config/private/https-keystore.p12",
                        "keyStorePassword": "jobscheduler",
                        "keyPassword": "jobscheduler",
                        "trustStore": "agents/instances/agent_001/config/private/https-truststore.p12",
                        "trustStorePassword": "jobscheduler"
                    },
                    "templates": [
                        "agents/templates/https/config"
                    ]
                }
            }
        },
        {
            "agent_002": {
                "target": {
                    "connection": {
                        "host": "centostest-secondary",
                        "port": 22
                    },
                    "authentication": {
                        "method": "publickey",
                        "user": "sos",
                        "keyFile": "/home/sos/.ssh/sos_rsa"
                    },
                    "packageLocation": "/tmp",
                    "execPre": "sudo systemctl stop js7_agent.service",
                    "execPost": "sudo systemctl start js7_agent.service"
                  },
                "media": {
                    "release": "2.5.0",
                    "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_agent_unix.2.5.0.tar.gz"
                },
                "installation": {
                    "home": "/home/sos/js7.target/opt/agent-secondary",
                    "data": "/home/sos/js7.target/var/agent-secondary",
                    "httpPort": "localhost:32445",
                    "httpsPort": "centostest-secondary:32443"
                },
                "configuration": {
                    "controller": {
                        "controllerId": "testsuite"
                    },
                    "certificates": {
                        "keyStore": "agents/instances/agent_002/config/private/https-keystore.p12",
                        "keyStorePassword": "jobscheduler",
                        "keyPassword": "jobscheduler",
                        "trustStore": "agents/instances/agent_002/config/private/https-truststore.p12",
                        "trustStorePassword": "jobscheduler"
                    },
                    "templates": [
                        "agents/templates/https/config"
                    ]
                }
            }
        }
    ],
    "controllers": [
        {
            "testsuite": {
                "primary": {
                    "target": {
                        "connection": {
                            "host": "centostest-primary",
                            "port": 22
                        },
                        "authentication": {
                            "method": "publickey",
                            "user": "sos",
                            "keyFile": "/home/sos/.ssh/sos_rsa"
                        },
                        "packageLocation": "/tmp",
                        "execPre": "sudo systemctl stop js7_controller.service",
                        "execPost": "sudo systemctl start js7_controller.service"
                      },
                    "media": {
                        "release": "2.5.0",
                        "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_controller_unix.2.5.0.tar.gz"
                    },
                    "installation": {
                        "home": "/home/sos/js7.target/opt/controller-primary",
                        "data": "/home/sos/js7.target/var/controller-primary",
                        "httpPort": "localhost:21444",
                        "httpsPort": "centostest-primary:21443",
                        "javaOptions": "-Xmx256m"
                    },
                    "configuration": {
                        "certificates": {
                            "keyStore": "controllers/instances/testsuite.primary/config/private/https-keystore.p12",
                            "keyStorePassword": "jobscheduler",
                            "keyPassword": "jobscheduler",
                            "trustStore": "controllers/instances/testsuite.primary/config/private/https-truststore.p12",
                            "trustStorePassword": "jobscheduler"
                        },
                        "templates": [
                            "controllers/templates/https.primary/config"
                        ]
                    }
                },
                "secondary": {
                    "target": {
                        "connection": {
                            "host": "centostest-secondary",
                            "port": 22
                        },
                        "authentication": {
                            "method": "publickey",
                            "user": "sos",
                            "keyFile": "/home/sos/.ssh/sos_rsa"
                        },
                        "packageLocation": "/tmp",
                        "execPre": "sudo systemctl stop js7_controller.service",
                        "execPost": "sudo systemctl start js7_controller.service"
                     },
                    "media": {
                        "release": "2.5.0",
                        "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_controller_unix.2.5.0.tar.gz"
                    },
                    "installation": {
                        "home": "/home/sos/js7.target/opt/controller-secondary",
                        "data": "/home/sos/js7.target/var/controller-secondary",
                        "httpPort": "localhost:22444",
                        "httpsPort": "centostest-secondary:22443",
                        "javaOptions": "-Xmx256m"
                    },
                    "configuration": {
                        "certificates": {
                            "keyStore": "controllers/instances/testsuite.secondary/config/private/https-keystore.p12",
                            "keyStorePassword": "jobscheduler",
                            "keyPassword": "jobscheduler",
                            "trustStore": "controllers/instances/testsuite.secondary/config/private/https-truststore.p12",
                            "trustStorePassword": "jobscheduler"
                        },
                        "templates": [
                            "controllers/templates/https.secondary/config"
                        ]
                    }
                }
            }
        }
    ],
    "joc": [
        {
            "joc_001": {
                "primary": {
                    "target": {
                        "connection": {
                            "host": "centostest-primary",
                            "port": 22
                        },
                        "authentication": {
                            "method": "publickey",
                            "user": "sos",
                            "keyFile": "/home/sos/.ssh/sos_rsa"
                        },
                        "packageLocation": "/tmp",
                        "execPre": "sudo systemctl stop js7_joc.service",
                        "execPost": "sudo systemctl start js7_joc.service"
                    },
                    "media": {
                        "release": "2.5.0",
                        "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_joc_linux.2.5.0.tar.gz"
                    },
                    "installation": {
                        "setupDir": "/home/sos/js7.target/opt/joc-primary.setup",
                        "home": "/home/sos/js7.target/opt/joc-primary",
                        "data": "/home/sos/js7.target/var/joc-primary",
                        "httpPort": "localhost:11446",
                        "httpsPort": "centostest-primary:11443",
                        "isUser": true,
                        "isPreserveEnv": true,
                        "javaOptions": "-Xmx512m -Djava.security.egd=file:///dev/urandom"
                    },
                    "configuration": {
                         "responseDir": "joc/instances/joc_001.primary/response",
                         "certificates": {
                            "keyStore": "joc/instances/joc_001.primary/resources/https-keystore.p12",
                            "keyStorePassword": "jobscheduler",
                            "keyPassword": "jobscheduler",
                            "trustStore": "joc/instances/joc_001.primary/resources/https-truststore.p12",
                            "trustStorePassword": "jobscheduler"
                        },
                        "templates": [
                            "joc/templates/https/resources"
                        ]
                    }
                },
                "secondary": {
                    "target": {
                        "connection": {
                            "host": "centostest-secondary",
                            "port": 22
                        },
                        "authentication": {
                            "method": "publickey",
                            "user": "sos",
                            "keyFile": "/home/sos/.ssh/sos_rsa"
                        },
                        "packageLocation": "/tmp",
                        "execPre": "sudo systemctl stop js7_joc.service",
                        "execPost": "sudo systemctl start js7_joc.service"
                    },
                    "media": {
                        "release": "2.5.0",
                        "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_joc_linux.2.5.0.tar.gz"
                    },
                    "installation": {
                        "setupDir": "/home/sos/js7.target/opt/joc-secondary.setup",
                        "home": "/home/sos/js7.target/opt/joc-secondary",
                        "data": "/home/sos/js7.target/var/joc-secondary",
                        "httpPort": "localhost:12446",
                        "httpsPort": "centostest-secondary:12443",
                        "isUser": true,
                        "isPreserveEnv": true,
                        "javaOptions": "-Xmx512m -Djava.security.egd=file:///dev/urandom"
                    },
                    "configuration": { 
                         "responseDir": "joc/instances/joc_001.secondary/response",
                         "certificates": {
                            "keyStore": "joc/instances/joc_001.secondary/resources/https-keystore.p12",
                            "keyStorePassword": "jobscheduler",
                            "keyPassword": "jobscheduler",
                            "trustStore": "joc/instances/joc_001.secondary/resources/https-truststore.p12",
                            "trustStorePassword": "jobscheduler"
                        },
                        "templates": [
                            "joc/templates/https/resources"
                        ]
                    }
                }
            }
        }
    ]
}  

Resources

...