Page History
...
Code Block | ||||
---|---|---|---|---|
| ||||
./Install-JS7Controller.ps1 ` -HomeDir "C:\Program Files\sos-berlin.com\js7\controller" ` -Data "C:\ProgramData\sos-berlin.com\js7\controller" ` -ControllerId controller ` -HttpPort 4444 ` -ExecStop StopService ` -Uninstall # stops the Controller's Windows service # removes the Controller's Windows service # removes the home directory and data directory |
Anchor | ||||
---|---|---|---|---|
|
The Controller Installation Script performs replacements of placeholders in installation files and configuration files by option values.
Installation Files
<home>\bin\controller_instance.cmd
Replacements are performed for the following placeholders used for environment variables by respective option values:
Placeholder Option Value JS7_CONTROLLER_HOME
-HomeDir
JS7_CONTROLLER_DATA
-Data
JS7_CONTROLLER_ID
-ControllerId
JS7_CONTROLLER_USER
-User
JS7_CONTROLLER_HTTP_PORT
-HttpPort
JS7_CONTROLLER_HTTPS_PORT
-HttpsPort
JS7_CONTROLLER_CONFIG_DIR
-Config
JS7_CONTROLLER_LOGS
-Logs
JS7_CONTROLLER_PID_FILE_DIR
-PidFileDir
JS7_CONTROLLER_PID_FILE_NAME
-PidFileName
JAVA_HOME
-JavaHome
JAVA_OPTIONS
-JavaOptions
Configuration Files
<config>\private\private.conf
Replacements are performed for the following placeholders by respective option values:
Placeholder Option Value {{controller-id}}
-ControllerId
{{controller-primary-distinguished-name}}
-ControllerPrimaryCert
{{controller-secondary-distinguished-name}}
-ControllerSecondaryCert
{{joc-primary-distinguished-name}}
-JocPrimaryCert
{{joc-secondary-distinguished-name}}
-JocSecondaryCert
{{keystore-file}}
-Keystore
{{keystore-password}}
-KeystorePassword
{{keystore-alias}}
-KeystoreAlias
{{client-keystore-file}}
-ClientKeystore
{{client-keystore-password}}
-ClientKeystorePassword
{{client-keystore-alias}}
-ClientKeystoreAlias
{{truststore-file}}
-Truststore
{{truststore-password}}
-TruststorePassword
Find a template for a
private.conf
file using placeholders for HTTPS mutual authentication:
Download: private.conf-template-controllerCode Block language yml title private.conf template file with placeholders collapse true js7 { auth { users { # History account (used to release events) History { distinguished-names=[ "{{joc-primary-distinguished-name}}", "{{joc-secondary-distinguished-name}}" ] password="sha512:B793649879D61613FD3F711B68F7FF3DB19F2FE2D2C136E8523ABC87612219D5AECB4A09035AD88D544E227400A0A56F02BC990CF0D4CB348F8413DE00BCBF08" } # JOC account (needs UpdateItem permission for deployment) JOC { distinguished-names=[ "{{joc-primary-distinguished-name}}", "{{joc-secondary-distinguished-name}}" ] password="sha512:3662FD6BF84C6B8385FC15F66A137AB75C755147A81CC7AE64092BFE8A18723A7C049D459AB35C059B78FD6028BB61DCFC55801AE3894D2B52401643F17A07FE" permissions=[ UpdateItem ] } # Controller ID and distinguished names for connections by primary/secondary Controller instance {{controller-id}} { distinguished-names=[ "{{controller-primary-distinguished-name}}", "{{controller-secondary-distinguished-name}}" ] password="plain:" } } cluster.password="" } configuration { # Locations of certificates and public keys used for signature verification trusted-signature-keys { # PGP=${js7.config-directory}"/private/trusted-pgp-keys" X509=${js7.config-directory}"/private/trusted-x509-keys" } } journal { # allow History account to release unused journals users-allowed-to-release-events=[ History ] } web { # Locations of keystore and truststore files for HTTPS connections https { keystore { # Default: ${js7.config-directory}"/private/https-keystore.p12" file=${js7.config-directory}"/private/{{keystore-file}}" key-password="{{keystore-password}}" store-password="{{keystore-password}}" # alias="{{keystore-alias}}" } client-keystore { # Default: ${js7.config-directory}"/private/https-client-keystore.p12" file=${js7.config-directory}"/private/{{client-keystore-file}}" key-password="{{client-keystore-password}}" store-password="{{client-keystore-password}}" # alias="{{client-keystore-alias}}" } truststores=[ { # Default: ${js7.config-directory}"/private/https-truststore.p12" file=${js7.config-directory}"/private/{{truststore-file}}" store-password="{{truststore-password}}" } ] } } }
Automation
The Controller Installation Script can be executed from a job for automated update and upgrade of JS7 Controllers.
The steps for automation are similar to update and upgrade of JS7 Agents. Find instructions how to set up workflow automation from the JS7 - Automated Installation and Update article.
Further Resources
- JS7 - Automated Installation and Update
- JS7 - How to create self-signed Certificates
- JS7 - How to add SSL TLS Certificates to Keystore and Truststore