Releases: astoycos/bpfman
v0.4.2
The v0.4.2 release is a patch release which is mainly cut pull in some OLM bundle
fixes for the bpfman-operator OLM manifest deployment.
What's Changed
- build(deps): bump tokio-util from 0.7.10 to 0.7.11 in the production-dependencies group by @dependabot in bpfman#1122
- docs: cleanup documentation nits for v0.4.1 release by @Billy99 in bpfman#1123
- build(deps): bump golangci/golangci-lint-action from 5 to 6 in the production-dependencies group by @dependabot in bpfman#1135
- build(deps): bump the production-dependencies group with 5 updates by @dependabot in bpfman#1136
- RPM fixes by @astoycos in bpfman#1134
- build(deps): bump the production-dependencies group with 7 updates by @dependabot in bpfman#1144
- bpfman: don't panic if DatabaseLockError occurred by @ZhangShuaiyi in bpfman#1140
- Make DatabaseConfig max_retries work as defined. by @anfredette in bpfman#1147
- Have systemd-rpm-macros use bpfman service by @danielmellado in bpfman#1146
- docs: update the RPM uninstall process by @Billy99 in bpfman#1148
- build(deps): bump serde from 1.0.202 to 1.0.203 in the production-dependencies group by @dependabot in bpfman#1149
- build(deps): bump tokio from 1.37.0 to 1.38.0 in the production-dependencies group by @dependabot in bpfman#1151
- fix public-api check by @astoycos in bpfman#1152
- build(deps): bump the production-dependencies group with 6 updates by @dependabot in bpfman#1153
- Temporary work-around for multi-program container images by @anfredette in bpfman#1155
- bpfman: add multiarch builds for bpfman binaries by @Billy99 in bpfman#1150
- build(deps): bump the production-dependencies group with 2 updates by @dependabot in bpfman#1160
- build(deps): bump the production-dependencies group with 2 updates by @dependabot in bpfman#1159
- multiarch: Move multiarch building to bpfman-operator repo by @Billy99 in bpfman#1158
- examples: cleanup patch.yaml files by @Billy99 in bpfman#1161
New Contributors
- @ZhangShuaiyi made their first contribution in bpfman#1140
Full Changelog: bpfman/bpfman@v0.4.1...v0.4.2
v0.4.1
The v0.4.1 release is a patch release which includes some bug fixes found
in the original v0.4.0 release. Additionally support has been added for deploying
the example applications as unprivileged containers on productions systems which
enable SELinux by default.
Users can now access released RPMs from the bpfman COPR repo and nightly RPMs from the bpfman-next COPR repo.
For even more details Please see the individual commit
messages shown below.
What's Changed
- bpfman: dir bpfman-sock missing for bpfman-rpc by @Billy99 in bpfman#1082
- docs: Reduce release changes by @Billy99 in bpfman#1071
- build(deps): bump async-trait from 0.1.79 to 0.1.80 in the production-dependencies group by @dependabot in bpfman#1085
- build(deps): bump sigstore/cosign-installer from 3.4.0 to 3.5.0 in the production-dependencies group by @dependabot in bpfman#1086
- add csi fsgroup support by @astoycos in bpfman#1089
- bpfman: include license in crate workspace by @danielmellado in bpfman#1087
- rpm: Add bpfman-rpc and bpfman-ns to rpm package by @Billy99 in bpfman#1096
- Add target aware uretprobe example by @msherif1234 in bpfman#1064
- Examples/Docs: idiomatic Go usage and update installation instructions for apt-based OS by @thediveo in bpfman#1084
- build(deps): bump the production-dependencies group with 3 updates by @dependabot in bpfman#1099
- image: Add missing images to push to quay by @Billy99 in bpfman#1098
- update packit config by @astoycos in bpfman#1083
- fix mounter image to fedora 39 by @astoycos in bpfman#1102
- test: add negative test cases to integration tests by @Billy99 in bpfman#1100
- Start providing manifests for running our eBPF example applications as truly non-root by @astoycos in bpfman#1097
- build(deps): bump golangci/golangci-lint-action from 4 to 5 in the production-dependencies group by @dependabot in bpfman#1105
- build(deps): bump the production-dependencies group with 2 updates by @dependabot in bpfman#1106
- De-duplicate code in the bpfman-agent by @anfredette in bpfman#1068
- test: add image name test by @Billy99 in bpfman#1107
- Add bpfman 0.4.1-rc1 to builds and cargo metadata by @danielmellado in bpfman#1112
- Free up disk space for running k8s int tests by @anfredette in bpfman#1110
- Remove propose_downstream packit job by @danielmellado in bpfman#1111
- cut an rc2 to ensure our rpm builds are working by @astoycos in bpfman#1114
- cut an rc3 release by @astoycos in bpfman#1115
- cut a rc4 release by @astoycos in bpfman#1116
- cut a 0.4.1-rc5 by @astoycos in bpfman#1117
- fix a bug in the release automation, test with rc6 by @astoycos in bpfman#1120
New Contributors
- @thediveo made their first contribution in bpfman#1084
- @Silvanoc opened their first issue in bpfman#1077
Full Changelog: bpfman/bpfman@v0.4.0...v0.4.1
v0.4.0
The v0.4.0 release is a minor release and the first following the project
rename from bpfd to bpfman.
From a design perspective, this release fully transitions bpfman to be a
library rather than a daemon. From a user's perspective the main
difference is that the bpfctl
CLI can now simply be called directly with the
bpfman
binary, otherwise all of the major commands remain the same.
On top of transitioning to a library the community has also implemented some
exciting new features:
- Support for Uprobe Programs
- The ability to attach Uprobes inside containers (locally and in Kubernetes), see the blog for more.
- Support for Kprobe Programs
- Support for Fentry Programs
- Support for Fexit Programs
Additionally this release provides some new binary crates. The bpfman-rpc
binary
allows other languages to call into the bpfman library using the existing
grpc api defined in the bpfman-api
crate bindings. The bpf-metrics-exporter
,
and the bpf-log-exporter
binaries allow users to gather useful information regarding
the bpf subsystem.
Warning
FEATURE DEPRECATION: The ability to view all programs on a given node via the
BpfProgram
CRD has been deprecated. Instead the community now provides
the bpf-metrics-exporter
crate.
Warning
The CSI feature still requires a privileged application on distributions which
enable SELinux by default (i.e Red Hat Openshift). Therefore we've shipped a set of
deployment configs specifically for openshift in this release, see the additional
go-<example>-counter-install-ocp.yaml
artifacts included in the release
payload. Stay tuned to #829 for
updates.
What's Changed (excluding dependency bumps)
- Correct cargo path by @danielmellado in bpfman#835
- Rename all of the things! by @dave-tucker in bpfman#834
- Merge bpfctl into bpfman by @dave-tucker in bpfman#826
- .github: Reinstate the image-build workflow by @dave-tucker in bpfman#839
- bpf-metrics-exporter: Add metrics exporter by @dave-tucker in bpfman#821
- docs/design: Add daemonless design doc by @dave-tucker in bpfman#778
- blog: Add blog about logo design by @dave-tucker in bpfman#840
- README: Update Title by @dave-tucker in bpfman#841
- .github: Bring back the verify check by @dave-tucker in bpfman#836
- blog: some small fixups by @astoycos in bpfman#847
- bpfman: Fix panic if XDP prog already loaded by @Billy99 in bpfman#849
- scripts: Update scripts to still cleanup bpfd by @Billy99 in bpfman#850
- Update Project Logo by @dave-tucker in bpfman#851
- docs: Simplify api-docs generation by @dave-tucker in bpfman#852
- Running
cargo xtask build-proto
resulted in some changes by @anfredette in bpfman#846 - docs: Update README by @dave-tucker in bpfman#854
- Metrics deployment updates by @astoycos in bpfman#853
- Support attaching uprobes to targets inside containers by @anfredette in bpfman#784
- packaging: Add RPMs by @dave-tucker in bpfman#848
- Packaging and Release Fixes by @dave-tucker in bpfman#868
- bpfman: in memory db setup + oci_utils conversion by @astoycos in bpfman#861
- Packaging tweaks by @dave-tucker in bpfman#869
- bpfman: cli: Refactor command handling by @dave-tucker in bpfman#870
- bpfman-actions: update -artifact by @astoycos in bpfman#884
- bpfman actions: remove put-issue-in-project by @astoycos in bpfman#883
- bpfman: Remove grpc section from config by @Billy99 in bpfman#885
- xtask: add man and completion script generation by @weiyuhang2011 in bpfman#873
- bpfman: add support for socket activation by @Billy99 in bpfman#872
- Sled integration for the core program type by @astoycos in bpfman#874
- docs: Community Meeting Minutes - Jan 4, 2024 by @Billy99 in bpfman#902
- Tidy up async code and shutdown handling by @dave-tucker in bpfman#903
- Sled fixes, convert xdpdispatcher to use sled, fix loaded_programs race by @astoycos in bpfman#901
- fixup xdp_pass_private test by @astoycos in bpfman#916
- Sled tc dispatcher by @astoycos in bpfman#910
- article: sled-db conversion by @astoycos in bpfman#911
- add daemonless doc to website fixup sled article by @astoycos in bpfman#934
- packaging: Move RPM to use socket activation by @Billy99 in bpfman#922
- deps: Bump netlink dependencies by @dave-tucker in bpfman#953
- cli: fix nits in manpage and tab-completion by @Billy99 in bpfman#935
- refactor: make all sled-db keys into const by @shawnh2 in bpfman#923
- Kubernetes Support for attaching uprobes in containers by @anfredette in bpfman#875
- docs: Community Meeting Minutes - Jan 11 and 19, 2024 by @Billy99 in bpfman#954
- bpfman: move bpfman.sock to standalone directory by @Billy99 in bpfman#962
- docs: Minor nits by @Billy99 in bpfman#963
- bpfman: Make the listening socket configurable by @astoycos in bpfman#964
- DROP: Temporarily drop rust-cache action by @astoycos in bpfman#974
- build: set golang to 1.21 for github builds by @Billy99 in bpfman#975
- sled fixups and prefixes for final conversion bits by @astoycos in bpfman#956
- operator: make health and metrics ports configurable by @Billy99 in bpfman#965
- build: make bundle failing on upstream main by @Billy99 in bpfman#976
- build: revert back to nightly by @Billy99 in bpfman#979
- ci: Don't fail the build on codecov by @dave-tucker in bpfman#981
- ci: Group dependabot updates by @dave-tucker in bpfman#982
- Enable loggercheck lint by @dave-tucker in bpfman#983
- chore: Fix yamllint/vscode-yaml formatting discrepencies by @dave-tucker in bpfman#984
- speed up bpfman image build by @astoycos in bpfman#986
- remove to-string clippy failures by @astoycos in bpfman#989
- fixups for pr bpfman#875 by @anfredette in bpfman#978
- fix startup race by @astoycos in bpfman#990
- Make bpfman get work without gRPC by @dave-tucker in bpfman#994
- Fix clippy errors flagged by new version of clippy by @anfredette in bpfman#998
- bpfman: Cache TUF Metadata by @dave-tucker in bpfman#1000
- Convert the rest of the cli to not use GRPC by @astoycos in bpfman#995
- Fix broken links in docs by @anfredette in bpfman#996
- chore(bpfman): Update aya dependency by @dave-tucker in bpfman#1006
- bpfman-agent: list filters not working by @Billy99 in bpfman#1004
- bpfman-operator: Add status to kubectl get commands by @Billy99 in bpfman#1007
- docs: Update Kubernetes integration test instructions by @anfredette in bpfman#1005
- update dependencies by @astoycos in bpfman#1008
- Image manager refactor by @astoycos in bpfman#1011
- blog: uprobe in container work by @anfredette in bpfman#1001
- chore(bpfman): Use native-tls by @dave-tucker in bpfman#1023
- blog: bpfman integration with AF_XDP by @maryamtahhan in bpfman#1010
- Fixup bpfd references in AF_XDP blog by @maryamtahhan in bpfman#1027
- bpfman: Add support for fentry/fexit program types by @Billy99 in bpfman#1024
- docs: Update authors by @Billy99 in bpfman#1029
- feat(bpf-log-exporter): Initial Commit by @dave-tucker in bpfman#1028
- Turn bpfman into a library crate by @astoycos in bpfman#1014
- Fixup K8s operator generated code by @astoycos in bpfman#1033
- Add kprobe and uprobe example programs by @anfredette in bpfman#1017
- build docs on pull requests by @astoycos in bpfman#1035
- add public-api checks by @astoycos in bpfman#1037
- DROP pull in cosign fixes by @astoycos in https://gith...
v0.3.0
The v0.3.0 release is our second official minor release of the the bpfd project.
WARNING
This release contains breaking changes for both the core bpfd GRPC API
as well as the Kubernetes CRDs. There is no backwards compatibility or guarantees
with any of our previous releases at this point.
The following describes some of the major new features/updates:
-
The ability to list and get kernel information for ALL programs regardless
of whether they were loaded by bpfd or another process -
Deprecation of bpfd specific UUIDs for each loaded program in favor of the
standard generated kernel ID for all programs regardless of what process loaded them. -
Support for some new bpf program types:
Uprobe
Uretprobe
Kprobe
KretProbe
Along with their corresponding K8s API CRD Resources (Uprobe
andKprobe
CRDs)
-
bpfctl
got some exciting new features + functionality:- The ability to pre-pull a bytecode image from a remote repository for later use
- The ability to get a program based on Kernel ID
- The ability to load a program with user determined metadata labels which the user
can later use to filter via abpfctl
list - Much better formatting and both kernel + bpfd information feedback on
load
,list
andget
calls
-
For maps, multiple programs can now share the same maps via the
map_owner_id
field
allowing for data sharing across various programs which are loaded via bpfd -
Removal of the cert-manager dependency in the bpfd kubernetes deployment
-
Preliminary CSI(Container Storage Interface) support which allows applications
to receive their maps in kubernetes applications with a simple custom volume type
New Contributors
- @maryamtahhan made their first contribution in bpfman#540
- @navarrothiago made their first contribution in bpfman#720
Full Changelog: bpfman/bpfman@v0.2.1...v0.3.0