You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 5
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 hosts.
The Deployment Descriptor Schema is used to validate Deployment Descriptors. Validation proves that the descriptor is formally valid and includes the elements require for successful deployment.
Deployment Descriptor
Deployment Descriptors are specified from .json files.
- Users are strongly encouraged to validate their .json files against the Deployment Descriptor Schema.
- A Deployment Descriptor can include Agents, Controllers and JOC Cockpit instances individually or as a combination.
Deployment Descriptor Schema
Download
Download: JS7_Deployment_Descriptor_v1.0.json
Schema Sections
The JSON Schema is made up of a number of sections.
descriptor
descriptor: required
descriptorId
: string, required- The unique identifier of a Deployment Descriptor
title
: string, optional- Explains the purpose of the descriptor
account
: string, optional- JOC Cockpit user account who created the descriptor
scheduled
: date-time, optionalcreated
: date-time, optional- Export date of the descriptor
license
license: optional
This section is required if the Controller and/or JOC Cockpit are operated as a Cluster that is subject to the JS7 - License
licenseKeyFile
: string, requiredlicenseBinFile
: string, required- Path to the Java .jar file that holds binary code for clustering for JS7 components
certificates
certificates: optional
This section is required if the Controller and/or JOC Cockpit are operated for HTTPS connections using TLS/SSL certificates.
controller
: object, optionalprimaryControllerCert
: string, required- Path to the certificate file (.crt, .pem) that holds the Primary Controller instance's base64 encoded certificate.
secondaryControllerCert
: string, required- Path to the certificate file (.crt, .pem) that holds the Secondary Controller instance's base64 encoded certificate.
joc
: object, optionalprimaryJocCert
: string, required- Path to the certificate file (.crt, .pem) that holds the Primary JOC Cockpit instance's base64 encoded certificate.
secondaryJocCert
: string, required- Path to the certificate file (.crt, .pem) that holds the Secondary JOC Cockpit instance's base64 encoded certificate.
agents
agents: optional
An array of Agent configuration objects is specified.
<agent-id>
: object, required- The unique identifier of an Agent is specified. The identifier is used when the Agent is registered with a Controller.
- Any number of Agent configurations using unique Agent IDs can be specified.
agents.<agent-id>.target
agents.<agent-id>.target: optional
target
: object, optionalconnection
: object, requiredhost
: string, required- The hostname or FQDN to which the Agent should be deployed.
port
: number, optional- The port number used for SSH connections, default: 22
authentication
method
: string, required- Supported authentication methods include public/private key. The value
publickey
has to be specified.
user
: string, required- The user account for SSH connection sto the target host.
keyFile
: string, optional- The path to the private key file of the user account, for example
/home/sos/.ssh/id_rsa
.
packagingLocation
: string, required- The path to a directory on the target host to which the deployment tarballs will be stored after transfer.
execPre
: string, optional- Holds a command that will be executed on the target host before extraction of deployment tarballs is performed.
- Deployment scripts provide shell functions to start and to stop the systemd service for the Agent.
- Specifying the command
StopService
will stop the Agent's systemd service.
execPost
: string, optional
- Holds a command that will be executed on the target host after extraction of deployment tarballs is performed.
- Deployment scripts provide shell functions to start and to stop the systemd service for the Agent.
- Specifying the command
StartService
will start the Agent's systemd service.
makeService
: boolean, optional- Specifies that a systemd service should be created or renewed for the Agent.
agents.<agent-id>.media
media
: object, requiredrelease
: object, required- The JS7 release number, for example 2.5.0
tarball
: string, required- Path to the .tar.gz installation file as downloaded from the SOS Web Site.
agents.<agent-id>.installation
agents.<agent-id>.installation: required
installation
: object, requiredhome
: object, required- Path to the directory to which the Agent should be installed, for example
/opt/sos-berlin.com/js7/agent
.
data
: string, required- Path to the Agent's configuration directory, for example
/var/sos-berlin.com/js7/agent
.
homeOwner
: string, optional- The OS account that owns the Agent's installation directory.
dataOwner
: string, optional- The OS account that owns the Agent's configuration directory.
runUser
: string, optional- The OS account that runs the Agent daemon/service.
httpPort
: number, conditional- The HTTP port that is used to control the Agent in the localhost network by its Instance Start Script.
- Use of the port can be limited by specifying
<network-interface>:<port>
, for example: localhost:4445
. - One of HTTP Port and/or HTTPS Port has to be specified.
httpsPort
: number, conditional- The HTTP port that is used to control the Agent in the localhost network by its Instance Start Script.
- Use of the port can be limited by specifying
<network-interface>:<port>
, for example: jobs.example.com:4445
. - One of HTTP Port and/or HTTPS Port has to be specified.
javaHome
: string, optional- Path to a Java JDK that is used to operate the Agent, see Which Java versions is JobScheduler available for?
- If this setting is omitted then the Agent will try to identify the location of Java from the
JAVA_HOME
environment variable on the target host.
javaOptions
: string, optional- Specifies the Java options used for the Agent, for example heap space settings as
-Xmx256m
., see JS7 - FAQ - Which Java Options are recommended. - If this setting is omitted then the Agent will try to identify Java options from the
JAVA_OPTIONS
environment variable on the target host.
agents.<agent-id>.configuration
agents.<agent-id>.configuration: optional
configuration
: object, optionalcontroller
: object, optionalcontrollerId
: object, optional- Unique identifier of the Controller to which the Agent will be registered. The identifier is specified with the
controllers
section.
certificates
: object, optionalkeyStore
: string, optional- Path to a PKCS12 keystore that holds the Agents private key and certificate.
keyStorePassword
: string, optional- Password for access to the Agent's keystore.
keyPassword
: string, optional- Password for access to the Agent's private key (same as
keyStorePassword
).
keyAlias
: string, optional- The alias name of the Agent's private key. The setting is relevant only if more than one private key is available with the Agent's keystore.
trustStore
: string, optional- Path to a PKCS12 truststore that holds the Root CA Certificate and optionally Intermediate CA Certificate(s).
trustStorePassword
: string, optional- Password for access to the truststore.
templates
: array, optional<config-directory>
: string, required- Any directories specified will be copied to the Agent's data directory. Specified directories have to use
config
and/or config/private
as the last part of the directory hierarchy. - Any files and sub-directories of the specified directories will be copied to the Agent's data directory.
- Any number of configuration directories can be specified by repeatedly using this element.
files
: object, optionalagentConf
: string, optional- Path to a configuration file that will be copied to the Agent's
config
configuration directory with the agent.conf
file name.
privateConf
: string, optional
- Path to a configuration file that will be copied to the Agent's
config/private
configuration directory with the private.conf
file name.
controllers
controllers: optional
An array of Controller configuration objects is specified.
<controller-id>
: object, requiredtarget
: see agents
media
: see agents
installation
: see agents
configuration
: see agents
Resources