Install and Update
Install Agent for Unix
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
#!/usr/bin/env pwsh
./Install-JS7Agent.ps1 `
-HomeDir /opt/sos-berlin.com/js7/agent `
-Data /var/sos-berlin.com/js7/agent `
-Tarball /mnt/releases/scheduler_setups/current/js7_agent_unix.2.5.2.tar.gz `
-HttpPort 4445 `
-ExecStart StartService `
-ExecStop StopService `
-MakeService `
-JavaHome /opt/java/jdk-11.0.2+9 `
-MakeDirs
# Install Agent and create systemd service
# Specify Java from the given location
# The Agent's Windows Service is created for the system account
# The Agent's Windows Service is stopped and is started before and after installation |
Install Agent for Windows
Install Agent for HTTP Connections
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
-Tarball "C:\js7\downloads\js7_agent_windows.2.5.2.zip" `
-HttpPort 4445 `
-ExecStart StartService `
-ExecStop StopService `
-MakeService `
-ServiceCredentials ( New-Object -typename System.Management.Automation.PSCredential -ArgumentList '.\sos', ( 'sos' | ConvertTo-SecureString -AsPlainText -Force) ) `
-MakeDirs
# Install Agent from the indicated tarball
# The Agent's Windows Service is created for the local account ".\sos" using the password "sos"
# There are alternative ways how to avoid passwords from being specified in plain text
# The Agent's Windows Service is stopped and is started before and after installation |
Install Agent for HTTPS Connections
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
-Tarball "C:\js7\downloads\js7_agent_windows.2.5.2.zip" `
-HttpPort localhost:4445 `
-HttpsPort 4443 `
-PrivateConf "C:\js7\templates\private.conf-template-agent" `
-ControllerPrimaryCert "C:\js7\certs\demo.sos-berlin.com.crt" `
-Keystore "C:\js7\keys\https-keystore.pfx" `
-KeystorePassword "jobscheduler" `
-KeyAlias "centostest-primary" `
-Truststore "C:\js7\certs\https-truststore.pfx" `
-TruststorePassword "jobscheduler" `
-ExecStart StartService `
-ExecStop StopService `
-MakeService `
-MakeDirs
# Install Agent from the indicated tarball
# Limit the HTTP port to the localhost network interface, make the HTTPS port available for any network interfaces
# Apply a template file for SSL/TLS related settings that is automatically updated from arguments to the installation script
# Use a keystore in PKCS12 format with the given alias name and password and a truststore respectively |
Patch
Patch Agent for Linux
Patch Agent from Download
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
#!/usr/bin/env pwsh
./Install-JS7Agent.ps1 `
-HomeDir /opt/sos-berlin.com/js7/agent `
-HttpPort 4445 `
-Release 2.2.3 `
-Patch JS-1984 `
-Restart
# Patch Agent by downloading the indicated Patch from the SOS Web Site
# The systemd service is restarted |
Patch Agent from Tarball
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
#!/usr/bin/env pwsh
./Install-JS7Agent.ps1 `
-HomeDir /opt/sos-berlin.com/js7/agent `
-HttpPort 4445 `
-Tarball /tmp/js7_agent_unix.2.2.3.JS-1984.tar.gz `
-Patch JS-1984 `
-Restart
# Patch Agent from a previously downloaded patch archive
# The systemd service is restarted |
Patch Agent for Windows
Patch Agent from Download
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-HttpPort 4445 `
-Release 2.2.3 `
-Patch JS-1984 `
-Restart
# Patch Agent by downloading the indicated Patch from the SOS Web Site
# The Agent's Windows Service is restarted to apply the patch |
Patch Agent from .zip Archive
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-HttpPort 4445 `
-Tarball "C:/tmp/js7_agent_windows.2.2.3.JS-1984.zip" `
-Patch JS-1984 `
-Restart
# Patch Agent using the previously downloaded archive
# The Agent Windows Service is restarted to apply the patch |
Uninstall
Uninstall Agent for Linux
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
#!/usr/bin/env pwsh
./Install-JS7Agent.ps1 `
-HomeDir "/opt/sos-berlin.com/js7/agent" `
-Data "/var/sos-berlin.com/js7/agent" `
-HttpPort 4445 `
-ExecStop "StopService" `
-Uninstall
# Uninstall Agent using systemd to stop the Agent service
# The systemd service is removed
# Home directory and data directory are removed during uninstallation |
Uninstall Agent for Windows
Introduction
JS7 supports automated installation and updates from Installation Scripts:
- The documentation of the Agent Installation Script is available from JS7 - PowerShell Installation Script - Install-JS7Agent.ps1.
- Installation Scripts are available for download from (verify signed scripts) JS7 - Download.
- Considering the fact that PowerShell for Unix based environments misses support for
sudo
the Agent Installation Script does not own directories to other user accounts. Therefore below examples do not make use of --home-owner
and --data-owner
arguments that are available from the Unix Shell version of the Installation Script with JS7 - Agent - Unix Shell Installation Script - js7_install_agent.sh.
Install or Update
Install Agent for Unix
Install or Update from Download
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-Release 2.5.2 `
-HomeDir /home/sos/agent `
-HttpPort 4445 `
-MakeDirs
# downloads the release tarball from the SOS Web Site
# creates the home directory if it does not exist
# extracts the tarball to the Agent's home directory
# operates the Agent for HTTP port 4445 |
Install or Update from Tarball
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_unix.2.5.2.tar.gz' `
-Outfile /tmp/js7_agent_unix.2.5.2.tar.gz
./Install-JS7Agent.ps1 `
-Tarball /tmp/js7_agent_unix.2.5.2.tar.gz `
-HomeDir /home/sos/agent `
-HttpPort 4445 `
-MakeDirs
# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# creates the home directory if it does not exist
# extracts the tarball to the Agent's home directory
# operates the Agent for HTTP port 4445 |
Install or Update for separate Home and Data Directories
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-Release 2.5.2 `
-HomeDir /opt/sos-berlin.com/js7/agent `
-Data /var/sos-berlin.com/js7/agent `
-HttpPort 4445 `
-MakeDirs
# downloads the release tarball from the SOS Web Site
# suggests use of separate home and data directories for configuration data, log data etc.
# creates the home and data directories if they do not exist
# extracts the tarball to the Agent's home directory
# populates the data directory from initial configuration files
# operates the Agent for HTTP port 4445 |
Install or Update parallel Agent
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir /opt/sos-berlin.com/js7/agent `
-Data /var/sos-berlin.com/js7/agent_44445 `
-HttpPort 44445 `
-MakeDirs `
-UseInstall
# makes use of an existing Agent installation in the home directory
# creates the data directory if it does not exist
# populates the data directory from initial configuration files
# operates the Agent for HTTP port 44445 |
Install or Update and Stop/Start using systemd
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_unix.2.5.2.tar.gz' `
-Outfile /tmp/js7_agent_unix.2.5.2.tar.gz
./Install-JS7Agent.ps1 `
-Tarball /tmp/js7_agent_unix.2.5.2.tar.gz `
-HomeDir /home/sos/agent `
-HttpPort 4445 `
-ExecStart StartService `
-ExecStop StopService `
-MakeService `
-MakeDirs
# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Agent's home directory
# creates the Agent's systemd service
# stops and starts the Agent's systemd service
# operates the Agent for HTTP port 4445 |
Install or Update and Stop/Start using Individual Commands
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_unix.2.5.2.tar.gz' `
-Outfile /tmp/js7_agent_unix.2.5.2.tar.gz
./Install-JS7Agent.ps1 `
-Tarball /tmp/js7_agent_unix.2.5.2.tar.gz `
-HomeDir /home/sos/agent `
-HttpPort 4445 `
-ExecStart "/home/sos/agent/bin/agent_4445.sh start" `
-ExecStop "/home/sos/agent/bin/agent_4445.sh stop" `
-MakeDirs
# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Agent's home directory
# stops and starts the Agent by individual commands
# operates the Agent for HTTP port 4445 |
Install or Update and Stop/Start using Instance Start Script
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_unix.2.5.2.tar.gz' `
-Outfile /tmp/js7_agent_unix.2.5.2.tar.gz
./Install-JS7Agent.ps1 `
-Tarball /tmp/js7_agent_unix.2.5.2.tar.gz `
-HomeDir /home/sos/agent `
-HttpPort 4445 `
-Restart `
-MakeDirs
# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Agent's home directory
# creates the Agent's systemd service
# stops and starts the Agent from its instance start script <home>/bin/agent_4445.sh
# operates the Agent for HTTP port 4445 |
Install or Update using Java Home and Java Options
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_unix.2.5.2.tar.gz' `
-Outfile /tmp/js7_agent_unix.2.5.2.tar.gz
./Install-JS7Agent.ps1 `
-Tarball /tmp/js7_agent_unix.2.5.2.tar.gz `
-HomeDir /home/sos/agent `
-HttpPort 4445 `
-JavaHome /opt/java/jdk-17.0.2 `
-JavaOptions "-Xmx512m -Xms256m" `
-Restart `
-MakeDirs
# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Agent's home directory
# specifies the Java version and Java options to be used
# stops and starts the Agent from its instance start script <home>/bin/agent_4445.sh
# operates the Agent for HTTP port 4445 |
Install or Update and Apply Certificates for HTTPS Connections
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_unix.2.5.2.tar.gz' `
-Outfile /tmp/js7_agent_unix.2.5.2.tar.gz
./Install-JS7Agent.ps1 `
-Tarball /tmp/js7_agent_unix.2.5.2.tar.gz `
-HomeDir /home/sos/agent `
-ControllerId controller `
-HttpPort localhost:4445 `
-HttpsPort batch.example.com:4445 `
-PrivateConf /home/sos/agent-deployment/private.conf-template-agent `
-ControllerPrimaryCert /home/sos/agent-deployment/centostest-primary.crt `
-ControllerSecondaryCert /home/sos/agent-deployment/centostest-secondary.crt `
-Keystore /home/sos/agent-deployment/https-keystore.p12 `
-KeystorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
-Truststore /home/sos/agent-deployment/https-truststore.p12 `
-TruststorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
-ExecStart StartService `
-ExecStop StopService `
-MakeService `
-MakeDirs
# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Agent's home directory
# specifies the Controller ID of the Controller to which the Agent is dedicated
# specifies HTTP port 4445 on the localhost network interface and the same HTTPS port on the server network interface
# specifies the paths to the Primary and Secondary Controller's server certificates if a Controller Cluster is used
# for a Standalone Controller the -ControllerSecondaryCert argument is omitted
# deploys the Agent private configuration file which holds references to keystore and truststore
# deploys keystore and truststore files
# stops and starts the Agent's systemd service |
Note:
- For details about certificates and HTTPS connections see JS7 - Agent HTTPS Connections.
- The
private.conf
configuration file holds references to the Controller's certificate in order to verify the connection from the Controller using HTTPS mutual authentication. - 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 argument 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.
Renew Certificates for HTTPS Connections
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir /home/sos/agent `
-ControllerId controller `
-HttpPort localhost:4445 `
-HttpsPort batch.example.com:4445 `
-PrivateConf /home/sos/agent-deployment/private.conf-template-agent `
-ControllerPrimaryCert /home/sos/agent-deployment/centostest-primary.crt `
-ControllerSecondaryCert /home/sos/agent-deployment/centostest-secondary.crt `
-Keystore /home/sos/agent-deployment/https-keystore.p12 `
-KeystorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
-Truststore /home/sos/agent-deployment/https-truststore.p12 `
-TruststorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
-ExecStart StartService `
-ExecStop StopService `
-NoInstall
# performs no installation but certificate renewal only
# specifies the Controller ID of the Controller to which the Agent is dedicated
# addresses an existing Agent operated for HTTP port 4445 on the localhost network interface and the same HTTPS port on the server network interface
# specifies the paths to the Primary and Secondary Controller's server certificates if a Controller Cluster is used
# for a Standalone Controller the -controller-secondary-cert argument is omitted
# deploys the Agent private configuration file that holds references to keystore and truststore
# deploys keystore and truststore files
# stops and starts the Agent's systemd service |
Install or Update Primary Director Agent and Apply Certificates for HTTPS Connections
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.6/js7_agent_unix.2.6.0.tar.gz' `
-Outfile /tmp/js7_agent_unix.2.6.0.tar.gz
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.6/js7-license.jar' `
-Outfile /tmp/js7-license.jar
./Install-JS7Agent.ps1 `
-Tarball /tmp/js7_agent_unix.2.6.0.tar.gz `
-HomeDir /home/sos/agent `
-ControllerId controller `
-AgentClusterId agent-cluster `
-HttpPort localhost:4445 `
-HttpsPort batch.example.com:4445 `
-LicenseKey /home/sos/agent-deployment/example.pem `
-License-bin /tmp/js7-license.jar `
-PrivateConf /home/sos/agent-deployment/private.conf-template-agent `
-ControllerPrimaryCert /home/sos/agent-deployment/centostest-primary.crt `
-ControllerSecondaryCert /home/sos/agent-deployment/centostest-secondary.crt `
-DirectorPrimaryCert /home/sos/agent-deployment/centostest-primary.crt `
-DirectorSecondaryCert /home/sos/agent-deployment/centostest-secondary.crt `
-Keystore /home/sos/agent-deployment/https-keystore.p12 `
-KeystorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
-Truststore /home/sos/agent-deployment/https-truststore.p12 `
-TruststorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
-ExecStart StartService `
-ExecStop StopService `
-MakeService `
-Active `
-MakeDirs
# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# downloads the binary file for licensed code to enable cluster operations
# extracts the release tarball to the Agent's home directory
# specifies the Controller ID of the Controller to which the Agent is dedicated
# specifies the Agent Cluster ID
# specifies HTTP port 4445 on the localhost network interface and the same HTTPS port on the server network interface
# specifies the paths to the Primary and Secondary Controller's server certificates if a Controller Cluster is used
# for a Standalone Controller the --controller-secondary-cert argument is omitted
# specifies the paths to the Primary and Secondary Director Agent's server certificates if an Agent Cluster is used
# for a Standalone Director Agent the -DirectorSecondaryCert argument is omitted
# deploys the Agent private configuration file which holds references to keystore and truststore
# deploys keystore and truststore files
# makes the Agent the active Director Agent in an Agent Cluster
# stops and starts the Agent's systemd service |
Note:
- For details about certificates and HTTPS connections see JS7 - Agent HTTPS Connections.
- The
private.conf
configuration file holds references to the Controller's certificate in order to verify the connection from the Controller using HTTPS mutual authentication. - 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 argument 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.
Install or Update Secondary Director Agent and Apply Certificates for HTTPS Connections
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.6/js7_agent_unix.2.6.0.tar.gz' `
-Outfile /tmp/js7_agent_unix.2.6.0.tar.gz
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.6/js7-license.jar' `
-Outfile /tmp/js7-license.jar
./Install-JS7Agent.ps1 `
-Tarball /tmp/js7_agent_unix.2.6.0.tar.gz `
-HomeDir /home/sos/agent `
-ControllerId controller `
-AgentClusterId agent-cluster `
-HttpPort localhost:4445 `
-HttpsPort batch.example.com:4445 `
-LicenseKey /home/sos/agent-deployment/example.pem `
-License-bin /tmp/js7-license.jar `
-PrivateConf /home/sos/agent-deployment/private.conf-template-agent `
-ControllerPrimaryCert /home/sos/agent-deployment/centostest-primary.crt `
-ControllerSecondaryCert /home/sos/agent-deployment/centostest-secondary.crt `
-DirectorPrimaryCert /home/sos/agent-deployment/centostest-primary.crt `
-DirectorSecondaryCert /home/sos/agent-deployment/centostest-secondary.crt `
-Keystore /home/sos/agent-deployment/https-keystore.p12 `
-KeystorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
-Truststore /home/sos/agent-deployment/https-truststore.p12 `
-TruststorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
-ExecStart StartService `
-ExecStop StopService `
-MakeService `
-Standby `
-MakeDirs
# parameterization is the same as from the previous example for a Primary Director Agent
# the one exception being use of the -Standby switch for a Secondary Director Agent |
Start Agent Service
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir /home/sos/agent `
-HttpPort 4445 `
-ExecStart StartService `
-ExecStop StopService `
-NoInstall
# stops the Agent's systemd service should the Agent be running
# starts the Agent's systemd service |
Stop Agent Service
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir /home/sos/agent `
-HttpPort 4445 `
-ExecStop StopService `
-NoInstall
# stops the Agent's systemd service should the Agent be running |
Install Agent for Windows
Install or Update from Download
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-Release 2.5.2 `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
-HttpPort 4445 `
-MakeDirs
# downloads the release tarball from the SOS Web Site
# creates the home and data directories if they doe not exist
# extracts the tarball to the Agent's home directory
# operates the Agent for HTTP port 4445 |
Install or Update from .zip Archive
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_windows.2.5.2.zip' `
-Outfile C:\tmp\js7_agent_windows.2.5.2.zip
./Install-JS7Agent.ps1 `
-Tarball C:\tmp\js7_agent_windows.2.5.2.zip `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
-HttpPort 4445 `
-MakeDirs
# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# creates the home directory if it does not exist
# extracts the tarball to the Agent's home directory
# operates the Agent for HTTP port 4445 |
Install or Update parallel Agent
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-Data "C:\ProgramData\sos-berlin.com\js7\agent_44445" `
-HttpPort 44445 `
-MakeDirs `
-UseInstall
# makes use of an existing Agent installation in the home directory
# creates the data directory if it does not exist
# populates the data directory from initial configuration files
# operates the Agent for HTTP port 44445 |
Install or Update and Stop/Start using Windows Service
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_windows.2.5.2.zip' `
-Outfile C:\tmp\js7_agent_windows.2.5.2.zip
./Install-JS7Agent.ps1 `
-Tarball C:\tmp\js7_agent_windows.2.5.2.tar.gz `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
-HttpPort 4445 `
-ExecStart StartService `
-ExecStop StopService `
-MakeService `
-MakeDirs
# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Agent's home directory
# creates the Agent's Windows service
# stops and starts the Agent's Windows service
# operates the Agent for HTTP port 4445 |
Install or Update and Stop/Start using Windows Service for specific Account
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_windows.2.5.2.zip' `
-Outfile C:\tmp\js7_agent_windows.2.5.2.zip
./Install-JS7Agent.ps1 `
-Tarball C:\tmp\js7_agent_windows.2.5.2.tar.gz `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
-HttpPort 4445 `
-ServiceCredentials ( New-Object -typename System.Management.Automation.PSCredential `
-ArgumentList '.\sos', ( 'secret' | ConvertTo-SecureString -AsPlainText -Force) ) `
-MakeService `
-ExecStart StartService `
-ExecStop StopService `
-MakeDirs
# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Agent's home directory
# creates the Agent's Windows service that is running in the local account '.\sos' using the password 'secret'
# credentials can be specified in a number of ways
# stops and starts the Agent's Windows service
# operates the Agent for HTTP port 4445 |
Install or Update and Stop/Start using Instance Start Script
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_windows.2.5.2.zip' `
-Outfile C:\tmp\js7_agent_windows.2.5.2.zip
./Install-JS7Agent.ps1 `
-Tarball C:\tmp\js7_agent_windows.2.5.2.tar.gz `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
-HttpPort 4445 `
-Restart `
-MakeDirs
# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Agent's home directory
# stops and starts the Agent from its instance start script <home>\bin\agent_4445.cmd
# operates the Agent for HTTP port 4445 |
Install or Update using Java Home and Java Options
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_windows.2.5.2.zip' `
-Outfile C:\tmp\js7_agent_windows.2.5.2.zip
./Install-JS7Agent.ps1 `
-Tarball C:\tmp\js7_agent_windows.2.5.2.zip `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
-HttpPort 4445 `
-JavaHome "C:\Program Files\Java\jdk-17.0.2" `
-JavaOptions "-Xmx512m -Xms256m" `
-Restart `
-MakeDirs
# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Agent's home directory
# specifies the Java version and Java options to be used
# stops and starts the Agent from its instance start script <home>\bin\agent_4445.cmd
# operates the Agent for HTTP port 4445 |
Install or Update and Apply Certificates for HTTPS Connections
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_windows.2.5.2.zip' `
-Outfile C:\tmp\js7_agent_windows.2.5.2.zip
./Install-JS7Agent.ps1 `
-Tarball "C:\tmp\js7_agent_windows.2.5.2.zip" `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
-ControllerId controller `
-HttpPort localhost:4445 `
-HttpsPort batch.example.com:4445 `
-PrivateConf "C:\js7\agent-deployment\private.conf" `
-ControllerPrimaryCert "C:\js7\agent-deployment\wintest-primary.crt" `
-ControllerSecondaryCert "C:\js7\agent-deployment\wintest-secondary.crt" `
-Keystore "C:\js7\agent-deployment\https-keystore.pfx" `
-KeystorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
-Truststore "C:\js7\agent-deployment\https-truststore.pfx" `
-TruststorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
-ExecStart StartService `
-ExecStop StopService `
-MakeService `
-MakeDirs
# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Agent's home directory
# specifies the Controller ID of the Controller to which the Agent is dedicated
# specifies HTTP port 4445 on the localhost network interface and the same HTTPS port on the server network interface
# specifies the paths to the Primary and Secondary Controller's server certificates if a Controller Cluster is used
# for a Standalone Controller the -ControllerSecondaryCert argument is omitted
# deploys the Agent private configuration file which holds references to keystore and truststore
# deploys keystore and truststore files in PKCS12 format
# stops and starts the Agent's Windows service |
Note:
- For details about certificates and HTTPS connections see JS7 - Agent HTTPS Connections.
- The
private.conf
configuration file holds references to the Controller's certificate in order to verify the connection from the Controller using HTTPS mutual authentication. - Users have a choice how to provide the required configuration:
- Donwload 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.
Renew Certificates for HTTPS Connections
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
-ControllerId controller `
-HttpPort localhost:4445 `
-HttpsPort batch.example.com:4445 `
-PrivateConf "C:\js7\agent-deployment\private.conf" `
-ControllerPrimaryCert "C:\js7\agent-deployment\wintest-primary.crt" `
-ControllerSecondaryCert "C:\js7\agent-deployment\wintest-secondary.crt" `
-Keystore "C:\js7\agent-deployment\https-keystore.pfx" `
-KeystorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
-Truststore "C:\js7\agent-deployment\https-truststore.pfx" `
-TruststorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
-ExecStart StartService `
-ExecStop StopService `
-NoInstall
# performs no installation but certificate renewal only
# specifies the Controller ID of the Controller to which the Agent is dedicated
# addresses an existing Agent operated for HTTP port 4445 on the localhost network interface and the same HTTPS port on the server network interface
# specifies the paths to the Primary and Secondary Controller's server certificates if a Controller Cluster is used
# for a Standalone Controller the -ControllerSecondaryCert argument is omitted
# deploys the Agent private configuration file that holds references to keystore and truststore
# deploys keystore and truststore files in PKCS12 format
# stops and starts the Agent's Windows service |
Install or Update Primary Director Agent and Apply Certificates for HTTPS Connections
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.6/js7_agent_windows.2.6.0.zip' `
-Outfile C:\tmp\js7_agent_windows.2.6.0.zip
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.6/js7-license.jar' `
-Outfile C:\tmp\js7-license.jar
./Install-JS7Agent.ps1 `
-Tarball "C:\tmp\js7_agent_windows.2.6.0.zip" `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
-ControllerId controller `
-AgentClusterId agent-cluster `
-HttpPort localhost:4445 `
-HttpsPort batch.example.com:4445 `
-LicenseKey "C:\js7\agent-deployment\example.pem" `
-LicenseBin "C:\tmp\js7-license.jar" `
-PrivateConf "C:\js7\agent-deployment\private.conf" `
-ControllerPrimaryCert "C:\js7\agent-deployment\wintest-primary.crt" `
-ControllerSecondaryCert "C:\js7\agent-deployment\wintest-secondary.crt" `
-DirectorPrimaryCert "C:\js7\agent-deployment\wintest-primary.crt" `
-DirectorSecondaryCert "C:\js7\agent-deployment\wintest-secondary.crt" `
-Keystore "C:\js7\agent-deployment\https-keystore.pfx" `
-KeystorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
-Truststore "C:\js7\agent-deployment\https-truststore.pfx" `
-TruststorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
-ExecStart StartService `
-ExecStop StopService `
-MakeService `
-Active `
-MakeDirs
# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# downloads the binary file for licensed code to enable cluster operations
# extracts the release tarball to the Agent's home directory
# specifies the Controller ID of the Controller to which the Agent is dedicated
# specifies HTTP port 4445 on the localhost network interface and the same HTTPS port on the server network interface
# specifies the paths to the Primary and Secondary Controller's server certificates if a Controller Cluster is used
# for a Standalone Controller the -ControllerSecondaryCert argument is omitted
# specifies the paths to the Primary and Secondary Director Agent's server certificates if an Agent Cluster is used
# for a Standalone Director Agent the -DirectorSecondaryCert argument is omitted
# deploys the Agent private configuration file which holds references to keystore and truststore
# deploys keystore and truststore files in PKCS12 format
# stops and starts the Agent's Windows service |
Note:
- For details about certificates and HTTPS connections see JS7 - Agent HTTPS Connections.
- The
private.conf
configuration file holds references to the Controller's certificate in order to verify the connection from the Controller using HTTPS mutual authentication. - Users have a choice how to provide the required configuration:
- Donwload 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.
Install or Update Secondary Director Agent and Apply Certificates for HTTPS Connections
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.6/js7_agent_windows.2.6.0.zip' `
-Outfile C:\tmp\js7_agent_windows.2.6.0.zip
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/JobScheduler.2.6/js7-license.jar' `
-Outfile C:\tmp\js7-license.jar
./Install-JS7Agent.ps1 `
-Tarball "C:\tmp\js7_agent_windows.2.6.0.zip" `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
-ControllerId controller `
-AgentClusterId agent-cluster `
-HttpPort localhost:4445 `
-HttpsPort batch.example.com:4445 `
-LicenseKey "C:\js7\agent-deployment\example.pem" `
-LicenseBin "C:\tmp\js7-license.jar" `
-PrivateConf "C:\js7\agent-deployment\private.conf" `
-ControllerPrimaryCert "C:\js7\agent-deployment\wintest-primary.crt" `
-ControllerSecondaryCert "C:\js7\agent-deployment\wintest-secondary.crt" `
-DirectorPrimaryCert "C:\js7\agent-deployment\wintest-primary.crt" `
-DirectorSecondaryCert "C:\js7\agent-deployment\wintest-secondary.crt" `
-Keystore "C:\js7\agent-deployment\https-keystore.pfx" `
-KeystorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
-Truststore "C:\js7\agent-deployment\https-truststore.pfx" `
-TruststorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
-ExecStart StartService `
-ExecStop StopService `
-MakeService `
-Standby `
-MakeDirs
# parameterization is the same as from the previous example for a Primary Director Agent
# the one exception being use of the -Standby switch for a Secondary Director Agent |
Start Agent Service
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-HttpPort 4445 `
-ExecStart StartService `
-ExecStop StopService `
-NoInstall
# stops the Agent's Windows service should the Agent be running
# starts the Agent's Windows service |
Stop Agent Service
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-HttpPort 4445 `
-ExecStop StopService `
-NoInstall
# stops the Agent's Windows service should the Agent be running |
Patch
Patch Agent for Unix
Patch from Download
Code Block |
---|
language | bash |
---|
title | Example for use of Agent Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-Release 2.2.3 `
-Patch JS-1984 `
-HomeDir /home/sos/agent `
-HttpPort 4445 `
-ExecStart StartService `
-ExecStop StopService
# downloads the patch tarball from the SOS Web Site
# extracts the patch tarball to the Agent's home directory
# stores the patch files to the Agent's <home>/lib/patches sub-directory
# stops and starts the Agent's systemd service |
Patch from Tarball
Code Block |
---|
language | bash |
---|
title | Example for use of Agent Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/patches/2.2.3-patch/js7_agent.2.2.3-PATCH.JS-1984.tar.gz' `
-Outfile /tmp/js7_agent.2.2.3-PATCH.JS-1984.tar.gz
./Install-JS7Agent.ps1 `
-Tarball /tmp/js7_agent.2.2.3-PATCH.JS-1984.tar.gz `
-Patch JS-1984 `
-HomeDir /home/sos/agent `
-HttpPort 4445 `
-ExecStart StartService `
-ExecStop StopService
# downloads the patch tarball from the SOS Web Site using Invoke-WebRequest
# extracts the patch tarball to the Agent's home directory
# stores patch files to the Agent's <home>/lib/patches sub-directory
# stops and starts the Agent's systemd service |
Patch from .jar File
Code Block |
---|
language | bash |
---|
title | Example for use of Agent Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/patches/2.2.3-patch/js7_agent.2.2.3-PATCH.JS-1984.jar' `
-Outfile /tmp/js7_agent.2.2.3-PATCH.JS-1984.jar
./Install-JS7Agent.ps1 `
-PatchJar /tmp/js7_agent.2.2.3-PATCH.JS-1984.jar `
-Patch JS-1984 `
-HomeDir /home/sos/agent `
-HttpPort 4445 `
-ExecStart StartService `
-ExecStop StopService
# downloads the patch .jar file from the SOS Web Site using Invoke-WebRequest
# stores patch files to the Agent's <home>/lib/patches sub-directory
# stops and starts the Agent's systemd service |
Patch Agent for Windows
Patch from Download
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-Release 2.2.3 `
-Patch JS-1984 `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-HttpPort 4445 `
-ExecStart StartService `
-ExecStop StopService
# downloads the patch tarball from the SOS Web Site
# extracts the patch files to the Agent's <home>\lib\patches sub-directory
# stops and starts the Agent's Windows service |
Patch from Tarball
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/patches/2.2.3-patch/js7_agent.2.2.3-PATCH.JS-1984.tar.gz' `
-Outfile C:\tmp\js7_agent.2.2.3-PATCH.JS-1984.tar.gz
./Install-JS7Agent.ps1 `
-Tarball "C:\tmp\js7_agent.2.2.3-PATCH.JS-1984.tar.gz" `
-Patch JS-1984 `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-HttpPort 4445 `
-ExecStart StartService `
-ExecStop StopService
# downloads the patch tarball from the SOS Web Site using Invoke-WebRequest
# extracts patch files to the Agent's <home>\lib\patches sub-directory
# stops and starts the Agent's Windows service |
Patch from .jar File
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/patches/2.2.3-patch/js7_agent.2.2.3-PATCH.JS-1984.jar' `
-Outfile C:\tmp\js7_agent.2.2.3-PATCH.JS-1984.jar
./Install-JS7Agent.ps1 `
-PatchJar "C:\tmp\js7_agent.2.2.3-PATCH.JS-1984.jar" `
-Patch JS-1984 `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-HttpPort 4445 `
-ExecStart StartService `
-ExecStop StopService
# downloads the patch .jar file from the SOS Web Site using Invoke-WebRequest
# stores the patch .jar file to the Agent's <home>\lib\patches sub-directory
# stops and starts the Agent's Windows service |
Uninstall
Uninstall Agent for Unix
Uninstall
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir /opt/sos-berlin.com/js7/agent `
-Data /var/sos-berlin.com/js7/agent `
-HttpPort 4445 `
-ExecStop StopService `
-Uninstall
# stops the Agent's systemd service
# removes the Agent's systemd service
# removes the home directory and data directory |
Uninstall and Preserve Home Directory
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir /opt/sos-berlin.com/js7/agent `
-Data /var/sos-berlin.com/js7/agent `
-HttpPort 4445 `
-ExecStop StopService `
-UninstallData
# stops the Agent's systemd service
# removes the Agent's systemd service
# removes the Agent's data directory
# preserves the Agent's home directory that might be used by parallel Agents |
Uninstall and Preserve Data Directory
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir /opt/sos-berlin.com/js7/agent `
-Data /var/sos-berlin.com/js7/agent `
-HttpPort 4445 `
-ExecStop StopService `
-UninstallHome
# stops the Agent's systemd service
# removes the Agent's systemd service
# removes the Agent's home directory
# preserves the Agent's data directory |
Uninstall Agent for Windows
Uninstall
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
-HttpPort 4445 `
-ExecStop StopService `
-Uninstall
# stops the Agent's Windows service
# removes the Agent's Windows service
# removes the home directory and data directory |
Uninstall and Preserve Home Directory
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
-HttpPort 4445 `
-ExecStop StopService `
-UninstallData
# stops the Agent's Windows service
# removes the Agent's Windows service
# removes the Agent's data directory
# preserves the Agent's home directory that might be used by parallel Agents |
Uninstall and Preserve Data Directory
Code Block |
---|
language | powershell |
---|
title | Example for use of Installation Script |
---|
|
./Install-JS7Agent.ps1 `
-HomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
-Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
-HttpPort 4445 `
-ExecStop StopService `
-UninstallHome
# stops the Agent's Windows service
# removes the Agent's Windows service
# removes the Agent's home directory
# preserves the Agent's data directory |
ReplacementsThe Agent Installation Script performs replacements of placeholders in installation files and configuration files by option values.
Installation files
<home>\bin\agent_<http-port>.cmd
Configuration files
<config>\private\private.conf
...
language | powershell |
---|
title | Example for use of Installation Script |
---|
...