You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Introduction

In the JS7 - Deployment process a Deployment Descriptor specifies

  • which JS7 components of JOC Cockpit, Controller instances and Agents should be installed,
  • where to install each JS7 component,
  • which installation options to use, for example the installation directory,
  • which configuration options to use, for example port usage.

Deployment Descriptors are specified from files in JSON format and include instructions, for example to deploy a larger number of Agents on target machines.

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 JOC Cockpit

TODO

Examples

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


Example for Deployment Descriptor
{
    "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


Example for Deployment Descriptor
{
    "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"
                        ]
                    }
                }
            }
        }
    ]
}

Resources



  • No labels