Introduction

In the JS7 - Deployment process a Deployment Descriptor specifies

  • which JS7 products of JOC Cockpit, Controller instances and Agents should be installed,
  • where to install each JS7 product,
  • 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 makes use of the Deployment Descriptor to install and to package JS7 products.

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 JSON Schema.
  • The basic structure includes to specify an array of Controller objects.

Examples

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


Example for Deployment Descriptor
{
  "descriptor": {
    "descriptorId": "standalone-controller-http-2022-12-04",
    "title": "Install or update Controller Standalone instance using HTTP connections",
    "account": "sos",
    "scheduled": "2022-12-02T05:19:12.000+00:00",
    "created": "2022-11-30T22:19:12.000+00:00"
  },
  "controllers": [
    {
      "jocRef": "joc",
      "controllerId": "controller",
      "primary": {
        "target": {
          "connection": {
            "host": "centostest-primary",
            "port": 22
          },
          "authentication": {
            "method": "publickey",
            "user": "sos",
            "keyFile": "/home/sos/.ssh/sos_rsa"
          },
          "packageLocation": "/tmp",
          "execPre": "StopService",
          "execPost": "StartService",
          "makeService": true
        },
        "media": {
          "release": "2.5.3",
          "tarball": "2.5.3/js7_controller_unix.2.5.3.tar.gz"
        },
        "installation": {
          "home": "/opt/sos-berlin.com/js7/controller-standalone",
          "data": "/var/sos-berlin.com/js7/controller-standalone",
          "httpPort": "21444",
          "javaHome": "/opt/java/jdk8u202-b08",
          "javaOptions": "-Xmx256m -Djava.security.egd=file:///dev/urandom"
        }
      }
    }
  ],
  "version": "1.5.3"
}

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: standalone-controller-https-2022-12-04.descriptor.json


Example for Deployment Descriptor
{
  "descriptor": {
    "descriptorId": "standalone-controller-https-2022-12-04",
    "title": "Install or update Controller Standalone instance using HTTPS connections",
    "account": "sos",
    "scheduled": "2022-12-02T05:19:12.000+00:00",
    "created": "2022-11-30T22:19:12.000+00:00"
  },
    "certificates": {
        "joc": {
            "primaryJocCert": "joc/instances/joc.standalone/resources/centostest-primary.crt"
        }
    },
  "controllers": [
    {
      "jocRef": "joc",
      "controllerId": "controller",
      "primary": {
        "target": {
          "connection": {
            "host": "centostest-primary",
            "port": 22
          },
          "authentication": {
            "method": "publickey",
            "user": "sos",
            "keyFile": "/home/sos/.ssh/sos_rsa"
          },
          "packageLocation": "/tmp",
          "execPre": "StopService",
          "execPost": "StartService",
          "makeService": true
        },
        "media": {
          "release": "2.5.3",
          "tarball": "2.5.3/js7_controller_unix.2.5.3.tar.gz"
        },
        "installation": {
          "home": "/opt/sos-berlin.com/js7/controller-standalone",
          "data": "/var/sos-berlin.com/js7/controller-standalone",
          "httpPort": "localhost:21444",
          "httpsPort": "centostest-primary.sos:21443",
          "javaHome": "/opt/java/jdk8u202-b08",
          "javaOptions": "-Xmx256m -Djava.security.egd=file:///dev/urandom"
        },
        "configuration": {
          "certificates": {
            "keyStore": "controllers/instances/controller.standalone/config/private/https-keystore.p12",
            "keyStorePassword": "jobscheduler",
            "keyPassword": "jobscheduler",
            "trustStore": "controllers/instances/controller.standalone/config/private/https-truststore.p12",
            "trustStorePassword": "jobscheduler"
          },
          "templates": [
            "controllers/templates/https.primary/config"
          ]
        }
      }
    }
  ],
  "version": "1.5.3"
}

Resources



  • No labels