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

m-lab / ndt-server / 38729695820
77%

Build:
DEFAULT BRANCH: main
Ran 15 Oct 2026 11:47AM UTC
Jobs 1
Files 37
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

15 Oct 2026 11:46AM UTC coverage: 76.695% (-0.1%) from 76.82%
38729695820

push

github

web-flow
feat(ndt5, ndt7): MkdirAll w/ 0775 perms (#440)

This patch modifies ndt5 to use 0775 (it used to be 0777) and ndt7
to use 0775 (it used to be 0755) for MkdirAll.

The permissions with which we create directories are influenced
by the umask under which we are running. A typical umask is
`0o022` (disable write for group and others).

The original motivation for this patch is that `0o755 & ~0o022`
yields `0o755`, which prevents the group from writing. But,
in the context of `byos-debian`, I am working to separate the
privileges of `ndt-server` and of core services. However, if
we run `ndt-server` and `jostler` under different users, we need
`jostler` to delete uploaded files, which, in turn, requires
sharing the group and using `0o775 & ~0o022` to allow the
common group to write (delete) directory entries. The file
permission of `0o644` is fine because `jostler` does not need
to write the files: it suffices to read them.

While working on this patch, however, I noticed that ndt5
was using `0777`, which strikes me as "too much". I do not
think there is any situation in which, regardless of the
umask, anyone not in the proper groups should write the
directories containing the result.

Now, let me elaborate on why I think this change is safe:

1. in `m-lab/k8s-support`, I cannot see any umask override in
any jsonnet file, which suggests that the default is used

2. we use `runc` to run containers AFAICT

3. it seems to me that `runc` uses `0o022` as the default
https://github.com/opencontainers/runc/blob/6659c4a/libcontainer/standard_init_linux.go#L121

4. in `m-lab/autonode`, I also do not see any umask override
but the umask should be `0o022`: `docker run` has `--umask`
and documents that `0o022` (the `runc` default) is used
otherwise; `docker compose` does not seem to have any way
in which to specify the umask in its YAML file

5. likewise in `m-lab/byos-debian` there's no umask override in
the systemd units (default `0o022`; see `systemd.exec(5)`)

FWI... (continued)

2 of 2 new or added lines in 2 files covered. (100.0%)

3 existing lines in 1 file now uncovered.

1833 of 2390 relevant lines covered (76.69%)

1.61 hits per line

Coverage Regressions

Lines Coverage ∆ File
3
70.0
-30.0% ndt7/closer/closer.go
Jobs
ID Job ID Ran Files Coverage
1 38729695820.1 15 Oct 2026 11:47AM UTC 37
76.69
GitHub Action Run
Source Files on build 38729695820
  • Tree
  • List 37
  • Changed 3
  • Source Changed 2
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #38729695820
  • b0588be2 on github
  • Prev Build on main (#37473437969)
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