Skip to content

NetKeep v1.0.7 — Collection reliability and safe approval errors - #17

Merged
lrqnet merged 2 commits into
mainfrom
lrqnet-netkeep/v1.0.7-approval-error-handling
Jul 25, 2026
Merged

NetKeep v1.0.7 — Collection reliability and safe approval errors#17
lrqnet merged 2 commits into
mainfrom
lrqnet-netkeep/v1.0.7-approval-error-handling

Conversation

@lrqnet

@lrqnet lrqnet commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Summary

  • handle expected SSH host-key scan failures without HTTP 500 or partial approval
  • make shared Git history access explicit and scoped to the configured repository
  • complete collections only after Git persistence is confirmed
  • dispatch manual collections and post_store reconciliation without scheduler-only latency
  • distinguish configurations from collection runs in the interface
  • close the PostgreSQL restore reconnection race and fix sidebar contrast
  • prepare app/updater 1.0.7 and immutable Oxidized revision 0.37.0-r4

Root cause and impact

The application and Oxidized use different container UIDs. Git rejected the
shared repository ownership, while the history layer converted that failure
into an empty state. The reconciler could then mark the device healthy without
a visible Git version. Manual dispatch and completion also depended on
periodic scheduler cycles.

The new flow is fail-closed: history failures are explicit and safe, collection
success requires a persisted Git version, and targeted queue jobs reduce
latency. Existing Git history and Docker volumes are preserved. There are no
migrations or new environment variables.

Security

  • no global or wildcard safe.directory
  • no equipment address, stderr, raw exception, credential, or collected
    configuration in responses, logs, SSE, or audit metadata
  • mandatory SSH host-key verification remains fail-closed
  • configuration downloads and diffs use no-store
  • NetKeep remains read-only toward network equipment

Validation

  • Pint: 275 files
  • PHPStan: 208 files, no errors
  • PHPUnit: 210 tests, 1,036 assertions
  • Playwright Chromium: 25 scenarios
  • integration E2E: 4 tests, 18 assertions
  • simulated collection and Git reconciliation below 30 seconds
  • portable restore E2E completed with all services healthy
  • ESLint, Prettier, TypeScript, Vite build, and three-locale parity
  • Go formatting and tests for updater, reporter, sandbox controller, and
    simulator
  • release/dev/E2E Compose validation and v1.0.7 release preflight
  • Composer/npm audits and Trivy filesystem/configuration/secret scans
  • public documentation and internal Engineering Log updated

No tag or release is created by this pull request.

@lrqnet
lrqnet merged commit 27d7f16 into main Jul 25, 2026
11 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.

1 participant