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

  • which JS7 components products of JOC Cockpit, Controller instances and Agents should be installed,
  • where to install each JS7 componentproduct,
  • 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 componentsproducts.

Deployment Descriptor

Deployment Descriptors are specified from .json files.

  • Users are strongly encouraged to validate their .json files against the Deployment Descriptor Schema: , see JS7 _- Deployment _Descriptor_v1.0.jsonDescriptor JSON Schema.
  • The basic structure includes to specify an array of Agent JOC Cockpit objects.

Deployment Descriptor JSON Schema for JOC Cockpit

...

...

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: standalone-joc-http-202212042022-12-04.descriptor.json


Code Block
titleExample for Deployment Descriptor
linenumberstrue
collapsetrue
{
    "descriptor": {
        "descriptorId": "standalone-joc-http-2022-12-2022120404",
        "title": "Install or update Standalone JOC Cockpit Standalone instance using HTTP connections",
        "account": "sossosap",
        "scheduled": "2022-12-02T0602T05:19:12.000+0100:00",
        "created": "2022-11-30T2330T22:19:12.000+0100:00"
    },
    "agentsjoc": [],
    {
 "controllers": [],
    "jocmembers": [{
        {
    "clusterId": "joc",
        "joc_001instances": {[
          {
      "primary": {
     "instanceId": 1,
              "target": {
              "packageLocation": "/tmp",
           "connection   "execPre": {"StopService",
              "execPost": "StartService",
              "hostmakeService": "centostest-primary"true,
              "connection": {
                "porthost": 22"centostest-primary",
                "port": 22
       },
          },
              "authentication": {
                            "method": "publickey",
                            "user": "sos",
                            "keyFile": "/home/sos/.ssh/sos_rsa"
              }
            },
            "media": {
              "packageLocationrelease": "/tmp2.5.3",
              "tarball": "2.5.3/js7_joc_linux.2.5.3.tar.gz"
         "execPre": "sudo systemctl stop joc-primary.service" },
            "installation": {
           "execPost": "sudo systemctl stop "setupDir": "/tmp/sos-berlin.com/js7/joc-primarystandalone.servicesetup",
                    }"isUser": true,
                    "media"isPreserveEnv": {true,
                   "home": "/opt/sos-berlin.com/js7/joc-standalone",
     "release         "data": "2.5.0/var/sos-berlin.com/js7/joc-standalone",
              "httpPort": "11446",
           "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_joc_linux.2.5.0.tar.gz"   "dbmsConfig": "joc/templates/dbms/h2/response/hibernate.cfg.xml",
                    },"dbmsDriver": "joc/templates/dbms/h2/response/h2-1.4.200.jar",
                    "installation"javaHome": {"/opt/java/jdk-11.0.2+9",
                        "setupDir"javaOptions": "/home/sos/js7.target/opt/joc-primary.setup",-Xmx256m -Djava.security.egd=file:///dev/urandom"
            },
            "homeconfiguration": "/home/sos/js7.target/opt/joc-primary",
{
              "templates": [
          "data": "/home/sos/js7.target/var/joc-primary",
      "joc/templates/http/resources"
              ]
           "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

  • connections.

Download example: standalone-joc-https-2022-12-04.descriptor.json


Code Block
titleExample for Deployment Descriptor
linenumberstrue
collapsetrue
{
  "descriptor": {
    "descriptorId": "standalone-joc-https-2022-12-04",
    "title": "Install or update JOC Cockpit Standalone instance using HTTPS connections"
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": [],
    "controllersaccount": []"sosap",
    "jocscheduled": ["2022-12-02T05:19:12.000+00:00",
        {
            "joc_001": {"created": "2022-11-30T22:19:12.000+00:00"
  },
  "joc": [
    {
            "primary"members": {
                    "targetclusterId": {
                "joc",
        "connectioninstances": {[
           {
                 "hostinstanceId": "centostest-primary"1,
            "target": {
               "portconnection": 22{
                        },
      "host": "centostest-primary",
                  "authenticationport": {22
              },
              "methodauthentication": "publickey",{
                "method": "publickey",
                "user": "sos",
                            "keyFile": "/home/sos/.ssh/sos_rsa"
                        },
          },
              "packageLocation": "/tmp",
                        "execPre": "sudo systemctl stop joc-primary.serviceStopService",
                        "execPost": "sudo systemctl stop joc-primary.service"StartService",
                "makeService": true
    },
        },
            "media": {
                        "release": "2.5.03",
                        "tarball": "/mnt/releases/scheduler_setups//2.5.03/js7_joc_linux.2.5.03.tar.gz"
                    },
        },
            "installation": {
                        "setupDir": "/hometmp/sos-berlin.com/js7.target/opt/joc-primarystandalone.setup",
                   "isUser": true,
     "home": "/home/sos/js7.target/opt/joc-primary",
         "isPreserveEnv": true,
              "datahome": "/homeopt/sos-berlin.com/js7.target/var/joc-primarystandalone",
                        "httpsPortdata": "11443/var/sos-berlin.com/js7/joc-standalone",
                        "isUserhttpPort": true"localhost:11446",
              "httpsPort": "centostest-primary.sos:11443",
              "isPreserveEnvdbmsConfig": true,
          "joc/templates/dbms/h2/response/hibernate.cfg.xml",
              "javaOptionsdbmsDriver": "-Xmx512m -Djava.security.egd=file:///dev/urandom"
                    },
      joc/templates/dbms/h2/response/h2-1.4.200.jar",
              "configurationjavaHome": {
          "/opt/java/jdk-11.0.2+9",
              "responseDirjavaOptions": "joc/instances/joc_001.primary/response",-Xmx256m -Djava.security.egd=file:///dev/urandom"
            },
            "certificatesconfiguration": {
              "certificates": {
                "keyStorecert": "joc/instances/joc_001.primarystandalone/resources/httpscentostest-keystoreprimary.p12crt",
                 "keyStore": "joc/instances/joc.standalone/resources/https-keystore.p12",
                "keyStorePassword": "jobscheduler",
                            "keyPassword": "jobscheduler",
                "keyAlias": "centostest-primary",
                "trustStore": "joc/instances/joc_001.primarystandalone/resources/https-truststore.p12",
                "trustStorePassword": "jobscheduler"
              },
              "trustStorePasswordtemplates": "jobscheduler"[
                "joc/templates/https/resources"
              }],
              "startFiles": {
             "templates": [   "httpIni": "joc/templates/https/start.d/http.ini",
                            "httpsIni": "joc/templates/https/resources"/start.d/https.ini",
                        ]"sslIni": "joc/templates/https/start.d/ssl.ini"
              }
      }
      }
          }
        ]
      }
    }
    }],
    ]"version": "1.5.3"
}

Resources