Getting started
From an empty directory to a running backend with an agent reporting into it.
ProvCollector is developed as a superproject: one repository that carries no application code of its own, pinning five component repositories as git submodules and holding the solution file, the Docker Compose topology and the shared NuGet configuration that ties them together.
-
Clone with submodules, satisfy the toolchain, restore from the package feed, and build the whole solution.
-
Bring up the Compose stack, confirm the topics exist, and run your first traversal against the graph.
-
Build a configured installer for Windows or Linux and get a host reporting into the stack.
Requirements
| Requirement | Notes |
|---|---|
| .NET 10 SDK | — |
| Docker Compose | This is the easiest way to deploy ProvCollector; you can also deploy manually |
| WiX Toolset | Required to build the Windows MSI installers |
| Rust | Required to build the Windows driver and Linux installers |
cargo-make |
Required to build the Windows driver |
| Windows SDK & WDK | Required to build the Windows driver |
The
ProvCollector.Commonlibraries are consumed as NuGet packages, not project references. For development, you will likely want to change this to use project references instead.
Repository layout
| Path | Contents |
|---|---|
ProvCollector.Common/ |
Shared libraries |
ProvCollector.Agent/ |
Collection agents plus the Windows registry driver |
ProvCollector.Backend/ |
Event processor and database writer |
ProvCollector.Analysis/ |
Query, visualisation and reporting tools |
ProvCollector.Management/ |
Deployment management, updater and installers |
ProvCollector.slnx |
Solution spanning every project in every submodule |
docker-compose.yml |
Backend topology: Redpanda, PostgreSQL, and the .NET services |
nuget.config |
ProvCollector package sources |