Skip to content

Guided tour

FabrCore 2.0 · Release and package availability

These guides track the current 2.0 source. Stable 2.0.0 publication is pending; package commands show the release target. Until it is published, follow the source quick start or use a matching available prerelease set. Release migration · Runtime modes

MODULE 13 · LESSON 13.2

Connect the running app to a Cloud Server

Enroll the running Host in Vulcan365 Insights.

Lesson 75 of 86 · FabrCore 2.0

Overview

Enroll the Host in a vendor-neutral Cloud Server connection for effective configuration and heartbeats. Vulcan365 Insights is one implementation; the Host bootstrap and wire contract also support your own server.

Bootstrap identifies the management environment

Configure CloudServer.Url, ApiKey, ClusterId and Environment locally through trusted .NET configuration. The key authenticates the Host to its Cloud Server. The cluster/environment identify the effective resource the server returns. An Insights operator may create these through its console; a custom server must provide equivalent authenticated provisioning without requiring the same screen names.

Enrollment is not application deployment

After connection, the Host pulls configuration and reports heartbeat/silo information. It still needs your compiled agent assemblies, startup registrations and local protection material. RemoteAdministration.Enabled is an additional opt-in that depends on the Cloud Server connection. Do not confuse a Host appearing online with proof that every desired agent was created.

Enroll the Host with a Cloud Server

  1. Provision a development cluster/environment and a protected cluster key in your chosen Cloud Server. Its operator API or console owns that setup; the Host-facing protocol does not prescribe the screen.
  2. Supply the bootstrap JSON below through local appsettings/protected configuration. Replace the server URL and match the cluster/environment identifiers.
  3. Start the Host and inspect the first configuration pull and heartbeat. Enable RemoteAdministration only when the privileged management relay is needed.
Host appsettings.json · local enrollment bootstrap
{
  "FabrCore": {
    "HostUrl": "http://localhost:5098",
    "CloudServer": {
      "Enabled": true,
      "Url": "https://cloud.example.com",
      "ApiKey": "<supply-through-protected-local-configuration>",
      "ClusterId": "operations-desk",
      "Environment": "Development",
      "Settings": {
        "Enabled": true
      }
    },
    "RemoteAdministration": {
      "Enabled": false,
      "PollWait": "00:00:20"
    }
  }
}
First configuration request · sent by the Host
GET /fabrcore-cloud/v1/configuration
Authorization: Bearer <cluster-key>
X-FabrCore-Cluster-Id: operations-desk
X-FabrCore-Environment: Development

Inspect the first pull and heartbeat

  1. Supply the bootstrap values for a development environment and start the Host. On the Cloud Server, inspect the authenticated configuration request's cluster/environment headers.
  2. Return a valid effective envelope with a known version and observe a heartbeat for the intended Host/silo. Compare its reported version with the one served.
  3. Use a wrong key or environment mapping in a controlled test. Verify the error identifies the authentication/configuration issue and that the Host follows its documented last-known-good/startup behavior.

You have verified enrollment to a specific environment. The next lesson verifies publication and actual application of configuration.

If the result is different

Verify cluster ID, environment and auth headers if configuration pulls fail. Inspect the protocol's first-connect/offline behavior rather than assuming a local file silently wins.

Go deeper

Explore the related documentation.