Skip to content

Releases: nullswan/bpfsnitch

v0.1.0

22 Sep 22:39
827eb35
Compare
Choose a tag to compare

Changelog

New Features

  • Performance Improvements:

    • Replaced perf event arrays with a ring buffer for event handling (#3)
    • Enabled resource limits and requests in deployments
  • Profiling Support:

    • Added profiling support with Pyroscope (#2)
  • Metrics:

    • Added custom prefix for Prometheus metrics
    • Enhanced network event processing with subnet
  • Grafana Dashboards:

    • Added Grafana dashboard
  • Kubernetes Mode:

    • Removed Kubernetes mode flag and associated logic
    • Refactored ShaResolver to handle pod expiration
    • Added pod deletion handling and related metrics

Commits

  • 827eb35 fix(bpf): correct order of element assignments in trace_tcp and trace_udp
  • 28b097a feat(deployments/grafana): enhance network traffic visualization and add new panels
  • d778c65 test(pkg/network): add t.Parallel in TestIntToSubnet
  • 03f98c2 style(pkg/network): add nolint comments in IntToSubnet
  • c54b9a0 feat(pkg/network): enhance IntToSubnet to zero out host portion
  • c2123b2 docs(internal/workload): add comments to sha_resolver methods
  • 49c4a5e refactor(internal/app): remove kubernetes mode flag and related logic
  • 2ae805f feat(internal/workload): refactor ShaResolver to handle pod expiration
  • 366953e feat(internal/app): add pod deletion handling and related metrics
  • 7a4575f style(pkg/lru): update ForEach test functions to ignore unused variables
  • 09313fc feat(pkg/lru): add Remove and ForEach methods to LRU cache
  • 57b5229 docs: update performance section in README
  • c856543 feat(internal): add profiling support with pyroscope (#2)
  • e68d692 style(internal/metrics): remove extra newline
  • 748240c chore(deps): clean up go.mod and go.sum
  • f039344 refactor(internal): rename container to pod
  • 3750040 feat(internal/bpf): enhance NetworkEvent with enums for direction and protocol
  • 8f6749f feat(internal): enhance network event processing with subnet and improve metrics organization
  • 0984bf6 feat(pkg/network): add IntToSubnet function and SubnetMask24 constant
  • 048021b feat(internal/bpf): add debug log level check
  • 8d7dc63 feat(bpf): add constants for direction and protocol
  • a731f74 chore(build): update Docker image tag for multiarch build
  • e553816 feat(deployments): enable resource limits and requests
  • d700054 feat(bpf): replace perf event arrays with ring buffer for event handling (#3)
  • 48d8d40 chore: add .dockerignore file
  • 266ab28 perf(bpf): optimize syscall event logging with debug level check
  • da531af feat(internal/metrics): add custom prefix for Prometheus metrics
  • 987ee26 wip(deployments/grafana): add Grafana dashboard configuration for Bpfsnitch Metrics
  • c2eb55e chore: update codeowners with reviewers
  • 7b90585 docs(perf): remove duplicate title
  • f083660 fix: remove dupe docs paragraph about perf (#1)
  • 1952ac2 docs: add performance section to README

v0.0.1

13 Sep 20:47
c7384d9
Compare
Choose a tag to compare

Changelog

  • c7384d9 perf(internal/bpf): increase perfReaderBufSz for better performance
  • 26042ee feat(internal/workload): add ErrCgroupIDNotContainer error
  • f683363 feat(workload): improve container resolution with better error handling
  • 1336d17 feat(app): add logging for event processor and container resolution
  • a40d00a feat(build): enhance Docker build and push process
  • 93dcf3f feat(internal/app): add defaultPrometheusPort constant

v0.0.0-rc3

13 Sep 18:32
eba4705
Compare
Choose a tag to compare

Changelog

  • eba4705 feat(internal): make Prometheus port configurable

v0.0.0-rc2

13 Sep 17:00
Compare
Choose a tag to compare

Changelog

  • 01f542c feat(internal): add procPath handling for Kubernetes mode
  • e126ff8 refactor(bpf/kprobe): simplify network_event struct initialization
  • 1873730 docs(README): update daemonset deployment command
  • 0f73d34 feat(deployments): add containerd socket and library object files

v0.0.0-rc1

13 Sep 16:09
Compare
Choose a tag to compare

Changelog

  • ab4d98e feat(deployments): add containerd socket and library object files

v0.0.0-rc0

13 Sep 01:09
Compare
Choose a tag to compare

Changelog

  • 6a11e66 ci(workflows): update Docker actions versions and fix DockerHub login
  • 88b9052 docs: add SECURITY policy
  • d18cacc docs: add LICENSE file
  • 339adae docs: add CONTRIBUTING guidelines
  • f1cc501 docs: add CODE_OF_CONDUCT
  • 765a019 chore(ci): rename workflow to 'release'
  • cc14115 fix(deployments): correct architecture and cleanup mount commands in daemonset
  • 133bb04 ci(workflows): add id to Docker meta step
  • 4ddac6e chore(repo): add .gitattributes to mark bpf/vmlinux.h as vendored
  • 9394c72 feat(ci): add docker push job
  • 07d5f3f test(network): add tests for network conversion utilities
  • 3db4904 feat(network): add IP and network byte order conversion utilities
  • f4d2b72 feat(workload): add container resolution logic
  • 1b028f9 feat(sig): add signal handling setup for graceful shutdown
  • 88844e6 feat(profile): add pprof setup utility
  • 7798951 feat(bpf): add event processing functions
  • d5f78fd refactor(bpf): rename BpfEvent to Event and refactor ConsumeEvents
  • 66359f4 feat(app): create Run function with main application logic
  • ac5133a refactor(bpfsnitch): move run logic to internal/app
  • 1cbf8b1 docs: update contact section with markdown links
  • 77e65cf feat(bpfsnitch): add Kprobe attacher
  • cfc880e feat(bpfsnitch): add BPF event consumer
  • b7828bb chore(bpfsnitch): update Go module dependencies
  • c379f27 feat(bpfsnitch): add UDP BPF tracers
  • 9b5695c feat(bpfsnitch): add TCP BPF tracers
  • 0110229 docs(bpfsnitch): add initial README
  • f51f26d feat(internal/metrics): add network and DNS metrics counters
  • 647e757 chore(internal/bpf): add comment to suppress linter warning
  • 0b750f6 fix(internal/bpf): correct naming in tracepoint attacher
  • 14791e5 feat(internal/bpf): add NetworkEvent struct and BpfEvent interface
  • 4e06915 feat(internal/bpf): extend KBContext with network event reader and KPs
  • 6a17f8d feat(cmd/bpfsnitch): enhance event handling with network events
  • 870d872 feat(bpf/main): include tracepoint and kprobe handlers, add is_local_ip function
  • 2365411 feat(bpf/core): add pragma once and is_local_ip function
  • 8ddb153 style(internal/metrics): add nolint for gosec warning
  • 929c36f refactor(internal/bpf): remove empty var block and use constants
  • 3fa772b refactor(internal/bpf): extract perf reader buffer size to constant
  • 39de40e test(bpf, lru): add parallel execution for tests
  • 19b77f4 chore: add autogenerated file headers
  • 7b1c236 style: rename CgroupId to CgroupID for consistency
  • 0e7283b refactor: replace fmt.Errorf with errors.New
  • 31a7e94 chore(ci): update golangci-lint version in GitHub workflow
  • e29a8b9 refactor(internal/bpf): update tests for new SyscallToId and IdToSyscall names
  • 4ccd160 refactor(internal/bpf): adjust to new SyscallToId and IdToSyscall names
  • 266d347 refactor(internal/bpf): adjust to new SyscallToId and IdToSyscall names
  • 23cb07f refactor(internal/bpf): rename WhitelistedSyscallsMap to IdToSyscall in event.go
  • 5f974f8 refactor(internal/bpf): rename WhitelistedSyscalls to SyscallToId for arm64 arch
  • 1de1bbe refactor(internal/bpf): rename WhitelistedSyscalls to SyscallToId for arm arch
  • 6894256 refactor(internal/bpf): rename WhitelistedSyscalls to SyscallToId for amd64 arch
  • 863be15 refactor(internal/bpf): rename WhitelistedSyscalls to SyscallToId for 386 arch
  • 65a2aec feat(cmd/cli): add pprof support and improve Kubernetes mode handling
  • 2f2a7a8 refactor(cmd/bpfsnitch): use LRU cache for banned cgroup IDs
  • 0f80fd3 chore: update gitignore
  • 2190913 feat(pkg/lru): implement and test LRU cache
  • 9e9500d refactor(bpf): remove kprobe attacher
  • e778c15 feat(workload): add runtime detection and container SHA resolution
  • 52d784d feat(metrics): register syscall counter with container label
  • e36aefe chore(bpf): update import path in whitelist attacher
  • 81be83d feat(bpf): implement tracepoint attacher
  • 831c39b feat(bpf): update event struct to include pid instead of user_id
  • be8d681 refactor(bpf): update attacher to support tracepoints
  • 14cd166 docs(bpf): update TODO to reflect build target change
  • 3e24a0e chore: update go.sum with new dependencies
  • 07d04be chore: update module name and dependencies
  • 2763d58 feat(cmd/bpfsnitch): add Kubernetes mode and integrate LRU cache
  • 69e42c9 refactor(bpf): switch from kprobe to tracepoint for syscall tracing
  • 5612c09 feat(bpf): replace user_id with pid in syscall_event struct
  • 083f309 feat(bpf): add current directory include path to build script
  • f69e3a7 chore: update gitignore for dev directory
  • 8abda47 feat(cmd): core logic
  • 36b49cc feat: tooling
  • b66da22 feat(deployments): add kube & dockerfile
  • 325f849 feat(internal): add logger
  • 075e753 feat(internal): add metrics server
  • b8385a5 feat(bpf): attacher & runtime
  • 7ad8f5e feat(ci): boilerplate
  • c5671ca feat(internal/bpf): syscall per arch