Versions Compared

Key

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

...

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.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 optionargument 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:
    • Donwload Download the private.conf-template-agent template, the Agent Installation Script performs replacements of placeholders in the template file from option 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 - Controller Agent 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-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 optionargument 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
languagepowershell
titleExample for use of Installation Script
./Install-JS7Agent.ps1Invoke-WebRequest `
    -HomeDirUri 'https:/home/download.sos-berlin.com/JobScheduler.2.6/js7_agent_unix.2.6.0.tar.gz' `
      -HttpPort 4445-Outfile /tmp/js7_agent_unix.2.6.0.tar.gz
 Invoke-WebRequest `
      -ExecStart StartServiceUri 'https://download.sos-berlin.com/JobScheduler.2.6/js7-license.jar' `
    -Outfile -ExecStop StopService/tmp/js7-license.jar
 
./Install-JS7Agent.ps1 `
    -NoInstall

# stops the Agent's systemd service should the Agent be running
# starts the Agent's systemd service

Stop Agent Service

Code Block
languagepowershell
titleExample for use of Installation Script
./Install-JS7Agent.ps1Tarball /tmp/js7_agent_unix.2.6.0.tar.gz `
    -HomeDir /home/sos/agent `
    -ControllerId controller `
    -AgentClusterId agent-cluster `
     -HomeDir /home/sos/agentHttpPort localhost:4445 `
      -HttpPort HttpsPort batch.example.com:4445 `
      -ExecStop StopServiceLicenseKey /home/sos/agent-deployment/example.pem `
    -NoInstall

# stops the Agent's systemd service should the Agent be running

Install Agent for Windows

Install or Update from Download

Code Block
languagepowershell
titleExample for use of Installation Script
./Install-JS7Agent.ps1License-bin /tmp/js7-license.jar `
    -PrivateConf /home/sos/agent-deployment/private.conf-template-agent `
    -Release 2.5.2ControllerPrimaryCert /home/sos/agent-deployment/centostest-primary.crt `
    -HomeDir "C:\Program Files\sos-berlin.com\js7\agent"ControllerSecondaryCert /home/sos/agent-deployment/centostest-secondary.crt `
    -Data "C:\ProgramData\sos-berlin.com\js7\agent_4445"DirectorPrimaryCert /home/sos/agent-deployment/centostest-primary.crt `
    -HttpPort 4445DirectorSecondaryCert /home/sos/agent-deployment/centostest-secondary.crt `
    -Keystore -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
languagepowershell
titleExample for use of Installation Script
Invoke-WebRequest/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 `
    -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
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_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

MakeDirs

# downloads the release tarball from the SOS Web Site using curl
# 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
languagepowershell
titleExample for use of Installation Script
Invoke-WebRequest
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.tar.gz `
    -HomeDirUri "C:\Program Files\'https://download.sos-berlin.com\js7\agent"/JobScheduler.2.6/js7_agent_unix.2.6.0.tar.gz' `
    -Data "C:\ProgramData\sos-berlin.com\js7\agent_4445" `
    -HttpPort 4445Outfile /tmp/js7_agent_unix.2.6.0.tar.gz
 Invoke-WebRequest `
    -ExecStart StartServiceUri 'https://download.sos-berlin.com/JobScheduler.2.6/js7-license.jar' `
    -ExecStop StopService `
    -MakeServiceOutfile /tmp/js7-license.jar
 
./Install-JS7Agent.ps1 `
    -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-WebRequestTarball /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 `
    -UriPrivateConf 'https:/home/download.sos/agent-berlin.comdeployment/JobScheduler.2.5/js7_agent_windows.2.5.2.zip'private.conf-template-agent `
    -Outfile C:\tmp\js7_agent_windows.2.5.2.zip

./Install-JS7Agent.ps1ControllerPrimaryCert /home/sos/agent-deployment/centostest-primary.crt `
    -Tarball C:\tmp\js7_agent_windows.2.5.2.tar.gzControllerSecondaryCert /home/sos/agent-deployment/centostest-secondary.crt `
    -HomeDir "C:\Program Files\sos-berlin.com\js7\agent"DirectorPrimaryCert /home/sos/agent-deployment/centostest-primary.crt `
    -Data "C:\ProgramData\sos-berlin.com\js7\agent_4445"DirectorSecondaryCert /home/sos/agent-deployment/centostest-secondary.crt `
    -HttpPort 4445Keystore /home/sos/agent-deployment/https-keystore.p12 `
    -ServiceCredentialsKeystorePassword ('jobscheduler' | NewConvertTo-ObjectSecureString -typename System.Management.Automation.PSCredentialAsPlainText -Force) `
    -Truststore                   /home/sos/agent-deployment/https-truststore.p12 `
    -ArgumentList '.\sos', ( 'secretTruststorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) )` `
      -MakeServiceExecStart StartService `
    -ExecStartExecStop StartServiceStopService `
    -ExecStop StopServiceMakeService `
    -Standby `
     -MakeDirs

# downloadsparameterization is the releasesame tarballas from the SOSprevious Webexample Sitefor using Invoke-WebRequest
# extracts the tarball to the Agent's home directorya Primary Director Agent
# creates the Agent'sone Windowsexception servicebeing use that is running in of the local-Standby account '.\sos' using the password 'secret' 
#    credentials can be specified in a number of ways
# stops and starts switch for a Secondary Director Agent

Start Agent Service

Code Block
languagepowershell
titleExample for use of Installation Script
./Install-JS7Agent.ps1 `
    -HomeDir /home/sos/agent `
    -HttpPort 4445 `
    -ExecStart StartService `
    -ExecStop StopService `
    -NoInstall

# stops the Agent's Windowssystemd service should the Agent be running
# operatesstarts the Agent's for HTTP port 4445

...

systemd service

Stop Agent Service

Code Block
languagepowershell
titleExample for use of Installation Script
Invoke-WebRequest./Install-JS7Agent.ps1 `
    -UriHomeDir 'https:/home/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.ps1HttpPort 4445 `
      -Tarball C:\tmp\js7_agent_windows.2.5.2.tar.gzExecStop StopService `
    -NoInstall

# stops the Agent's systemd service should the Agent be running

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 `
    -HomeDirHomeDir "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
# extractscreates the tarballhome toand the Agent's home directorydata directories if they doe not exist
# stopsextracts the andtarball startsto the Agent's from its instance start script <home>\bin\agent_4445.cmdhome 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\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-WebRequestMakeDirs

# 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
# 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

...

parallel 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'\js7\agent" `
    -OutfileData "C:\tmp\ProgramData\sos-berlin.com\js7_agent_windows.2.5.2.zip

./Install-JS7Agent.ps1\agent_44445" `
    -Tarball "C:\tmp\js7_agent_windows.2.5.2.zip"HttpPort 44445 `
    -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 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
languagepowershell
titleExample for use of Installation Script
Invoke-WebRequest`
    -PrivateConf "C:\js7\agent-deployment\private.conf" `
    -ControllerPrimaryCertUri "C:\js7\agent-deployment\wintest-primary.crt"'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_windows.2.5.2.zip' `
    -ControllerSecondaryCertOutfile "C:\tmp\js7\agent-deployment\wintest-secondary.crt"_agent_windows.2.5.2.zip

./Install-JS7Agent.ps1 `
     -KeystoreTarball "C:\tmp\js7\agent-deployment\https-keystore.pfx"_agent_windows.2.5.2.tar.gz `
    -KeystorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
    -TruststoreHomeDir "C:\Program Files\sos-berlin.com\js7\agent" `
    -Data "C:\ProgramData\sos-berlin.com\js7\agent-deployment\https-truststore.pfx_4445" `
     -TruststorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) ` 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
# specifiescreates the ControllerAgent's IDWindows ofservice
# thestops Controllerand to whichstarts the Agent's isWindows dedicatedservice
# specifies HTTP port 4445 onoperates the localhostAgent networkfor 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 option 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

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/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
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.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
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:
    • 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
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) ` 
    -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
languagepowershell
titleExample 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
languagepowershell
titleExample 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" `
   
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"AgentClusterId agent-cluster `
    -KeystorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force)HttpPort localhost:4445 `
    -HttpsPort batch.example.com:4445 `
     -TruststoreLicenseKey "C:\js7\agent-deployment\https-truststoreexample.pfxpem" `
    -TruststorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force)LicenseBin "C:\tmp\js7-license.jar" ` 
      -ExecStart StartServicePrivateConf "C:\js7\agent-deployment\private.conf" `
    -ExecStop StopServiceControllerPrimaryCert "C:\js7\agent-deployment\wintest-primary.crt" `
    -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 option 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-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
languagepowershell
titleExample 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

...