Versions Compared

Key

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

...

Code Block
languagepowershell
titleExample 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

...

side-by-side Agent

Code Block
languagepowershell
titleExample for use of Installation Script
Invoke-WebRequest./Install-JS7Agent.ps1 `
    -UriHomeDir 'https:/opt/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 `
    -TarballData /tmp/js7_agent_unix.2.5.2.tar.gzvar/sos-berlin.com/js7/agent_44445 `
    -HomeDir /home/sos/agentHttpPort 44445 `
      -HttpPortMakeDirs 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
# UseInstall

# makes use of an existing Agent installation in the home directory
# creates the data director< if it does not exist
# populates the data directory from initial configuration files
# operates the Agent for HTTP port 444544445

Install or Update and Stop/Start using

...

systemd

Code Block
languagepowershell
titleExample 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" StartService `
    -ExecStop "/home/sos/agent/bin/agent_4445.sh stop"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 bysystemd individual commandsservice
# operates the Agent for HTTP port 4445

Install or Update and Stop/Start using

...

Individual Commands

Code Block
languagepowershell
titleExample 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  -Restart"/home/sos/agent/bin/agent_4445.sh start" `
    -MakeDirs

# downloads 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
# creates the Agent's systemd service
# stops and starts the Agent fromby its instance start script <home>/bin/agent_4445.shindividual commands
# operates the Agent for HTTP port 4445

Install or Update

...

and Stop/Start using Instance Start Script

Code Block
languagepowershell
titleExample 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-11.0.2+9 Restart `
    -JavaOptions "-Xmx512m -Xms256m" `
    -Restart `
    -MakeDirs

# downloads theMakeDirs

# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Agent's home directory
# specifiescreates the JavaAgent's version and Java options to be usedsystemd 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
languagepowershell
titleExample 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 `
      -ControllerIdHttpPort controller4445 `
     -HttpPort localhost:4445JavaHome /opt/java/jdk-11.0.2+9 `
    -HttpsPort batch.example.com:4445JavaOptions "-Xmx512m -Xms256m" `
    -PrivateConf /home/sos/agent-deployment/private.confRestart `
    -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
languagepowershell
titleExample 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 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 StopServiceTarball /tmp/js7_agent_unix.2.5.2.tar.gz `
     -MakeService-HomeDir /home/sos/agent `
    -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:
    • The Agent Installation Script performs replacements of placeholders in the private.conf configuration 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 - Controller Configuration Items.

Renew Certificates for HTTPS Connections

Code Block
languagepowershell
titleExample 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 `
    -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 Agent for Windows

Install or Update from Download

Code Block
languagepowershell
titleExample 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

...

ControllerId controller `
    -HttpPort localhost:4445 `
    -HttpsPort batch.example.com:4445 `
    -PrivateConf /home/sos/agent-deployment/private.conf `
    -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:
    • The Agent Installation Script performs replacements of placeholders in the private.conf configuration 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 - Controller Configuration Items.

Renew Certificates for HTTPS Connections

Code Block
languagepowershell
titleExample 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 `
    -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 Agent for Windows

Install or Update from Download

Code Block
languagepowershell
titleExample 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../Install-JS7Agent.ps1 `
    -Release 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 directoryand data directories if itthey doesdoe 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
languagepowershell
titleExample 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\tmp\js7_agent_windows.2.5.2.tar.gzzip `
    -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
# creates the home directory if it does not exist
# extracts the tarball to the Agent's home directory
# createsoperates the Agent's Windowsfor service
# stops and starts the Agent's Windows service
# operates the Agent for HTTP portHTTP port 4445

Install or Update

...

side-by-side Agent

Code Block
languagepowershell
titleExample for use of Installation Script
Invoke-WebRequest./Install-JS7Agent.ps1 `
    -UriHomeDir 'https://download."C:\Program Files\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\tmp\js7_agent_windows.2.5.2.tar.gz `
    -HomeDir "C:\Program Files\js7\agent" `
    -Data "C:\ProgramData\sos-berlin.com\js7\agent_44445" `
    -Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
  HttpPort 44445 `
    -HttpPortMakeDirs 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

UseInstall

# makes use of an existing Agent installation in the home directory
# creates the data director< 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
languagepowershell
titleExample 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\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
languagepowershell
titleExample for use of Installation Script
Invoke-WebRequest -Uri 'https://download.sos-berlin.com/JobScheduler.2.5/
Code Block
languagepowershell
titleExample 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\tmp\js7_agent_windows.2.5.2.tar.gz `
    -zip' -Outfile C:\tmp\js7_agent_windows.2.5.2.zip

./Install-JS7Agent.ps1 `
    -Tarball C:\tmp\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 `
    -RestartServiceCredentials `
( New-Object -typename System.Management.Automation.PSCredential -MakeDirs

# downloads 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
# stopscreates andthe startsAgent's theWindows Agentservice from itsthat instanceis startrunning script <home>\bin\agent_4445.cmdin 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
languagepowershell
titleExample 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\tmp\js7_agent_windows.2.5.2.tar.zipgz `
    -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-11.0.2+9" `
    -JavaOptions "-Xmx512m -Xms256m" `Restart `
    -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

...

 the Agent for HTTP port 4445

Install or Update using Java Home and Java Options

Code Block
languagepowershell
titleExample 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-11.0.2+9" `
    -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
languagepowershell
titleExample 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:
    • The Agent Installation Script performs replacements of placeholders in the private.conf configuration 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
languagepowershell
titleExample for use of Installation ScriptInstallation 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 `
    -MakeDirsNoInstall

# downloadsperforms theno releaseinstallation tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Agent's home directorybut certificate renewal only
# specifies the Controller ID of the Controller to which the Agent is dedicated
# specifies 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 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:
    • The Agent Installation Script performs replacements of placeholders in the private.conf configuration 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.

...

 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

Patch

Patch Agent for Unix

Patch from Download

Code Block
languagepowershell
titleExample for use of Installation Script
./Install-JS7Agent.ps1 `
    -Release 2.2.3 `
    -Patch JS-1984 `
    -HomeDir "C:\Program Files\sos-berlin.com\js7\agent" /home/sos/agent `
    -HttpPort 4445 `
    -ExecStart StartService `
    -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"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
languagepowershell
titleExample for use of Installation Script
Invoke-WebRequest -Uri 'https://download.sos-berlin.com/JobScheduler.2.2/js7_agent_unix.2.2.3.JS-1984.tar.gz' -Outfile /tmp/js7_agent_unix.2.2.3.JS-1984.tar.gz

./Install-JS7Agent.ps1 `
    -ControllerSecondaryCert "C:\js7\agent-deployment\wintest-secondary.crt" ` 
    -Keystore "C:\js7\agent-deployment\https-keystore.pfx"Tarball /tmp/js7_agent_unix.2.2.3.JS-1984.tar.gz  `
    -KeystorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force)Patch JS-1984 `
     -Truststore "C:\js7\agent-deployment\https-truststore.pfx"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 the 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
languagepowershell
titleExample 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 tarball to the Agent's home directory
# stores the patch files to the Agent's <home>\lib\patches sub-directory-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

...

Patch

...

from .zip Archive

Code Block
languagepowershell
titleExample for use of Installation Script
titleExample for use of Installation Script
Invoke-WebRequest -Uri 'https://download.sos-berlin.com/JobScheduler.2.2/js7_agent_windows.2.2.3.JS-1984.zip' -Outfile C:\tmp\js7_agent_windows.2.2.3.JS-1984.zip

./Install-JS7Agent.ps1 `
    -Release Tarball "C:\tmp\js7_agent_windows.2.2.3.JS-1984.zip" `
      -Patch JS-1984 `
    -HomeDir /home/sos/agent"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 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

...

Windows service

Uninstall

Uninstall Agent for Unix

Uninstall

Code Block
languagepowershell
titleExample for use of Installation Script
Invoke-WebRequest./Install-JS7Agent.ps1 `
    -UriHomeDir 'https:/opt/download.sos-berlin.com/JobScheduler.2.2/js7_agent_unix.2.2.3.JS-1984.tar.gz' -Outfile /tmp/js7_agent_unix.2.2.3.JS-1984.tar.gz

./Install-JS7Agent.ps1 `
    -Tarball /tmp/js7_agent_unix.2.2.3.JS-1984.tar.gz /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
languagepowershell
titleExample for use of Installation Script
./Install-JS7Agent.ps1 `
    -Patch JS-1984HomeDir /opt/sos-berlin.com/js7/agent `
     -HomeDirData /homevar/sos-berlin.com/js7/agent `
     -HttpPort 4445 `
    -ExecStartExecStop StartServiceStopService `
    -ExecStop StopServiceUninstallData

# downloadsstops the patchAgent's tarball from the SOS Web Site using Invoke-WebRequest
# extracts the patch tarball tosystemd service
# removes the Agent's homesystemd directoryservice
# storesremoves the patch files toAgent's data directory
# preserves the Agent's <home>/lib/patches sub-directory
# stops and starts the Agent's systemd Service

Patch Agent for Windows

Patch from Download

home directory that might be used by additional Agents installed side-by-side

Uninstall and Preserve Data Directory

Code Block
languagepowershell
titleExample for use of Installation Script
./Install-JS7Agent.ps1 `
    -Release 2.2.3 `
    -Patch JS-1984HomeDir /opt/sos-berlin.com/js7/agent `
     -HomeDir "C:\Program Files\Data /var/sos-berlin.com\/js7\/agent" `
    -HttpPort 4445 `
    -ExecStartExecStop StartServiceStopService `
    -ExecStop StopServiceUninstallHome

# downloadsstops the patchAgent's tarball from the SOS Web Sitesystemd service
# extractsremoves the patch tarball to the Agent's homesystemd directoryservice
# storesremoves the patch files to the Agent's <home>\lib\patches sub-directory
# stops and startshome directory
# preserves the Agent's data directory

Uninstall Agent for Windows

...

Uninstall

...

Code Block
languagepowershell
titleExample for use of Installation Script
titleExample for use of Installation Script
.Invoke-WebRequest -Uri 'https://download.sos-berlin.com/JobScheduler.2.2/js7_agent_windows.2.2.3.JS-1984.zip' -Outfile C:\tmp\js7_agent_windows.2.2.3.JS-1984.zip

./Install-JS7Agent.ps1 `
    -TarballHomeDir "C:\tmp\Program Files\sos-berlin.com\js7_agent_windows.2.2.3.JS-1984.zip\agent" `
    -Patch JS-1984 `
    -HomeDirData "C:\Program FilesProgramData\sos-berlin.com\js7\agent_4445" `
    -HttpPort 4445 `
    -ExecStart StartService `
    -ExecStop StopService 

# downloads the patch tarball from the SOS Web Site using Invoke-WebRequest
# extracts the patch tarball to
    -ExecStop StopService ` 
    -Uninstall

# stops the Agent's homeWindows directoryservice
# stores patch files to removes the Agent's <home>\lib\patches sub-directoryWindows service
# stopsremoves andthe startshome thedirectory Agent'sand Windowsdata servicedirectory

Uninstall

...

and Preserve Home Directory

Uninstall Agent for Unix

Code Block
languagepowershell
titleExample for use of Installation Script
./Install-JS7Agent.ps1 `
    -HomeDir /opt/ "C:\Program Files\sos-berlin.com/\js7/\agent" `
    -Data /var/"C:\ProgramData\sos-berlin.com/\js7/\agent_4445" `
    -HttpPort 4445 `
    -ExecStop StopService ` 
     -UninstallUninstallData

# stops the Agent's systemdWindows service
# removes the Agent's systemdWindows service
# removes the Agent's data directory
# preserves the Agent's home directory and data directory

...

that might be used by additional Agents installed side-by-side

Uninstall and Preserve Data Directory

Code Block
languagepowershell
titleExample 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 ` 
    -UninstallUninstallHome

# stops the Agent's Windows service
# removes the Agent's Windows service
# removes the Agent's home directory and
# preserves the Agent's data directory