System Pulse Role Usage Guide
Requirements
None
Prerequisites
- Microsoft SQL must be installed on the multipurpose SQL server, and the System Pulse database must be created with the necessary permissions and configuration. This can be done using the Microsoft SQL role.
- The customer must provide a copy of the System Pulse MSI.
- The following variables must be defined. The variables should be all uppercase when defined as environment variables, but all lowercase when defined in
host_varsorgroup_varsfiles or an ansible vault. Use a secure password generator to create strong passwords.
# REQUIRED — spadmin password for the SQL database connection string
# Can alternatively be set as the Ansible variable microsoft_sql_spadmin_password
export MICROSOFT_SQL_SPADMIN_PASSWORD='USE_PASSWORD_GENERATOR'
# REQUIRED — LDAP bind credentials for System Pulse
# Can alternatively be set as Ansible variables (see Ansible Variables tab)
export SYSTEM_PULSE_LDAP_BIND_USER='DOMAIN_USER'
export SYSTEM_PULSE_LDAP_BIND_PASSWORD='PASSWORD_OF_DOMAIN_USER'
# REQUIRED — SQL server hostname for the connectionStrings.config
system_pulse_sql_hostname: 'SQL_SERVER_HOSTNAME'
# REQUIRED — spadmin password for the SQL database connection string
# Can alternatively be set as the environment variable MICROSOFT_SQL_SPADMIN_PASSWORD
microsoft_sql_spadmin_password: 'USE_PASSWORD_GENERATOR'
# OPTIONAL — SQL user for the connectionStrings.config (default: spadmin)
system_pulse_sql_user: 'spadmin'
# REQUIRED — LDAP bind credentials for System Pulse
# Can alternatively be set as environment variables (see Environment Variables tab)
system_pulse_ldap_bind_user: 'DOMAIN_USER'
system_pulse_ldap_bind_password: 'PASSWORD_OF_DOMAIN_USER'
Tags
A tag must be specified when running this role. Running without --tags or with --tags all is not supported and will result in an error.
| Tag | Includes | Description |
|---|---|---|
install |
prerequisites, dependencies, install_system_pulse, configure_system_pulse |
Runs all tasks required to install and configure System Pulse. |
prerequisites |
Runs only the prerequisites tasks (resolve install user/password, validate required variables). | |
dependencies |
Runs only the dependencies tasks (IIS features and configuration). | |
install_system_pulse |
Runs only the MSI installation tasks. | |
configure_system_pulse |
Runs only the configuration tasks (connection strings, LDAP membership, SMTP). |
Usage
- Create a file in
host_varsfor each host System Pulse will be installed on if it doesn't already exist. The file should be named after the host's inventory name (e.g.host_vars/abcsp01.yml). - A System Pulse MSI is required to install System Pulse. The playbook supports delivering it via HTTP(S) (e.g. storage account, S3 bucket, caddy file server, etc.) or by uploading it from the Ansible control node.
- When uploading files from the Ansible control node, place the MSI in a "shared files" directory on the Ansible control node (usually a location on the container's persistent storage in /home/ansible/source/files) and set
shared_files_directoryingroup_varsto the path of the directory. If thesystem_pulse_install_source_dirvariable is defined inhost_vars, it will overrideshared_files_directoryfor that host. - If the value of
shared_files_directoryorsystem_pulse_install_source_diris a URL, the playbook will attempt to download the MSI from that location. If it's a local file path, the playbook will attempt to upload the MSI from the Ansible control node.system_pulse_install_source_fileshould be set to the name of the MSI file (e.g.Epic May 2026 System Pulse Fix Package 2.msi).
- When uploading files from the Ansible control node, place the MSI in a "shared files" directory on the Ansible control node (usually a location on the container's persistent storage in /home/ansible/source/files) and set
- Update each host's
host_varswith the necessary variables using the sample variables below. - Run the
playbooks/deploy-system-pulse.ymlplaybook with the appropriate tag.
Post-Install: Database Initialization Required
After installation, the System Pulse database must be initialized using the Configuration Editor before System Pulse will function. Log in to the server and run:
"C:\Program Files (x86)\Epic\System Pulse\ConfigurationEditor\SystemPulseConfigurationEditor.exe" -UPGRADE
Setting system_pulse_auto_launch_config_editor: true in host_vars will automatically schedule the Configuration Editor to launch on the next login for the user running the playbook.