Versions Compared

Key

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

...

Code Block
languagetext
titleAgent Installer Script: js7_install_agent.sh
Usage: js7_install_agent.sh [Options] [Switches]

  Installation Options:
    --home=<directory>                 | required: directory to which the Agent will be installed
    --data=<directory>                 | optional: directory for Agent data files, default: <home>/var_4445
    --config=<directory>               | optional: directory from which the Agent reads configuration files, default: <data>/config
    --logs=<directory>                 | optional: directory to which the Agent writes log files, default: <data>/logs
    --work=<directory>                 | optional: working directory of the Agent, default: <data>
    --user=<account>                   | optional: user account for Agent daemon, default: $USER
    --home-owner=<account[:group]>     | optional: account and optionally group owning the home directory, requires root or sudo permissions
    --data-owner=<account[:group]>     | optional: account and optionally group owning the data directory, requires root or sudo permissions
    --release=<release-number>         | optional: release number such as 2.5.0 for download if --tarball is not used
    --tarball=<tar-gz-archive>         | optional: the path to a .tar.gz archive that holds the Agent installation or patch tarball,
                                       |           if not specified the Agent tarball will be downloaded from the SOS web site
    --patch=<issue-key>                | optional: identifies a patch for an existing Agent installation
    --jar=<jar-file>                   | optional: the path to a .jar file that holds the patch
    --license-key=<key-file>           | optional: specifies the path to a license key file to be installed
    --license-bin=<binary-file>        | optional: specifies the path to the js7-license.jar binary file for licensed code to be installed
                                       |           if not specified the file will be downloaded from the SOS web site
    --http-port=<port>                 | optional: specifies the http port the Agent will be operated for, default: 4445
                                                   port can be prefixed by network interface, e.g. localhost:4445
    --https-port=<port>                | optional: specifies the https port the Agent will be operated for
                                                   port can be prefixed by network interface, e.g. batch.example.com:4445
    --pid-file-dir=<directory>         | optional: directory to which the Agent writes its PID file, default: <data>/logs
    --pid-file-name=<file-name>        | optional: file name used by the Agent to write its PID file, default: agent.pid
    --instance-script=<file>           | optional: path to the Instance Start Script that will be copied to the Agent, default <home>/bin/<instance-script>
    --backup-dir=<directory>           | optional: backup directory for existing Agent home directory
    --log-dir=<directory>              | optional: log directory for log output of this script
    --exec-start=<command>             | optional: command to start the Agent, e.g. 'StartService'
    --exec-stop=<command>              | optional: command to stop the Agent, e.g. 'StopService'
    --return-values=<file>             | optional: path to a file that holds return values such as the path to a log file

  Configuration Options:
    --deploy-dir=<dir>[,<dir>]         | optional: deployment directory from which configuration files are copied to the Agent
    --agent-conf=<file>                | optional: path to a configuration file that will be copied to <config>/agent.conf
    --private-conf=<file>              | optional: path to a configuration file that will be copied to <config>/private/private.conf
    --controller-id=<identifier>       | optional: Controller ID, default: controller
    --controller-primary-cert=<file>   | optional: path to Primary/Standalone Controller certificate file
    --controller-secondary-cert=<file> | optional: path to Secondary Controller certificate file
    --agent-cluster-id=<identifier>            | optional: Agent Cluster ID, default: agent
    --director-primary-cert=<file>     | optional: path to Primary/Standalone Director Agent certificate file
    --director-secondary-cert=<file>   | optional: path to Secondary Director Agent certificate file
    --keystore=<file>                  | optional: path to a PKCS12 keystore file that will be copied to <config>/private/
    --keystore-password=<password>     | optional: password for access to keystore
    --keystore-alias=<alias>           | optional: alias name for keystore entry
    --client-keystore=<file>           | optional: path to a PKCS12 client keystore file that will be copied to <config>/private/
    --client-keystore-password=<pass>  | optional: password for access to the client keystore
    --client-keystore-alias=<alias>    | optional: alias name for client keystore entry
    --truststore=<file>                | optional: path to a PKCS12 truststore file that will be copied to <config>/private/
    --truststore-password=<password>   | optional: password for access to truststore
    --java-home=<directory>            | optional: Java Home directory for use with the Instance Start Script
    --java-options=<options>           | optional: Java Options for use with the Instance Start Script
    --service-dir=<directory>          | optional: systemd service directory, default: /usr/lib/systemd/system
    --service-file=<file>              | optional: path to a systemd service file that will be copied to <home>/bin/
    --service-name=<identifier>        | optional: name of the systemd service to be created, default js7_agent_<http-port>

    Switches:
    -h | --help                        | displays usage
    --force-sudo                       | forces use of sudo for operations on directories
    --active                           | makes Director Agent instance the default active node in an Agent Cluster
    --standby                          | makes Director Agent instance the default standby node in an Agent Cluster 
    --no-yade                          | excludes YADE from Agent installation
    --no-install                       | skips Agent installation, performs configuration updates only
    --use-install                      | uses existing Agent installation, populates data directory and creates service
    --uninstall                        | uninstalls Agent and removes <home> and <data> directories
    --uninstall_home                   | uninstalls Agent and removes <home> directory only
    --uninstall_data                   | uninstalls Agent and removes <data> directory only
    --show-logs                        | shows log output of the script
    --make-dirs                        | creates the specified directories if they do not exist
    --make-service                     | creates the systemd service for the Agent
    --move-libs                        | moves an existing Agent's lib directory instead of removing the directory
    --remove-journal                   | removes an existing Agent's state directory that holds the journal files
    --restart                          | stops a running Agent and starts the Agent after installation
    --abort                            | aborts a running Agent if used with the --restart switch
    --kill                             | kills a running Agent if used with the --restart switch 

...

  • --deploy-dir
    • Specifies the path to a deployment directory that holds configuration files and sub-directories that will be copied to the <config> directory. A deployment directory allows to manage central copies of configuration files such as agent.conf, private.conf, log4j2.xml etc.
    • Use of a deployment directory has lower precedence as files can be overwritten by individual options such as --agent-conf, --private-conf etc.
  • --agent-conf
    • Specifies the path to a configuration file for global JS7 - Agent Configuration Items. The file will be copied to the <config>/agent.conf file.
    • Any path to a file can be used as a value of this option, however, the target file name agent.conf will be used.
  • --private-conf
    • Specifies the path to a configuration file for private JS7 - Agent Configuration Items. The file will be copied to the <config>/private/private.conf file.
    • Any path to a file can be used as a value of this option, however, the target file name private.conf will be used.
    • Users have a choice how to provide the required configuration:
      • Download the private.conf-template-agent template, the Agent Installation Script performs replacements of placeholders in the template file from option values, for details see chapter Replacements.
      • Users can manually adjust configuration items in the private.conf file that they specify for the Agent Installation Script, see JS7 - Agent Configuration Items.
  • --controller-id
    • Specifies the Controller ID, a unique identifier of the Controller installation. Agents will be dedicated to the Controller with the given Controller ID.
    • The Controller ID is used in the Agent's private.conf file to specify which Controller can access a given Agent.
  • --controller-primary-cert
    • Specifies the path to the SSL/TLS certificate of the Primary Controller Instanceinstance. The Agent Installation Script extracts the distinguished name from the given certificate and adds it to the Agent's private.conf file to allow HTTPS connections from the given Controller using mutual authentication without the need for passwords.
  • --controller-secondary-cert
    • Corresponds to the --controller-primary-cert option and is used for the Secondary Controller Instanceinstance.
  • --agent-cluster-id
    • Specifies the Agent Cluster ID, a unique identifier of the Agent Cluster. This is not the Primary/Secondary Director Agent ID.
    • Subagents will be dedicated to the Agent Cluster with the given Agent Cluster ID.
    • The Agent Cluster ID is used in the Agent's private.conf file to specify which pairing Director Agent instance can access the given Director Agent instance.
  • --directory-primary-cert
    • Specifies the path to the SSL/TLS certificate of the Primary Director Agent instance. The Agent Installation Script extracts the distinguished name from the given certificate and adds it to the Agent's private.conf file to allow HTTPS connections from the given Director Agent instance using mutual authentication without the need for passwords.
  • --director-secondary-cert
    • Corresponds to the --director-primary-cert option and is used for the Secondary Director Agent instance.
  • --keystore
    • Specifies the path to a PKCS12 keystore file that holds the private key and certificate for HTTPS connections to the Agent.
    • Users are free to specify any file name, typically the name https-keystore.p12 is used. The keystore file will be copied to the <config>/private directory.
    • If a keystore file is made available then the Agent's <config>/private/private.conf file has to hold a reference to the keystore location and optionally the keystore password. It is therefore recommended to use the --private-conf option to deploy an individual private.conf file that holds settings related to a keystore.
    • For automating the creation of keystores see JS7 - How to add SSL TLS Certificates to Keystore and Truststore.
  • --keystore-password
    • Specifies the password for access to the keystore. Use of a keystore password is required.
    • Consider use of quotes when specifying the password.
  • --keystore-alias
    • If a keystore holds more than one private key, for example if separate pairs of private keys/certificates for server authentication and client authentication exist, then it is not determined which private key/certificate will be used. The alias name of a given private key/certificate is specified when the entry is added to the keystore. The alias name allows to indicate a specific private key/certificate to be used.
  • --client-keystore
    • Use of this setting is optional. It can be used if separate certificates for Server Authentication and Client Authentication are used.
    • The Client Authentication private key and certificate can be added to a client keystore. The location and configuration of a client keystore correspond to the--keystore option.
  • --client-keystore-password
    • Specifies the password for access to the client keystore. Use of a client keystore password is required if a client keystore is used.
    • Consider explanations for the --keystore-password option.
  • --client-keystore-alias
    • If a client keystore holds more than one private key, for example if a number of private keys/certificates for client authentication exist, then it is not determined which private key/certificate will be used.
    • Consider explanations for the --keystore-alias option.
  • --truststore
    • Specifies the path to a PKCS12 truststore file that holds the certificate(s) for HTTPS connections to the Agent using mutual authentication .
    • Users are free to specify any file name, typically the name https-truststore.p12 is used. The truststore file will be copied to the <config>/private directory.
    • If a truststore file is made available then the Agent's <config>/private/private.conf file has to hold a reference to the truststore location and optionally the truststore password. It is therefore recommended to use the --private-conf option to deploy an individual private.conf file that holds settings related to a truststore.
    • For automating the creation of truststores see JS7 - How to add SSL TLS Certificates to Keystore and Truststore.
  • --truststore-password
    • Specifies the password for access to the truststore. Use of a password is recommended as it is not primarily intended to protect access to the truststore. The password is intended to allow verification that truststore entries have been added using the same password.
    • Consider use of quotes when specifying the password.
  • --java-home
    • Specifies the Java home directory that will be made available to the Agent from the JAVA_HOME environment variable specified with the Agent Instance Start Script typically available from the ./bin/agent_<http-port>.sh script.
  • --java-options
    • Specifies the Java options that will be made available to the Agent from the JAVA_OPTIONS environment variable specified with the Agent Instance Start Script typically available from the ./bin/agent_<http-port>.sh script.
    • Java options can be used for example to specify Java heap space settings for the Agent.
    • If more than one Java option is used then the value has to be quoted, for example --java-options="-Xms256m -Xmx512m".
  • --service-dir
    • Specifies the systemd service directory to which the Agent's service file will be copied if the --make-service switch is used.
    • By default the /usr/lib/systemd/system directory will be used. Users can specify an alternative location.
  • --service-file
    • Specifies the path to a systemd service file that acts as a template and that will be copied to the Agent's <home>/bin directory. Users are free to choose any file name as a template for the service file. The resulting service file name will be agent_<http-port>.service.
    • The Agent Installation Script will perform replacements in the service file to update paths and the port to be used, for details see ./bin/agent.service-example.
  • --service-name
    • Specifies the name of the systemd service that will be created if the --make-service switch is used.
    • By default the service name js7_agent_<http-port> will be used.

...