Versions Compared

Key

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

...

Code Block
titleExample for use of Agent Installation Script
linenumberstrue
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 `
    -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
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 `
    -ControllerId controller `
    -HttpPort localhost:4445 `
    -HttpsPort batch.exapleexample.com:4445`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

...

  • 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.exapleexample.com:4445`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" `
    -Tarball "C:\js7\downloads\js7_agent_windows.2.5.2.zip"HttpPort 4445 `
    -HttpPort 4445 `
    -ExecStart StartService `
    -ExecStop StopService `
    -MakeService 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 Tarball

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.tar.gz' -Outfile C:\tmp\js7_agent_windows.2.5.2.tar.gz

./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 `
    -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 and Stop/Start using Windows Service

Code Block
titleExample for use of Agent Installation Script
linenumberstrue
Invoke-WebRequest -Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_windows.2.5.2.tar.gz' -Outfile C:\tmp\js7_agent_windows.2.5.2.tar.gz

./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 using Java Home and Java Options

Code Block
titleExample for use of Agent Installation Script
linenumberstrue
Invoke-WebRequest -Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_windows.2.5.2.tar.gz' -Outfile C:\tmp\js7_agent_windows.2.5.2.tar.gz

./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', ( 'sos' | ConvertTo-SecureString -AsPlainText -Force) )JavaHome "C:\Program Files\Java\jdk-11.0.2+9" `
    -JavaOptions "-Xmx512m -Xms256m" `
    -Restart `
    -MakeDirs

# Installsdownloads the Agentrelease tarball from the SOS indicated .zip archiveWeb Site using Invoke-WebRequest
# Createsextracts the Agent's Windows Service fortarball to the local account ".\sos" using the password "sos"
# There are alternative ways how to avoid passwords from being specified in plain text
# Stops the Agent's Windows Service before installation and starts the service after installationAgent'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_windows.2.5.2.ziptar.gz' -Outfile /C:\tmp/\js7_agent_windows.2.5.2.ziptar.gz

./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) ` 
    -Restart `
    -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

...

  • 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 "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) ` 
    -Restart `
    -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
# stops and starts the Agent's Windows service

...