• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FROSADO / onecloudriver / 32697581816
81%

Build:
DEFAULT BRANCH: main
Ran 24 Aug 2026 06:34AM UTC
Jobs 1
Files 53
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

24 Aug 2026 06:29AM UTC coverage: 80.502% (-0.2%) from 80.696%
32697581816

push

github

web-flow
feat(obs): lightweight observability (JSON logs + debug expvar/pprof) (#127)

* feat(obs): lightweight observability (JSON logs + debug expvar/pprof)

Add dependency-free runtime introspection and contained logging for the
mount daemon (issue #74):

- --log-json global flag: emit structured JSON logs to stderr (systemd/
  journal friendly) instead of the on-disk file.
- mount --debug / --debug-addr: start an opt-in expvar + pprof HTTP
  server on the loopback interface (127.0.0.1:6060 by default) and raise
  the log level to debug.
- New internal/obs package registers live counters (cache, content cache,
  uploads, delta) as lazy expvar.Func and serves /debug/vars + /debug/pprof
  with a bounded ReadHeaderTimeout.
- internal/fs: UploadManager exposes completed/failed/inFlight counters;
  DeltaSync counters moved to atomic.Uint64 with a Counters() accessor so
  the expvar scrape does not race the delta loop; MountConfig gains
  DebugAddr wired in fs.Mount.
- internal/auth/logging.go: rotate the on-disk log by size via lumberjack
  (10MB, at most 5 gzipped backups, 30 days) so it stops growing unbounded
  (user report on 0.1.3). Default level was already Info.
- Docs: MANUAL.md and the EN/ES man pages gain an Observability section.

Verified: make build && make test-unit-short && make lint-all plus the
security lint; all new tests (obs server, rotation config, CLI flags,
upload counters) pass under -race.

Closes #74

* fix(obs): use #nosec for G108 so standalone gosec honors it

CI runs `gosec -severity=high ./...` directly, which ignores golangci-lint's
`//nolint:gosec` and requires a `#nosec` annotation (the repo convention, see
systemd.go). Switch the net/http/pprof import suppression so the Security
Audit job passes; the endpoint remains opt-in and loopback-only.

55 of 96 new or added lines in 7 files covered. (57.29%)

5710 of 7093 relevant lines covered (80.5%)

2980.89 hits per line

Uncovered Changes

Lines Coverage ∆ File
17
44.48
-2.09% internal/fs/mount.go
12
40.82
-6.55% cmd/onecloudriver/main.go
8
39.46
-0.54% cmd/onecloudriver/mount.go
4
84.47
-0.83% internal/fs/delta.go
Jobs
ID Job ID Ran Files Coverage
1 32697581816.1 24 Aug 2026 06:34AM UTC 53
80.5
GitHub Action Run
Source Files on build 32697581816
  • Tree
  • List 53
  • Changed 7
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 72b1cbab on github
  • Prev Build on main (#32695783060)
  • Next Build on main (#32698205181)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc