bpfman / bpfman/bpfman-operator
bpfman CSI plugin and bpfman CRDs don't align
- Dominant language
- Go
- Stars
- 38
- Forks
- 27
- PR merge metrics
- No merged PRs in 30d
Description
Lets say I have a `BpfApplication` called `my-bpf-application`, which has 3 probes: `my-kprobe`, `my-uprobe` and `my-xdp-probe`.
The maps used by these probes are as follows:
- `stats-map` = used by all
- `xdp-map` = used by xdp only
When using the CSI plugin to access these maps, using the `csi.bpfman.io/program` volume attribute is weird because the maps are owned by the application, not the program. So technically speaking, after #347 merges, the following syntax is valid:
```yaml
volumeAttributes:
csi.bpfman.io/program: my-kprobe
csi.bpfman.io/maps: xdp-map # this is weird because its only used by the xdp probe
```
You may also be tempted (as reported by a user on Slack) to do something like this, which is not valid:
```yaml
volumeAttributes:
csi.bpfman.io/program: my-kprobe, my-xdp-probe, my-uprobe # this isn't valid
csi.bpfman.io/maps: stats-map, xdp-map
```
I believe that what we should be doing instead is:
```yaml
volumeAttributes:
csi.bpfman.io/application: my-bpf-application
csi.bpfman.io/maps: stats-map, xdp-map
```
I'll open a bpfman issue (where the fix will need to be) to address this.
Contributor guide
No contributing guide indexed for this repository
Research direction
No files or tests are named. Start by comparing the CSI plugin's volume attributes with the BpfApplication CRD and the proposed application-based syntax, then follow the bpfman issue where the fix is expected; done means the CSI plugin and CRDs use consistent application and map references.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100