Page History
...
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 objects.
...
Status | ||||
---|---|---|---|---|
|
Examples
Agents using HTTP Connections
...
- Host
centostest-primary
andcentostest-secondary
each operate an Agent. - The Controller to which the Agents are registered is using the
testsuite
Controllercontroller
Controller ID. - Agents make use of HTTP connections.
Download example: standalone-agent-http-2022-12-04.descriptor.json
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "descriptor": { "descriptorId": "standalone-agent-http-2022-12-04", "title": "Install or update AgentsAgent Standalone instance using HTTP connections", "account": "sos", "scheduled": "2022-12-02T0602T05:19:12.000+0100:00", "created": "2022-11-30T2330T22:19:12.000+0100:00" }, "agents": [{ {"controllerRefs": [ "agent_001{ "controllerId": {"controller", "targetmembers": {[ "connection": { "hostagentId": "centostest-primaryagent_001", "porttarget": 22{ }, "connection": { "authentication": { "methodhost": "publickeycentostest-primary", "user "port": "sos",22 "keyFile": "/home/sos/.ssh/sos_rsa" }, }, "authentication": { "packageLocation": "/tmp", "execPremethod": "sudo systemctl stop js7_agent.servicepublickey", "execPost": "sudo systemctl start js7_agent.service" "user": "sos", }, "mediakeyFile": { "/home/sos/.ssh/sos_rsa" "release": "2.5.0", }, "tarballpackageLocation": "/mnt/releases/scheduler_setups/2.5.0/js7_agent_unix.2.5.0.tar.gz"tmp", }, "execPre": "StopService", "installation": { "homeexecPost": "/opt/sos-berlin.com/js7/agent-primaryStartService", "data "makeService": "/var/sos-berlin.com/js7/agent-primary",true "httpPort": "31445" }, } "media": }{ }, { "agent_002release": { "2.5.3", "target": { "connectiontarball": { "2.5.3/js7_agent_unix.2.5.3.tar.gz" "host": "centostest-secondary"}, "portinstallation": 22{ }, "home": "/opt/sos-berlin.com/js7/agent-primary", "authentication": { "data": "/var/sos-berlin.com/js7/agent-primary", "method": "publickey", "userhttpPort": "sos31445", "keyFilejavaHome": "/homeopt/sos/.ssh/sos_rsa" java/jdk8u202-b08", }, "packageLocationjavaOptions": "/tmp", -Xmx125m -Djava.security.egd=file:///dev/urandom" "execPre": "sudo systemctl stop js7_agent.service", } "execPost": "sudo systemctl start js7_agent.service" }, }, { "mediaagentId": {"agent_002", "releasetarget": "2.5.0",{ "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_agent_unix.2.5.0.tar.gz" "connection": { }, "installationhost": {"centostest-secondary", "home": "/opt/sos-berlin.com/js7/agent-secondary", "port": 22 "data": "/var/sos-berlin.com/js7/agent-secondary", }, "httpPort": "32445" "authentication": { } } } ], "controllersmethod": [], "publickey", "joc "user": [] } |
Agents using HTTPS Connections
The Deployment Descriptor specifies two Agents to be installed on two hosts:
- Host
centostest-primary
andcentostest-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
"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_agent_unix.2.5.3.tar.gz"
},
"installation": {
"home": "/opt/sos-berlin.com/js7/agent-secondary",
"data": "/var/sos-berlin.com/js7/agent-secondary",
"httpPort": "32445",
"javaHome": "/opt/java/jdk8u202-b08",
"javaOptions": "-Xmx125m -Djava.security.egd=file:///dev/urandom"
}
}
]
}
]
},
"version": "1.5.3"
} |
Agents using HTTPS Connections
The Deployment Descriptor specifies two Agents to be installed on two hosts:
- Host
centostest-primary
andcentostest-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: standalone-agent-https-2022-12-04.descriptor.json
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"descriptor": {
"descriptorId": "standalone-agent-https-2022-12-04",
"title": "Install or update Agent 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": {
"controller": {
"primaryControllerCert": "controllers/instances/controller.standalone/config/private/centostest-primary.crt"
}
},
"agents": {
"controllerRefs": [
{
"controllerId": "controller",
"members": [
{
"agentId": "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.3",
| ||||||
Code Block | ||||||
| ||||||
{ "descriptor": { "descriptorId": "agent-https-2022-12-04", "titletarball": "Install or update Agents using HTTPS connections", "2.5.3/js7_agent_unix.2.5.3.tar.gz" "account": "sos", "scheduled": "2022-12-02T06:19:12+01:00" }, "created": "2022-11-30T23:19:12+01:00" }, "certificates": { "controllerinstallation": { "primaryControllerCert": "controllers/instances/testsuite.primary/config/private/centostest-primary.crt", "secondaryControllerCerthome": "controllers/instancesopt/testsuitesos-berlin.secondarycom/configjs7/private/centostest-secondary.crt"agent-primary", } }, "agents": [ {"data": "/var/sos-berlin.com/js7/agent-primary", "agent_001": { "targethttpPort": {"localhost:31445", "connection "httpsPort": {"centostest-primary.sos:31443", "hostjavaHome": "centostest-primary/opt/java/jdk8u202-b08", "port": 22 "javaOptions": "-Xmx125m -Djava.security.egd=file:///dev/urandom" }, "authenticationconfiguration": { "methodcertificates": "publickey", { "user": "sos", "keyFilekeyStore": "/home/sos/.ssh/sos_rsa" agents/instances/agent_001/config/private/https-keystore.p12", }, "packageLocationkeyStorePassword": "/tmpjobscheduler", "execPre": "sudo systemctl stop js7_agent.service", "execPostkeyPassword": "sudo systemctl start js7_agent.service" }jobscheduler", "media": { "releasekeyAlias": "2.5.0centostest-primary", "tarballtrustStore": "agents/mntinstances/releases/scheduler_setups/2.5.0/js7_agent_unix.2.5.0.tar.gz"agent_001/config/private/https-truststore.p12", }, "installationtrustStorePassword": { "jobscheduler" "home": "/opt/sos-berlin.com/js7/agent-primary", }, "data": "/var/sos-berlin.com/js7/agent-primary", "httpPorttemplates": "localhost:31443", [ "httpsPort": "centostest-primary:31443" "agents/templates/https/config" }, "configuration": { ] "controller": { } "controllerId": "testsuite" }, },{ "certificatesagentId": { "agent_002", "keyStore": "agents/instances/agent_001/config/private/https-keystore.p12", "target": { "keyStorePasswordconnection": "jobscheduler", { "keyPasswordhost": "jobschedulercentostest-secondary", "trustStoreport": "agents/instances/agent_001/config/private/https-truststore.p12", 22 }, "trustStorePassword": "jobscheduler" },"authentication": { "templates": [ "method": "publickey", "agents/templates/https/config" ] "user": "sos", } } },"keyFile": "/home/sos/.ssh/sos_rsa" { "agent_002": { }, "target": { "connectionpackageLocation": { "/tmp", "hostexecPre": "centostest-secondaryStopService", "portexecPost": 22 "StartService", }, "makeService": true "authentication": { }, "methodmedia": "publickey",{ "userrelease": "sos2.5.3", "keyFiletarball": "/home/sos/.ssh/sos_rsa" 2.5.3/js7_agent_unix.2.5.3.tar.gz" }, "packagelocation": "/tmp", installation": { "execPrehome": "sudo systemctl stop js7_agent.service", /opt/sos-berlin.com/js7/agent-secondary", "execPostdata": "sudo systemctl start js7_agent.service"/var/sos-berlin.com/js7/agent-secondary", }, "httpPort": "localhost:32445", "media": { "releasehttpsPort": "2.5.0centostest-secondary.sos:32443", "tarball "javaHome": "/mntopt/releases/scheduler_setups/2.5.0/js7_agent_unix.2.5.0.tar.gz"java/jdk8u202-b08", }, "installationjavaOptions": { "-Xmx125m -Djava.security.egd=file:///dev/urandom" "home": "/opt/sos-berlin.com/js7/agent-secondary" }, "dataconfiguration": "/var/sos-berlin.com/js7/agent-secondary", { "httpPortcertificates": "localhost:32443",{ "httpsPort": "centostest-secondary:32443" "keyStore": "agents/instances/agent_002/config/private/https-keystore.p12", }, "configuration": { "keyStorePassword": "jobscheduler", "controller": { "controllerIdkeyPassword": "testsuitejobscheduler", }, "keyAlias": "centostest-secondary", "certificates": { "keyStoretrustStore": "agents/instances/agent_002/config/private/https-keystoretruststore.p12", "keyStorePassword "trustStorePassword": "jobscheduler", "keyPassword": "jobscheduler", }, "trustStore": "agents/instances/agent_002/config/private/https-truststore.p12", "templates": [ "trustStorePassword": "jobscheduler" "agents/templates/https/config" }, "templates": [] "agents/templates/https/config"} ]} }] } }] ]}, "controllersversion": [], "joc": []1.5.3" } |