Commit Graph

144 Commits

Author SHA1 Message Date
Volodymyr Stoiko
867c7058a0
👷 Remove kubeshark tap upgrades (#1519) 2024-03-18 17:32:56 +03:00
M. Mert Yildiran
f1021f61b6
👷 Change the Homebrew job's name 2024-03-15 21:16:14 +03:00
Volodymyr Stoiko
9914183d7d
Move brew release into separate job (#1516) 2024-03-11 04:58:22 -07:00
Volodymyr Stoiko
ec1728ef91
Add kubeshark fork to use for homebrew release (#1512) 2024-03-06 11:02:08 +01:00
Volodymyr Stoiko
afafb2c625
Add homebrew core version update release step (#1511) 2024-02-29 23:32:52 +02:00
M. Mert Yildiran
b125860d06
💚 Set prerelease to false 2024-02-29 01:53:32 +03:00
M. Mert Yildiran
d279b7272d
💚 Change ssh-key field to token 2024-02-29 01:45:11 +03:00
M. Mert Yildiran
d8761e1e31
💚 Fix the secret name for Homebrew repo 2024-02-29 01:32:57 +03:00
Volodymyr Stoiko
25e0949761
Template homebrew formulae (#1502) 2024-02-24 15:06:15 -08:00
M. Mert Yildiran
426c6450ba
👷 Fix the CI trigger criteria 2023-10-16 23:25:02 +03:00
M. Mert Yildiran
d02293ab55
Add a workflow for publishing Helm chart 2023-04-20 21:20:07 +03:00
M. Mert Yildiran
bdaa626f30
🐛 Fix release.yml GitHub workflow 2023-03-19 21:20:01 +03:00
Christopher Redwine
b05dbed71e
Upgrade github actions versions to latest and update deprecated options (#1319)
Co-authored-by: M. Mert Yildiran <me@mertyildiran.com>
2023-03-19 20:20:47 +03:00
Christopher Redwine
28fa6e494f
Upgrade deprecated set-output GitHub Actions syntax to avoid warnings (#1314)
Co-authored-by: M. Mert Yildiran <me@mertyildiran.com>
2023-03-08 00:29:32 +03:00
M. Mert Yildiran
08b96c2663
👷 Fix brew tap reports 0.0 as version number 2023-03-05 21:00:35 +03:00
Alon Girmonsky
38da25ecc8
Infra information
Lately we've been experiencing bugs resulting from an environment with multiple nodes and the absence of a CNI.
2023-01-18 10:04:47 -08:00
M. Mert Yildiran
14defd514b
👷 Add a fine-grained PAT to brew-tap as GitHub token release.yml 2022-12-30 07:33:08 +03:00
M. Mert Yildiran
1b758f5b37
👷 Fix release.yml 2022-12-30 07:16:21 +03:00
M. Mert Yildiran
a0b73b45c0
👷 Fix release.yml 2022-12-30 06:54:09 +03:00
M. Mert Yildiran
540ad759fa
👷 Update release.yml 2022-12-30 06:29:47 +03:00
M. Mert Yildiran
af488288f2
👷 Fix release.yml more 2022-12-30 06:13:38 +03:00
M. Mert Yildiran
f1db06c840
👷 Fix release.yml 2022-12-30 06:06:30 +03:00
M. Mert Yildiran
4109b91a72
👷 Make brew-tap job depend on release job 2022-12-30 06:03:06 +03:00
M. Mert Yildiran
de728840f0
👷 Replace cli/bin/ with bin/ in release.yml 2022-12-30 05:58:18 +03:00
M. Mert Yildiran
8837afe7e1
👷 Remove Build and Push CLI step in release.yml 2022-12-30 05:56:11 +03:00
M. Mert Yildiran
e375cb2654
👷 Remove needs: [docker-manifest] from release.yml 2022-12-30 05:54:07 +03:00
M. Mert Yildiran
4e6c386677
👷 Trigger the release on pushes to master 2022-12-30 05:48:34 +03:00
M. Mert Yildiran
d2ded287ab
Fix the secret name for the goreleaser job in release.yml 2022-12-30 02:37:09 +03:00
M. Mert Yildiran
c54a6e055e
👷 Remove auth step from release.yml 2022-12-30 02:28:47 +03:00
M. Mert Yildiran
a4f5d832b3
👷 Remove build.yml and update release.yml 2022-12-29 04:18:39 +03:00
atileren
67f9c36048
👷 Add GoReleaser job for automatically generating the Homebrew formulae (#1258)
* feat: add goreleaser config for creating automatically homebrew formula

* Fix the formatting of YAML and add a newline at the end of file

* Fix the formatting of YAML, add a newline at the end of file and change the commit author

Co-authored-by: M. Mert Yildiran <me@mertyildiran.com>
2022-12-09 19:19:06 +03:00
M. Mert Yildiran
cb60a4cc4c
🔨 Move cli folder contents into project root (#1253)
* Remove `logger` module

* Remove `shared` module

* Move `cli` folder contents into project root

* Fix linter

* Change the module name from `github.com/kubeshark/kubeshark/cli` to `github.com/kubeshark/kubeshark`

* Set the default `Makefile` rule to `build`

* Add `lint` rule

* Fix the linter errors
2022-11-26 01:17:50 +03:00
M. Mert Yildiran
f87aa467b8
🚚 Move agent directory to kubeshark/hub and use kubeshark/hub Docker image instead (#1249)
* Remove the `agent` directory

* Use the new `kubeshark/hub` Docker image

* Remove `Dockerfile`

* Update `Makefile`

* Fix linter

* Change `api-server` suffix to `hub`
2022-11-25 04:18:35 +03:00
M. Mert Yildiran
8868a4c979
🚚 Move tap directory to kubeshark/worker and use kubeshark/worker Docker image instead (#1248)
* Remove `tap` directory

* Fix the depedencies and build errors

* Fix the linter errors

* Use `kubeshark/worker` image as tapper

* Arrange the pod prefixes and suffixes

* Don't install any dependencies in the CI

* Remove `devops` directory

* Don't generate eBPF object files in the CI

* Fix `Makefile`

* Update `Dockerfile`
2022-11-24 20:21:30 +03:00
M. Mert Yildiran
8c97c4a120
🔥 Delete the ui directory and deploy kubeshark/front in a pod named front (#1246)
* Remove the `ui` directory

* Deploy the UI in a separate pod named `front`

* Fix the port number

* Fix the port forwarding

* Call `postFrontStarted` only after `kubeshark-api-server` and `front` are ready

* Fix linter

* Fix `yaml` comments
2022-11-24 00:13:04 +03:00
M. Mert Yildiran
2a35abd4e0
🔨 Move the code from ui directory to ui-common (#1242)
* Move the code from `ui` directory to `ui-common`

* Remove `ui` directory

* Rename `ui-common` to `ui`

* Fix the UI build

* Fix CI
2022-11-23 01:20:27 +03:00
M. Mert Yıldıran
7e6d89957a
👕 Fix linter and test workflows (#1241)
* Fix linter and test workflows

* Fix

* Fix

* Fix linter
2022-11-22 22:33:46 +03:00
M. Mert Yıldıran
e7dec3d7a3
🚨 Delete the acceptance tests (#1240) 2022-11-22 20:09:53 +03:00
Alon Girmonsky
5250e4bde8
Update feature_request.yml 2022-11-21 12:17:04 -08:00
Alon Girmonsky
65e6a1fc8f
Update feature_request.yml 2022-11-21 12:16:10 -08:00
Alon Girmonsky
e12c148c96
Update feature_request.yml 2022-11-21 12:14:59 -08:00
Alon Girmonsky
3e89f869da
Adding a form feature request 2022-11-21 12:13:50 -08:00
Alon Girmonsky
f985afc060
Create feature_request.yml 2022-11-21 12:01:38 -08:00
M. Mert Yildiran
223e7379c4
Fix the GitHub workflows 2022-11-19 14:50:37 +03:00
M. Mert Yıldıran
0eb7883a47
Rename the project to Kubeshark (#1226)
* Rename `mizu` to `kubeshark`

* Rename `up9inc` to `kubeshark`

* Change the logo, title, motto and the main color

* Replace the favicon

* Update the docs link

* Change the copyright text in C files

* Remove a comment

* Rewrite the `README.md` and update the logo and screenshots used in it

* Add a `TODO`

* Fix the grammar

* Fix the bottom text in the filtering guide

* Change the Docker Hub username of cross-compilation intermediate images

* Add an install script

* Fix `docker/login-action` in the CI

* Delete `build-custom-branch.yml` GitHub workflow

* Update `README.md`

* Remove `install.sh`

* Change the motto back to "Traffic viewer for Kubernetes"
2022-11-19 11:13:15 +03:00
gadotroee
378270ee3d
Change tests to use github repo (#1211)
remove goole related stuff
2022-07-26 15:23:37 +03:00
Nimrod Gilboa Markevich
57e60073f5
Generate bpf files before running tests (#1194) 2022-07-11 12:31:45 +03:00
Nimrod Gilboa Markevich
f220ad2f1a
Delete ebpf object files (#1190)
Do not track object files in git.
Generate the files with `make bpf` or during `make agent`.
2022-07-11 12:08:20 +03:00
M. Mert Yıldıran
2ad4838cf5
Add Go crypto/tls eBPF tracer for TLS connections (#1120)
* Run `go generate tls_tapper.go`

* Add `golang_uprobes.c`

* Add Golang hooks and offsets

* Add `golangConnection` struct and implement `pollGolangReadWrite` method

* Upgrade `github.com/cilium/ebpf` version to `v0.8.1`

* Fix the linter error

* Move map related stuff to `maps.h` and run `go generate tls_tapper.go`

* Remove unused parameter

* Add an environment variable to test Golang locally

* Replace `Libssl` occurrences with `Ssllib` for consistency

* Fix exe path finding

* Temporarily disable OpenSSL

* Fix the mixed offsets and dissection preparation

* Change the read symbol from `net/http.(*persistConn).Read` to `crypto/tls.(*Conn).Read`

* Remove `len` and `cap` fields

* Fix the indent

* Fix the read data address

* Make `golang_dial_writes` key `__u64` and include the PID

* Fix the read data address one more time

* Temporarily disable the PCAP capture

* Add a uprobe for `net/http.(*gzipReader).Read` to read chunked HTTP response body

* Cancel `golang_crypto_tls_read_uprobe` if it's a gzip read

* Make hash map names more meaningful

* Pass the connection address from `write` to `gzip` through a common address between `gzip` and `dial`

* Fix the probed line number links

* Add `golangReader` struct and implement its `Read` method

* Have a single counter pair and request response matcher per Golang connection

* Add `MIZU_GLOBAL_GOLANG_PATH` environment variable

* `NULL` terminate the bytes with `unix.ByteSliceToString`

* Temporarily reject the gzip chunks

* Add malformed TODOs

* Revert "`NULL` terminate the bytes with `unix.ByteSliceToString`"

This reverts commit 7ee7ef7e44.

* Bring back `len` and `cap` fields

* Set `len` and `cap` in `golang_net_http_gzipreader_read_uprobe` as well

* Remove two `TODO`s

* Fix the `key_gzip` offsets

* Compress if it's gzip chunk (probably wrong!)

* Revert "Compress if it's gzip chunk (probably wrong!)"

This reverts commit 094a7c3da4.

* Remove `golang_net_http_gzipreader_read_uprobe`

* Read constant 4KiB

* Use constant read length

* Get the correct len of bytes (saw the second entry)

* Set all buffer sizes to `CHUNK_SIZE`

* Remove a `TODO`

* Revert "Temporarily disable the PCAP capture"

This reverts commit a2da15ef2d.

* Update `golang_crypto_tls_read_uprobe`

* Set the `reader` field of `tlsStream` to fix a `nil pointer dereference` error

* Don't export any fields of `golangConnection`

* Close the reader when we drop the connection

* Add a tracepoint for `sys_enter_close` to detect socket closes

* Rename `socket` struct to `golang_socket`

* Call `should_tap` in Golang uprobes

* Add `log_error` calls

* Revert "Temporarily disable OpenSSL"

This reverts commit f54d9a453f.

* Fix linter

* Revert "Revert "Temporarily disable OpenSSL""

This reverts commit 2433d867af.

* Change `golang_read_writes` map type from `BPF_RINGBUF` to `BPF_PERF_OUTPUT`

* Rename `golang_read_write` to `golang_event`

* Define an error

* Add comments

* Revert "Revert "Revert "Temporarily disable OpenSSL"""

This reverts commit e5a1de9c71.

* Fix `pollGolang`

* Revert "Revert "Revert "Revert "Temporarily disable OpenSSL""""

This reverts commit 6e1bd5d4f3.

* Fix `panic: send on closed channel`

* Revert "Revert "Revert "Revert "Revert "Temporarily disable OpenSSL"""""

This reverts commit 57d0584655.

* Use `findLibraryByPid`

* Revert "Revert "Revert "Revert "Revert "Revert "Temporarily disable OpenSSL""""""

This reverts commit 46f3d290b0.

* Revert "Revert "Revert "Revert "Revert "Revert "Revert "Temporarily disable OpenSSL"""""""

This reverts commit 775c833c06.

* Log tapping Golang

* Fix `Poll`

* Refactor `golang_net_http_dialconn_uprobe`

* Remove an excess error check

* Fix `can only use path@version syntax with 'go get' and 'go install' in module-aware mode` error in `tap/tlstapper/bpf-builder/build.sh`

* Unify Golang and OpenSSL under a single perf event buffer and `tls_chunk` struct

* Generate `tlsTapperChunkType` type (enum) as well

* Use kernel page size for the `sys_closes` perf buffer

* Fix the linter error

* Fix `MIZU_GLOBAL_GOLANG_PID` environment variable's functionality

* Rely on tracepoints for file descriptor retrieval in Golang implementation

* Remove the unnecessary changes

* Move common functions into `common.c`

* Declare `lookup_ssl_info` function to reduce duplication

* Fix linter

* Add comments and TODOs

* Remove `MIZU_GLOBAL_GOLANG_PATH` environment variable

* Update the object files

* Fix indentation

* Update object files

* Add `go_abi_internal.h`

* Fix `lookup_ssl_info`

* Convert indentation to spaces

* Add header guard comment

* Add more comments

* Find the `ret` instructions using Capstone Engine and `uprobe` the `return` statements

* Implement `get_fd_from_tcp_conn` function

* Separate SSL contexts to OpenSSL and Go

* Move `get_count_bytes` from `common.c` to `openssl_uprobes.c`

* Rename everything contains Golang to Go

* Reduce duplication in `go_uprobes.c`

* Update the comments

* Install Capstone in CI and Docker native builds

* Update `devops/install-capstone.sh`

* Add Capstone to AArch64 cross-compilation target

* Fix some of the issues on ARM64

* Delete the map element in `_ex_urpobe`

* Remove an unsued `LOG_` macro

* Rename `aquynh` to `capstone-engine`

* Add comment

* Revert "Fix some of the issues on ARM64"

This reverts commit 0b3eceddf4.

* Revert "Revert "Fix some of the issues on ARM64""

This reverts commit 681534ada1.

* Update object files

* Remove unnecessary return

* Increase timeout

* #run_acceptance_tests

* #run_acceptance_tests

* Fix the `arm64v8` sourced builds

* #run_acceptance_tests
2022-06-12 14:14:41 +03:00
Igor Gov
8f64fdaa61
Alert to slack if release action fails (#1117)
* Trigger mizu ent stg deployment on release
2022-05-29 15:16:45 +03:00