Skip to content

fix: collect guest identity without legacy worker socket - #84

Merged
dofastted merged 2 commits into
dofastted:mainfrom
daodao97:fix/collect-identity-docker
Sep 23, 2026
Merged

dofastted merged 2 commits into
dofastted:mainfrom
daodao97:fix/collect-identity-docker

Conversation

@daodao97

Copy link
Copy Markdown
Contributor

Collecting a VM's identity returns HTTP 502 with ENOENT .../worker.sock on Rust slots. The Go HTTP worker has been removed, and the active kernel returns 404 for /internal/identity.

Read OS, hostname, architecture, machine ID, timezone and locale inside the Docker guest using an asynchronous, bounded docker exec call. The collector no longer requires either worker socket and retains the existing fingerprint merge and official identity reconciliation. Unsupported runtimes, incomplete output, stopped containers and timeouts return explicit failures.

Validation:

  • 27 targeted tests passed across guest identity, fleet updates, official fingerprints and VM identity.
  • Deployed the two source files in a control-plane-only production hotfix. Two consecutive panel identity requests returned HTTP 200 with ok: true; the guest container was not restarted and kernel health remained OK.
  • Regression coverage includes socket-free collection, identity field preservation, unsupported runtimes, command failures, timeouts and malformed output.

This change supports Docker guests; KVM collection is explicitly unsupported. No kernel binary update is required.

@dofastted dofastted mentioned this pull request Sep 23, 2026
@dofastted
dofastted merged commit 97c62be into dofastted:main Sep 23, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants