Skip to content

CHC Installation

Cloud Hub Connector (CHC) is deployed on-premise as an IIS application connected to the customer’s Suite SQL Server database. This guide is for customer IT administrators installing and configuring CHC on the customer’s network. It covers database configuration, connection string protection, network exposure, and verifying a successful installation.

TTC account setup, API Key provisioning, and CloudHub configuration are covered separately in the Access guide.

Before installing CHC, ensure the following are in place:

  • Windows Server 2016+ (or Windows 10/11 for development)
  • IIS with the .NET 8.0 ASP.NET Core Hosting Bundle
  • A Suite SQL Server database that CHC can connect to
  • Administrator privileges on the host

CHC is typically installed using the deployment package and chc-install.ps1 script from the Cloud Hub Connector release.

CHC reads the Suite database connection from appsettings.json under ConnectionStrings.Default:

{
"ConnectionStrings": {
"Default": "Server=your-server;Database=your-database;User Id=your-user;Password=your-password;TrustServerCertificate=True;"
}
}

You can set the connection string in plain text during initial configuration. On the next application start, CHC automatically encrypts the value and writes the protected string back to appsettings.json.

CHC uses the ASP.NET Core Data Protection API with encryption keys stored in the Windows registry at:

HKEY_CURRENT_USER\SOFTWARE\TMW\CloudHubConnector\DataProtection
BehaviorDetail
Plain text on first runCHC encrypts the connection string and updates appsettings.json
Encrypted value on subsequent runsCHC decrypts in memory at startup
Default and TotalMailBoth connection strings in ConnectionStrings are protected
Windows onlyConnection string protection requires a Windows host

If the registry keys are lost or CHC is moved to a new machine, the encrypted connection string cannot be decrypted. Re-enter the connection string in plain text in appsettings.json and restart the application to re-encrypt.

Trimble Transportation Cloud (TTC) must be able to reach CHC over HTTPS to route OData and OrderCreate API requests. After installing CHC locally, expose it through your network infrastructure:

  1. Configure IIS — CHC runs as an IIS application (default path: /chc on the Default Web Site). Ensure the site binding accepts traffic on the required ports (typically HTTP 80 and HTTPS 443).
  2. Add HTTPS — Configure an SSL certificate on the IIS site binding. Production deployments should use HTTPS only.
  3. Open firewall / reverse proxy — Allow inbound traffic to the CHC host from Trimble Transportation Cloud, or route through a reverse proxy or load balancer with a public hostname.

Record the publicly reachable CHC base URL (for example, https://customer-host.example.com/chc). Your Trimble contact or integration team needs this URL to configure TTC routing — see CloudHub Configuration.

Example value used in the CloudHub configuration record:

{
"cloudHubConnector": {
"oDataEndpoint": "https://customer-host.example.com/chc"
}
}

After installation, confirm CHC is running and connected to the database using two diagnostic endpoints. These endpoints do not require an InternalProductKey header or Bearer token.

Confirms the CHC application is running and returns build metadata.

GET https://{customer-host}/chc/v0/BuildInfo HTTP/1.1

Expected response: JSON with build information including buildNumber, gitBranch, and gitCommit.

{
"buildNumber": "...",
"gitBranch": "...",
"gitCommit": "..."
}

Confirms CHC can query the Suite database.

GET https://{customer-host}/chc/v0/odata/Cities/$count HTTP/1.1

Expected response: A numeric count of city records (plain text), for example:

15234

A successful numeric response confirms the database connection string is valid and CHC can read from the Suite database. A count of 0 may indicate an empty database rather than a connection failure.

The CHC installation script (chc-install.ps1 -validate) runs both checks automatically:

  1. GET /chc/v0/BuildInfo — application is running
  2. GET /chc/v0/odata/Cities/$count — database is reachable

You can also validate manually from a browser or REST client using the URLs above.

Additional endpoints such as healthchecks are available without a license header for operational monitoring. OData data endpoints require authentication — see the Access guide.

Once CHC is installed and verified:

  1. Provide your public CHC base URL to your Trimble contact or integration team.
  2. Follow the Access guide to provision TTC credentials and begin calling the OData API or OrderCreate API.

If validation fails, see Troubleshooting.