Skip to content
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

[RFC] New consistent file naming for module directory #250

Open
nascentcore-eng opened this issue Mar 26, 2023 · 3 comments
Open

[RFC] New consistent file naming for module directory #250

nascentcore-eng opened this issue Mar 26, 2023 · 3 comments
Labels
feature request Adding new features to Starship

Comments

@nascentcore-eng
Copy link
Contributor

nascentcore-eng commented Mar 26, 2023

What's the motivation? Is it related to a problem? Please describe the background and rationale.
Currently an eBPF+WASM module's files do not have consistent naming inside the module's directory.
For example, ddos_event's directory looks as below:
image

This creates confusion for readers, and likely causes actual engineering toils in the near future when we want to provide more client-side tooling for Starship users.

Describe the solution you'd like
The new naming schema:

  • eBPF source file: <module-name>.<eBPF framework>.<source code file type>; for ddos_event, the module name is ddos_event, the eBPF framework is bcc, the source code is written in c, so the name should be ddos_event.bcc.c.
  • eBPF binary file: <module-name>.bpf
    ddos_event.wasm.
  • WASM source file: <module-name>.wasm.<source code file type>
  • WASM binary file: <module-name>.wasm; as the frontend languages used for compiling WASM binary files are all standard high-level languages like c/c++/go/rust, there is no need to have the framework component; ddos_event's wasm file is named
  • Manifest: <module-name>.json

Describe alternatives you've considered

  • BCC's eBPF source file named with .bcc suffix, that is not as intuitive as using .bcc.c.
  • Manifest can be in yaml format

Additional context, for example, Kubernetes versions, Kernel versions etc.
This change potentially helps implementing a new module distribution mechanism in #68; as a consistent file naming schema allows easier automation in building distributed packages.

@nascentcore-eng nascentcore-eng added feature request Adding new features to Starship needs-triage Newly created issues that need assessment and find appropriate assignee and removed needs-triage Newly created issues that need assessment and find appropriate assignee labels Mar 26, 2023
@nascentcore-eng
Copy link
Contributor Author

@nascentcore-eng
Copy link
Contributor Author

The Web UI and CLI would need to be updated to take advantage of this new naming scheme.

@nascentcore-eng
Copy link
Contributor Author

@feuyeux @owl-ltt @zhoujie16
WDYT?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Adding new features to Starship
Projects
None yet
Development

No branches or pull requests

1 participant