Synergy Agent - Deployment Flow
Bundles Distribution
The agent uses the same distribution flow as ML model deployments.
Runbook on artifacts deployment: Artifact bundle deployment - Getvisibility - Confluence (atlassian.net)
In the current implementation a bundle must be assigned to a cluster as there’s no default bundle available which could be reused for all deployments.
We are also in the process of revisiting the flow in order to make the release process more streamlined.
The deployed bundles are essential for two key functionalities:
Dashboard: The bundles are utilized by the Dashboard to populate the Download page, enabling users to access and download the available versions.
Agent: The bundles also support the AutoUpdate functionality of the agent, ensuring that it can automatically update itself to the latest version when available.
Deployment flow:
Once a new bundle is deployed, the requested agent artifacts are copied into a MinIO bucket on the customer's cluster.
Subsequently, the pod named
static-server
(an Nginx server) is restarted. Upon startup, this pod copies the artifacts from the MinIO bucket to/var/static/agent/(stable|beta)
.From this point, the artifacts can be accessed via the following URLs:
https://{cluster}/static-server/static/agent/stable/
- for default stable deploymenthttps://{cluster}/static-server/static/agent/beta/
- for optional beta deployment
The previous pods auto-update-server
and synergy-server
are deprecated.
Runbook on Accessing the Buckets: Synergy Support: Access Agent buckets on MinIO - Getvisibility - Confluence (atlassian.net)
The agent supports two types of artifact distributions:
Stable: This is the default distribution method for artifacts.
Beta (for agent version 4.1.0 and above): This method is for optional beta distribution. The process for deploying beta artifacts is detailed further down on this page.
Agent Download Page
The dashboard dynamically generates a download page for the available versions of artifacts—either stable or beta—based on the deployed bundles.
If no bundle has been deployed, the following warning message will be displayed:
Agent Installation
This section addresses the different methods to install the GV Agent file on a single machine and across multiple machines.
Agent Generic Pre-requisites:
OS: Windows 10, Windows 11.
Processor: 2 GHz or faster, 2 cores (64-bit processor recommended).
Memory: 4GB RAM.
Hard Disk: 1GB free space.
Administrator Privileges: user needs admin permissions to install.
.NET 6 must be installed.
.NET Framework 4.7.2 must be installed.
Visual Studio 2010 Tools for Office Runtime.
Office Version: Office 365 subscription plans.
Browser: Microsoft Edge (latest version).
Installation config
The agent supports various initial agent configs which can be specified via installerConfig.json
or CLI arguments: Synergy Agent: installerConfig.json and CLI config - GV-KnowledgeBase - Confluence (atlassian.net)
Manual Installation
Pre-requisites:
The MSI file of the agent.
installerConfig.json
file (optional, provided by GV).Windows 10 machine.
Admin access to install the agent.
Steps
Download the Agent MSI File: Obtain the MSI file and save it to the Windows machine.
Prepare for Installation:
Ensure all Office applications are closed to guarantee a clean installation of the agent.
Place the
installerConfig.json
file (if provided by GV) in the same directory as the MSI file.
Configure the Installer:
Edit the
installerConfig.json
file as needed, based on the provided documentation.https://getvisibility.atlassian.net/wiki/spaces/GS/pages/226820159
Start the Installation:
Double-click the MSI file to launch the setup.
Accept the terms in the License Agreement by checking the box, then click "Install".
Click "Yes" when prompted to allow the app to make changes to your device.
Visual Studio Tools Check:
During installation, if Microsoft Visual Studio Tools 2010 is not detected, a dialog box will appear.
Check the box and click "Install" to add the necessary tools.
Complete the Installation:
After the installation completes, press "Finish".
Installation through CLI
Pre-requisites:
MSI File of the Agent +
installerConfig.json
file. Ensure both files are ready and accessible.Windows 10 Machine: The installation must be carried out on a Windows 10 system.
Admin Access: You must have administrative privileges to install the agent.
Installation Steps:
Open PowerShell as Administrator:
Search for PowerShell in the Windows search bar, right-click on it, and select "Run as administrator".
Install the Agent:
Powershell:
Use the following command to start the installation. Replace
{path_to_msi}
with the actual path to your MSI file:Start-Process -Wait -ArgumentList "/qn" -PassThru -FilePath 'C:\Users\adm\Downloads\{path_to_msi}.msi'
In this command:
Start-Process
initiates the installation process.-Wait
forces the script to wait until the installation is complete.-ArgumentList "/qn"
runs the installer silently without a user interface.-PassThru
passes the process information back to PowerShell, which can be useful for troubleshooting.
Command line:
Use the following command to start the installation:
msiexec /i "path_to_msi.msi"
Check Installation:
Ensure the installation completes successfully by checking for the agent in the installed programs list or any designated log files.
Installation through group policy (GPO)
Pre-requisites:
MSI file of the agent: Ensure you have the MSI installation file.
Windows 10 machine: Target machines must be running Windows 10.
installerConfig.json file (optional): Configuration file for the installation.
Domain Admin level access: You need access to the Domain Controller.
Steps:
Prepare the Installation File:
Create a folder on a network-accessible server and place the MSI file there.
Create a Network Share:
Share the folder where the agent's MSI file is stored. Assign "Read" permissions to "Domain Computers" to make the MSI file available to all domain accounts.
Access the Group Policy Management Console:
On your Domain Controller, open the Group Policy Management Console. Navigate to your domain under "Domains".
Create a Group Policy Object (GPO):
Navigate to the Organizational Unit (OU) where you want the software to be installed on every computer.
Right-click on the OU and select “Create a GPO in this domain, and Link it here.” Name your GPO and click "OK".
Configure the GPO:
Select the newly created GPO under the OU, right-click and choose "Edit".
Navigate to: Computer Configuration -> Policies -> Software Settings.
Right-click on "Software Installation", select "New", then click "Package".
Browse to the network share location of your MSI file, select it, and click “Open”.
Assign the Software:
Select "Assigned" and then click "OK" to ensure the software will be installed automatically on the target machines.
Force Group Policy Update:
On the Domain Controller, open Command Prompt and run the following command to update group policy across all computers immediately:
gpupdate /force
Restart Client Machines:
To complete the installation, perform a hard reboot on each client machine where the installation is intended. This ensures the new GPO is applied and the software installation is initiated upon startup.
Mass deployment script - e.g. SCCM/PDQ
For mass software distribution, it is recommended to use the following deployment script available at office-classifier/win-deployment-script.bat at master · GetVisibility/office-classifier (github.com)
Actions Performed by the Script:
Kill all agent processes: Terminates any running agent processes to ensure a clean installation environment.
Stop all services: Halts all related services to prevent any interference during installation.
Kill explorer.exe: Shuts down explorer.exe to avoid file locking issues.
Uninstall previous versions: Removes earlier installations to eliminate potential conflicts.
Cleanup registry: Clears registry entries associated with previous versions and plugin deployment.
Fresh install: Installs the new version of the software cleanly.
Important Considerations: The use of this script is crucial due to specific issues related to the behavior of .msi
installers:
The installer may opt for a Repair operation instead of an Upgrade.
Files marked for deletion after a reboot can disrupt the installation process and even completely break the installation.
Installation through SCCM
Pre-requisites:
SCCM Server: Ensure SCCM is installed and operational.
Access to the SCCM Server: Administrative rights are needed.
GV Agent MSI File: Have the MSI file of the GV Agent ready for deployment.
Steps:
Open SCCM and Create an Application:
Launch SCCM and navigate to the Home tab.
Click on Applications and select Create Application to start the setup process for the new software deployment.
Create a User Collection:
Click on Create User Collection to define a user group for the deployment.
In the Create User Collection Wizard, browse and select the target distribution group. For example, set BPO users as the target group.
Click the Next button to finalize the settings.
Configure Deployment Settings:
In the Deployment Settings, set the Action to Install and the Purpose to Available.
Check the box labeled Require administrator approval if users request this application. This setting makes the software available to the end-users but requires administrator permission to install.
Click Next to proceed.
Complete and Close the Deployment:
Review the deployment details on the deployment completion page.
Click Close to exit the program.
Monitoring Deployment:
After closing the setup, you can monitor the deployment status and details from the SCCM console under the Deployments section.
Further installation steps
Further configuration steps after installation:
References:
MSI file installation through GPO: https://community.spiceworks.com/how_to/160869-how-to-install-exe-with-group-policy
MSI file installation through SCCM: https://pdf.wondershare.com/business/how-to-deploy-software-with-sccm.html
Auto-Update
The auto-update feature of the agent allows to distribute new versions of the agent without reinstalling it on a user machine.
The agent utilizes the published .zip
bundles for the auto-update process.
Prerequisites
Before auto-update can be initiated, the installation must meet the following prerequisites:
Not a Release Candidate (RC) Version: The installation cannot be an RC version. The current version type can be verified as follows:
Windows: Check under the registry key
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Getvisibility\Global\IsRCVersion
.
Server Access: The agent must have access to the server.
Availability of Auto-update Artifacts: This is detailed in the 'Distribution' section.
Auto-update Enabled: This is explained in the 'Configuration' section.
Configuration
By default, the auto-update functionality is disabled and can be enabled in dashboard.
The following properties can be adjusted:
Auto-update: Server URL or path
- specifies the endpoint from where the agent will attempt to download updates. By default, it should be left empty, and agent will assume default values.By default, the endpoint defaults to:
https://{cluster}/static-server/static/agent/stable/ - for stable releases
https://{cluster}/static-server/static/agent/beta/ - for beta releases
Custom URLs or paths don’t support beta releases.
It supports local file path - if this is the case, the full path to the directory must be provided, e.g.
C:/Artifacts
If a custom URL is used it must be a NGINX File Server which lists the files in JSON format - configuration autoindex_format json. Example:
Auto-update: regex for agent packages to include
- specifies the regex which will be used for artifacts discovery. By default, it should be left empty, and agent will assume default values.Auto-upate: check for updates frequency rate
- how often the agent should look for updates. By default, it should be left empty, and agent will assume default values.Enable beta version update
- If this option is enabled and appropriate machine name entries are created, the targeted machines will attempt to fetch auto-updates from beta endpoints (https://{cluster}/static-server/static/agent/beta/) instead of stable endpoints (stable endpoint will be completely ignored by the agent).
Information for AV Scans
Paths to Exclude for AV scans to avoid slowness during installation are as below:
Please be sure that the Getvisibility application is excluded from the below:
Real Time Scans
Scheduled Scans
Manual Scans
Paths and executables to be excluded:
C:\Program Files (x86)\GVClient\
C:\Program Files (x86)\GVClient\\PlatformHub\GVClient.PlatformHub.Windows.exe
C:\Program Files (x86)\GVClient\\AgentEngine\GVClient.AgentEngine.Windows.exe
C:\Program Files (x86)\GVClient\\GVClient.AutoUpdateService.Windows.exe
C:\Program Files (x86)\GVClient\\GVClient.Classifier.Windows.exe
C:\Program Files (x86)\GVClient\\AgentUI\GVClient.AgentUI.exe
C:\Program Files (x86)\GVClient\\PlatformHub\Proxy\grpcwebproxy.exe
Add the below list to the Trusted Applications
C:\Program Files (x86)\GVClient\
C:\Program Files (x86)\GVClient\\PlatformHub\GVClient.PlatformHub.Windows.exe
C:\Program Files (x86)\GVClient\\AgentEngine\GVClient.AgentEngine.Windows.exe
C:\Program Files (x86)\GVClient\\GVClient.AutoUpdateService.Windows.exe
C:\Program Files (x86)\GVClient\\GVClient.Classifier.Windows.exe
C:\Program Files (x86)\GVClient\\AgentUI\GVClient.AgentUI.exe
C:\Program Files (x86)\GVClient\\PlatformHub\Proxy\grpcwebproxy.exe
EOD
Related content
Classified as Getvisibility - Partner/Customer Confidential