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

Compare with Current View Page History

« Previous Version 9 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.

Future releases of JS7 will add the functionality to generate and to download Deployment Descriptors directly from the JS7 Agent inventory.

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