Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Introduction

In the JS7 - Deployment process a Deployment Descriptor specifies

...

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 objects.

Deployment Descriptor JSON Schema for Agent

Status
colourYellow
titleTODO

Examples

Agents using HTTP Connections

The Deployment Descriptor specifies two Agents to be installed on two hosts:

...

Code Block
titleExample for Deployment Descriptor
linenumberstrue
collapsetrue
{
    "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": "sudo systemctl stop js7_agent.service",
                    "execPost": "sudo systemctl start js7_agent.service"
                },
                "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"
                }
            }
        },
        {
            "agent_002": {
                "target": {
                    "connection": {
                        "host": "centostest-secondary",
                        "port": 22
                    },
                    "authentication": {
                        "method": "publickey",
                        "user": "sos",
                        "keyFile": "/home/sos/.ssh/sos_rsa"
                    },
                    "packageLocation": "/tmp",
                    "execPre": "sudo systemctl stop js7_agent.service",
                    "execPost": "sudo systemctl start js7_agent.service"
                },
                "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-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:

...

Code Block
titleExample for Deployment Descriptor
linenumberstrue
collapsetrue
{
    "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/testsuite.primary/config/private/centostest-primary.crt",
            "secondaryControllerCert": "controllers/instances/testsuite.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": "sudo systemctl stop js7_agent.service",
                    "execPost": "sudo systemctl start js7_agent.service"
                },
                "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": "localhost:31443",
                    "httpsPort": "centostest-primary:31443"
                },
                "configuration": {
                    "controller": {
                        "controllerId": "testsuite"
                    },
                    "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": "sudo systemctl stop js7_agent.service",
                    "execPost": "sudo systemctl start js7_agent.service"
                },
                "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-secondary",
                    "data": "/var/sos-berlin.com/js7/agent-secondary",
                    "httpPort": "localhost:32443",
                    "httpsPort": "centostest-secondary:32443"
                },
                "configuration": {
                    "controller": {
                        "controllerId": "testsuite"
                    },
                    "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

...