You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 11
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 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, see JS7 - Deployment Descriptor JSON Schema.
- The basic structure includes to specify an array of Agent objects.
Examples
Agents using HTTP Connections
The Deployment Descriptor specifies two Agents to be installed on two hosts:
- Host
centostest-primary
and centostest-secondary
each operate an Agent. - The Controller to which the Agents are registered is using the
testsuite
Controller ID. - Agents make use of HTTP connections.
Download example: agent-http-2022-12-04.json
{
"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": "StopService",
"execPost": "StartService",
"makeService": true
},
"media": {
"release": "2.5.0",
"tarball": "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": "StopService",
"execPost": "StartService",
"makeService": true
},
"media": {
"release": "2.5.0",
"tarball": "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:
- Host
centostest-primary
and centostest-secondary
each operate an Agent. - The Controller to which the Agents are registered is using the
testsuite
Controller ID. - Agents use HTTPS connections and are equipped with certificates.
Download example: agent-https-2022-12-04.json
{
"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/cluster.primary/config/private/centostest-primary.crt",
"secondaryControllerCert": "controllers/instances/cluster.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": "StopService",
"execPost": "StartService",
"makeService": true
},
"media": {
"release": "2.5.0",
"tarball": "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": "cluster"
},
"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": "StopService",
"execPost": "StartService",
"makeService": true
},
"media": {
"release": "2.5.0",
"tarball": "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": "cluster"
},
"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