Digital

Server Inventory: Centralized Telemetry and Access Control for golauncher

Server Inventory is the production hub for my golauncher agent system , a centralized repository for telemetry collection, release management, and tiered access control across deployed server agents. The system uses GitHub as the infrastructure backbone: GitHub Actions processes telemetry events, Fine-Grained PATs enforce access levels, and binary releases are delivered through GitHub Releases.

Architecture: GitHub as Infrastructure

The server inventory telemetry system operates on an unconventional but effective principle: GitHub becomes the entire backend. Agents send telemetry as GitHub Issues with the “telemetry” label. A GitHub Actions workflow extracts JSON data, saves it to the telemetry/ directory, auto-generates a dashboard, commits the data, and closes the issue , all automatically.

This approach eliminates the need for a separate telemetry server, database, or API. The repository itself becomes the database, Git history provides audit trail, and GitHub’s infrastructure handles availability and scaling.

Three-Tier Access Control

Client access is managed through Fine-Grained Personal Access Tokens at three levels:

  • Level 1 (Admin) , full access to all repositories including paid tools, for internal servers and debugging
  • Level 2 (Free) , access only to free repositories like linux-network-manager
  • Level 3 (Paid) , full access including paid tools like rocketchat-deploy-toolkit

Token references use indirection (ref:tokens/level-2-v1) so token rotation requires updating only the token file, not every client configuration. Client upgrade from free to paid is a single YAML edit.

Telemetry Data

Each golauncher agent reports: hostname, OS and architecture, external IP, disk usage, installed applications with Git commit versions, and timestamps. Currently tracking 8 active servers across Linux and Windows, monitoring applications like infrastructure tools and communication platforms.

The auto-generated dashboard in telemetry/dashboard.md provides a quick overview of fleet health , which servers are active, their last check-in time, and installed software versions.

Release Management

The releases/version.json contains metadata for golauncher v1.4.3 across 5 platform/architecture combinations (Linux amd64/arm64, Windows amd64, macOS amd64/arm64). Each binary has a SHA256 checksum. Agents check this file and auto-update when a new version is available.

Source Code

The repository is available upon request. Contact me for access. Agent source code is available upon request. As a Fractional CTO, I build lightweight infrastructure that leverages existing platforms instead of reinventing them.

For server management and DevOps consulting , 15 years managing infrastructure across 38 countries.

FAQ

Why use GitHub Issues for telemetry instead of a database?

Zero infrastructure cost. GitHub provides the API, storage, processing (Actions), and availability. Git history becomes the audit trail. For a fleet of 10-50 servers, this approach is simpler and more reliable than maintaining a separate telemetry stack.

How does token rotation work?

Create a new token in GitHub, save it as a new version file (e.g., level-2-v2.yaml), update client references, and mark the old token as expired. Clients resolve token references on startup, so the change propagates automatically.

What platforms does golauncher support?

Linux (amd64, arm64), Windows (amd64), and macOS (amd64, arm64). Binaries are cross-compiled and published with SHA256 checksums in the releases directory.

Can free clients access paid repositories?

No. Fine-Grained PATs restrict Level 2 tokens to repositories without the “paid” topic. The agent also checks allowed_repos before cloning, providing double enforcement.

Ilya Arestov , Fractional CTO | Dubai Airport Free Zone (DAFZ), Dubai, UAE | Almaty, Zenkov Street 59, Kazakhstan | +971-585-930-600 | https://t.me/getmonolith
Rate article