Skip to content

nanocoap_fs: add nanoCoAP as VFS backend (remote CoAP fs) #20687

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
May 29, 2024

Conversation

benpicco
Copy link
Contributor

@benpicco benpicco commented May 22, 2024

Contribution description

With aiocoap-fileserver / nanocoap_fileserver we can export a local fs via CoAP.
This adds a module that does the opposite: Locally mount a remote filesystem that was exported via CoAP.

Testing procedure

  • run aiocoap-fileserver in a directory of your choice
  • run tests/net/nanocoap_fs:
2024-05-22 20:33:23,394 # mount coap://[fe80::607f:b1ff:fef7:689c]/ /coap

2024-05-22 20:33:24,890 # ls /coap
2024-05-22 20:33:24,911 # .cargo/
2024-05-22 20:33:24,918 # Makefile.features
2024-05-22 20:33:24,925 # uncrustify-riot.cfg
2024-05-22 20:33:24,932 # kconfigs/
2024-05-22 20:33:24,937 # Makefile.base
2024-05-22 20:33:24,945 # .git/
2024-05-22 20:33:24,952 # tests/
2024-05-22 20:33:24,955 # CODEOWNERS
2024-05-22 20:33:24,959 # .gitattributes
2024-05-22 20:33:24,963 # .mailmap
2024-05-22 20:33:24,973 # sys/
2024-05-22 20:33:24,987 # examples/
2024-05-22 20:33:24,992 # tmp/
2024-05-22 20:33:25,001 # MAINTAINING.md
2024-05-22 20:33:25,011 # README.md
2024-05-22 20:33:25,020 # fuzzing/
2024-05-22 20:33:25,025 # features.yaml
2024-05-22 20:33:25,035 # dist/
2024-05-22 20:33:25,042 # Kconfig
2024-05-22 20:33:25,055 # SUBSYSTEMS.md
2024-05-22 20:33:25,066 # CONTRIBUTING.md
2024-05-22 20:33:25,082 # .murdock
2024-05-22 20:33:25,087 # doc.txt
2024-05-22 20:33:25,097 # .bandit
2024-05-22 20:33:25,108 # release-notes.txt
2024-05-22 20:33:25,118 # Vagrantfile
2024-05-22 20:33:25,128 # SECURITY.md
2024-05-22 20:33:25,139 # Makefile.dep
2024-05-22 20:33:25,151 # core/
2024-05-22 20:33:25,165 # .vscode/
2024-05-22 20:33:25,179 # drivers/
2024-05-22 20:33:25,190 # LOSTANDFOUND.md
2024-05-22 20:33:25,203 # .github/
2024-05-22 20:33:25,218 # build/
2024-05-22 20:33:25,234 # makefiles/
2024-05-22 20:33:25,249 # .gitignore
2024-05-22 20:33:25,263 # Makefile.include
2024-05-22 20:33:25,297 # pkg/
2024-05-22 20:33:25,313 # CODE_OF_CONDUCT.md
2024-05-22 20:33:25,326 # Makefile
2024-05-22 20:33:25,340 # CODING_CONVENTIONS_C++.md
2024-05-22 20:33:25,360 # bootloaders/
2024-05-22 20:33:25,380 # boards/
2024-05-22 20:33:25,395 # LICENSE
2024-05-22 20:33:25,409 # doc/
2024-05-22 20:33:25,428 # cpu/
2024-05-22 20:33:25,445 # CODING_CONVENTIONS.md
2024-05-22 20:33:25,461 # bors.toml
2024-05-22 20:33:25,482 # .murdock.yml
2024-05-22 20:33:25,500 # CITATION.cff
2024-05-22 20:33:25,513 # total 30 files

2024-05-22 20:35:10,538 # vfs r /coap/README.md 64
2024-05-22 20:35:10,544 # 00000000: 5b21 5b4e 6967 6874 6c79 2043 4920 7374  [![Nightly CI st
2024-05-22 20:35:10,548 # 00000010: 6174 7573 206d 6173 7465 725d 5b6d 6173  atus master][mas
2024-05-22 20:35:10,551 # 00000020: 7465 722d 6369 2d62 6164 6765 5d5d 5b6d  ter-ci-badge]][m
2024-05-22 20:35:10,558 # 00000030: 6173 7465 722d 6369 2d6c 696e 6b5d 0a5b  aster-ci-link].[

Issues/PRs references

requires #20688 when nanocoap_fileserver is used as the server.

@github-actions github-actions bot added Area: network Area: Networking Area: tests Area: tests and testing framework Area: CoAP Area: Constrained Application Protocol implementations Area: sys Area: System labels May 22, 2024
@benpicco benpicco requested a review from chrysn May 22, 2024 18:35
Copy link
Member

@maribu maribu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is surprisingly small for the feature it provides :)

@github-actions github-actions bot added the Area: doc Area: Documentation label May 22, 2024
@benpicco benpicco added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label May 22, 2024
@riot-ci
Copy link

riot-ci commented May 22, 2024

Murdock results

✔️ PASSED

eacc4f9 pkg/flashdb: use common MIN() macro

Success Failures Total Runtime
10161 0 10161 16m:06s

Artifacts

Copy link
Member

@maribu maribu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm. Maybe make the CI happy regarding the line length limit?

@benpicco benpicco enabled auto-merge May 29, 2024 09:35
@benpicco benpicco added this pull request to the merge queue May 29, 2024
@benpicco
Copy link
Contributor Author

Thank you for the quick review!

@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 29, 2024
@benpicco benpicco enabled auto-merge May 29, 2024 12:22
@benpicco benpicco added this pull request to the merge queue May 29, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 29, 2024
@github-actions github-actions bot added the Area: pkg Area: External package ports label May 29, 2024
@benpicco benpicco enabled auto-merge May 29, 2024 14:36
@benpicco benpicco added this pull request to the merge queue May 29, 2024
Merged via the queue into RIOT-OS:master with commit 251ea7f May 29, 2024
@benpicco benpicco deleted the nanocoap_fs branch May 29, 2024 21:06
@mguetschow mguetschow added this to the Release 2024.07 milestone Jun 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: CoAP Area: Constrained Application Protocol implementations Area: doc Area: Documentation Area: network Area: Networking Area: pkg Area: External package ports Area: sys Area: System Area: tests Area: tests and testing framework CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants