You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 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 Script 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: JS7_Deployment_Descriptor_v1.0.json
  • The basic structure includes to specify an array of Agent, Controller and JOC Cockpit objects.
  • A Deployment Descriptor can include Agents, Controllers and JOC Cockpit instances individually or as a combination.

Example for an Agent Deployment Descriptor:


Example for Deployment Descriptor
{
    "descriptor": {
        "descriptorId": "agent-http-2022-12-04",
        "title": "Install or update Agent for 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": "systemctl stop js7.agent_001",
                    "execPost": "systemctl start js7.agent_001"
                },
                "media": {
                    "release": "2.5.0",
                    "tarball": "/mnt/releases/scheduler_setups/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"
                }
            }
        },
    ],
    "controllers": [],
    "joc": []
}


Explanation:

  • target
    • The Agent deployment package will be deployed to the  host centostest-primary using the sos account with a private key file for SSH authentication. The deployment package will be stored to the /tmp directory.
    • Before extraction of the deployment package the Agent will be stopped and after extraction it will be started using JS7 - systemd Service Files for automated Startup and Shutdown with Unix Systems
  • media
    • The Agent will be installed or updated to release 2.5.0 using a copy of the tarball as offered from the JS7 - Download page that is made available from a mount point.
  • installation
    • The Agent's
      • installation directory is /opt/sos-berlin.com/js7/agent-primary.
      • configuration directory is /var/sos-berlin.com/js7/agent-primary.
    • The Agent will make use of HTTP connections and will listen to port 31445.

Resources

Pages

Pages


 
 

Navigation



  • No labels