Versions Compared

Key

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

...

Code Block
languageyml
titleDeployment Descriptor standalone-agent-http-2022-12-04.json
{
    "descriptor": {
        "descriptorId": "standalone-agent-http-2022-12-04",
        "title": "Install or update Agent Standalone instance 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"
                },
                "media": {
                    "release": "2.5.0",
                    "tarball": "${DEP_RELEASE}/2.5.0/js7_agent_unix.2.5.0.tar.gz"
                },
                "installation": {
                    "home": "/opt/sos-berlin.com/js7/agent-standalone",
                    "data": "/var/sos-berlin.com/js7/agent-standalone",
                    "httpPort": "31445",
                    "javaHome": "/opt/java/jdk8u202-b08"
                }
            }
        }
    ],
    "controllers": [],
    "joc": []
}

...

  • The descriptor.descriptorId element identifies the descriptor. The identifier is similarly used as the name of the Deployment Package. Identifiers can be made up from lowercase and uppercase letters, can include digits, underscores and hyphens. The file name of the Deployment Descriptor is not relevant.
  • The agents.agent_001 element specifies the unique Agent name agent_001.
    • Agent names can be made up from lowercase and uppercase letters, can include digits, underscores and hyphens. Users are free to choose Agent names, for example from the hostname or FQDN that the Agent is operated for, for example using element names such as agents.centostest-primary, agents.centostest-secondary.sos etc.
    • Any number of Agents can be specified in a Deployment Descriptor. 
  • The target section specifies the connection and authentication details for the target host to which the Agent should be deployed.
    • Deployment is performed using scp and ssh commands that will use the indicated SSH host and port.
    • Authentication makes use of public/private key specifying the user account and the location of the private keyFile. This setting can be omitted if the private key file matches one of the known names such as id_rsa.
    • For automated deployment It is required that the deployment user account can connect to the target host without use of a password but with a private key only.
    • The packageLocation element specifies the location where the Deployment Package tarball will be stored.
  • The media section specifies the release number and the location of the JS7 installation tarball for the Agent. The If a relative path is specified then the value of the DEP_RELEASE environment variable) from the env.sh script can be used Environment Script) is prepended to specify the directory in which the installation tarball is available.
  • The installation section specifies installation options for the Agent:
    • The Agent's home directory has to be specified. A data directory optionally can optionally be specified, if it is omitted then the <home>/var_<http-port> directory is assumed. Consider Users should take care that the target.user account has permissions to create the required directories.
    • By default the directories and files of the extracted Deployment Package are owned by the deployment account specified with the target.user element.
      • Should a different account be used on the target host then
        • the owner account of the home directory can be specified with the installation.homeOwner element.
        • the owner account of the data directory can be specified with the installation.dataOwner element.
        • the run-time account of the Agent's service/daemon can be specified with the installation.runUser element.
      • In order to modify accounts of directory owners the target.user account has to be provided permissions to perform sudo to switch to the root without using a password.
    • The Agent's HTTP port can be specified that defaults to port 4445.
    • The location of the Java JDK on the target host can be specified with the javaHome element.
      • The location of Java will be added to the Agent's Start Script in <home>/bin/agent_<http-port>.sh and to the systemd service file in <home>/bin/agent_<http-port>.service.
      • If this setting is omitted, then the Java location is determined by the run-time account, for example from its OS profile settings.

...