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

Anchor
replacements
replacements
Replacements

The Agent Installation Script performs replacements of placeholders in installation files and configuration files by option values.

Installation files

  • <home>\bin\agent_<http-port>.cmd
    • Replacements are performed for the following placeholders used for environment variables by respective option values:

      PlaceholderOption Value
      JS7_AGENT_HOME-HomeDir
      JS7_AGENT_DATA-Data
      JS7_AGENT_USER-User
      JS7_AGENT_HTTP_PORT-HttpPort
      JS7_AGENT_HTTPS_PORT-HttpsPort
      JS7_AGENT_CONFIG_DIR-Config
      JS7_AGENT_LOGS-Logs
      JS7_AGENT_WORK_DIR-Work
      JS7_AGENT_PID_FILE_DIR-PidFileDir
      JS7_AGENT_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:

      PlaceholderOption Value
      {{controller-id}}-ControllerId
      {{controller-primary-distinguished-name}}-ControllerPrimaryCert
      {{controller-secondary-distinguished-name}}-ControllerSecondaryCert
      {{agent-cluster-id}}-AgentClusterId
      {{director-primary-distinguished-name}}-DirectorPrimaryCert
      {{director-secondary-distinguished-name}}-DirectorSecondaryCert
      {{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:

      Code Block
      languageyml
      titleprivate.conf template file with placeholders
      collapsetrue
      js7 {
          auth {
              users {
                  # Controller ID for connections by primary/secondary Controller instance
                  {{controller-id}} {
                      distinguished-names=[
                          "{{controller-primary-distinguished-name}}",
                          "{{controller-secondary-distinguished-name}}"
                      ]
                  }
      
                  # Agent Cluster ID for connections by primary/secondary Director Agent instance
                  {{agent-cluster-id}} {
                      permissions = [ AgentDirector ]
                      distinguished-names=[
                          "{{director-primary-distinguished-name}}",
                          "{{director-secondary-distinguished-name}}"
                      ]
                  }
              }
          }
      
          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"
              }
          }
      
          job {
              # Enable script execution from signed workflows^M
              execution {
                  signed-script-injection-allowed=yes
              }
          }
      
          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}}"
                      }
                  ]
              }
          }
      }

...