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"
This commit is contained in:
M. Mert Yıldıran 2022-11-19 00:13:15 -08:00 committed by GitHub
parent e52ba1f05d
commit 0eb7883a47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
286 changed files with 1607 additions and 1424 deletions

View File

@ -12,7 +12,7 @@ A clear and concise description of what the bug is.
**To Reproduce** **To Reproduce**
Steps to reproduce the behavior: Steps to reproduce the behavior:
1. Run `mizu <command> ...` 1. Run `kubeshark <command> ...`
2. Click on '...' 2. Click on '...'
3. Scroll down to '...' 3. Scroll down to '...'
4. See error 4. See error
@ -22,10 +22,10 @@ A clear and concise description of what you expected to happen.
**Logs** **Logs**
Upload logs: Upload logs:
1. Run the mizu command with `--set dump-logs=true` (e.g `mizu tap --set dump-logs=true`) 1. Run the kubeshark command with `--set dump-logs=true` (e.g `kubeshark tap --set dump-logs=true`)
2. Try to reproduce the issue 2. Try to reproduce the issue
3. <kbd>CTRL</kbd>+<kbd>C</kbd> on terminal tab which runs `mizu` 3. <kbd>CTRL</kbd>+<kbd>C</kbd> on terminal tab which runs `kubeshark`
4. Upload the logs zip file from `~/.mizu/mizu_logs_**.zip` 4. Upload the logs zip file from `~/.kubeshark/kubeshark_logs_**.zip`
**Screenshots** **Screenshots**
If applicable, add screenshots to help explain your problem. If applicable, add screenshots to help explain your problem.

View File

@ -9,7 +9,7 @@ on:
- 'develop' - 'develop'
env: env:
MIZU_CI_IMAGE: mizu/ci:0.0 KUBESHARK_CI_IMAGE: kubeshark/ci:0.0
jobs: jobs:
run-acceptance-tests: run-acceptance-tests:
@ -33,7 +33,7 @@ jobs:
context: . context: .
push: false push: false
load: true load: true
tags: ${{ env.MIZU_CI_IMAGE }} tags: ${{ env.KUBESHARK_CI_IMAGE }}
cache-from: type=gha cache-from: type=gha
cache-to: type=gha,mode=max cache-to: type=gha,mode=max

View File

@ -3,7 +3,7 @@ name: Acceptance tests on PR
on: push on: push
env: env:
MIZU_CI_IMAGE: mizu/ci:0.0 KUBESHARK_CI_IMAGE: kubeshark/ci:0.0
concurrency: concurrency:
group: acceptance-tests-on-pr-${{ github.ref }} group: acceptance-tests-on-pr-${{ github.ref }}
@ -33,7 +33,7 @@ jobs:
context: . context: .
push: false push: false
load: true load: true
tags: ${{ env.MIZU_CI_IMAGE }} tags: ${{ env.KUBESHARK_CI_IMAGE }}
cache-from: type=gha cache-from: type=gha
cache-to: type=gha,mode=max cache-to: type=gha,mode=max

View File

@ -1,44 +0,0 @@
name: Build Custom Branch
on: push
concurrency:
group: custom-branch-build-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Push custom branch image to GCR
runs-on: ubuntu-latest
if: ${{ contains(github.event.head_commit.message, '#build_and_publish_custom_image') }}
steps:
- name: Check out the repo
uses: actions/checkout@v2
- id: 'auth'
uses: 'google-github-actions/auth@v0'
with:
credentials_json: '${{ secrets.GCR_JSON_KEY }}'
- name: 'Set up Cloud SDK'
uses: 'google-github-actions/setup-gcloud@v0'
- name: Get base image name
shell: bash
run: echo "##[set-output name=image;]$(echo gcr.io/up9-docker-hub/mizu/${GITHUB_REF#refs/heads/})"
id: base_image_step
- name: Login to GCR
uses: docker/login-action@v1
with:
registry: gcr.io
username: _json_key
password: ${{ secrets.GCR_JSON_KEY }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: ${{ steps.base_image_step.outputs.image }}:latest

View File

@ -7,7 +7,7 @@ on:
- 'main' - 'main'
concurrency: concurrency:
group: mizu-pr-validation-${{ github.ref }} group: kubeshark-pr-validation-${{ github.ref }}
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
@ -57,6 +57,6 @@ jobs:
with: with:
context: . context: .
push: false push: false
tags: up9inc/mizu:devlatest tags: kubeshark/kubeshark:devlatest
cache-from: type=gha cache-from: type=gha
cache-to: type=gha,mode=max cache-to: type=gha,mode=max

View File

@ -7,7 +7,7 @@ on:
- 'main' - 'main'
concurrency: concurrency:
group: mizu-publish-${{ github.ref }} group: kubeshark-publish-${{ github.ref }}
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
@ -55,7 +55,7 @@ jobs:
uses: docker/metadata-action@v3 uses: docker/metadata-action@v3
with: with:
images: | images: |
up9inc/mizu kubeshark/kubeshark
tags: | tags: |
type=raw,${{ steps.versioning.outputs.version }} type=raw,${{ steps.versioning.outputs.version }}
type=raw,value=latest,enable=${{ steps.condval.outputs.value == 'stable' }} type=raw,value=latest,enable=${{ steps.condval.outputs.value == 'stable' }}
@ -66,10 +66,10 @@ jobs:
suffix=-${{ matrix.target }},onlatest=true suffix=-${{ matrix.target }},onlatest=true
- name: Login to Docker Hub - name: Login to Docker Hub
uses: docker/login-action@v1 uses: docker/login-action@v2
with: with:
username: ${{ secrets.DOCKERHUB_USER }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASS }} password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push - name: Build and push
uses: docker/build-push-action@v2 uses: docker/build-push-action@v2
@ -118,16 +118,16 @@ jobs:
uses: docker/metadata-action@v3 uses: docker/metadata-action@v3
with: with:
images: | images: |
up9inc/mizu kubeshark/kubeshark
tags: | tags: |
type=raw,${{ steps.versioning.outputs.version }} type=raw,${{ steps.versioning.outputs.version }}
type=raw,value=latest,enable=${{ steps.condval.outputs.value == 'stable' }} type=raw,value=latest,enable=${{ steps.condval.outputs.value == 'stable' }}
type=raw,value=dev-latest,enable=${{ steps.condval.outputs.value == 'dev' }} type=raw,value=dev-latest,enable=${{ steps.condval.outputs.value == 'dev' }}
- name: Login to Docker Hub - name: Login to Docker Hub
uses: docker/login-action@v1 uses: docker/login-action@v2
with: with:
username: ${{ secrets.DOCKERHUB_USER }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASS }} password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Create manifest - name: Create manifest
run: | run: |

View File

@ -11,7 +11,7 @@ on:
- 'main' - 'main'
concurrency: concurrency:
group: mizu-tests-validation-${{ github.ref }} group: kubeshark-tests-validation-${{ github.ref }}
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:

2
.gitignore vendored
View File

@ -53,7 +53,7 @@ tap/extensions/*/expect
**/node_modules/** **/node_modules/**
**/dist/** **/dist/**
*.editorconfig *.editorconfig
ui/up9-mizu-common-0.0.0.tgz ui/up9-kubeshark-common-0.0.0.tgz
# Ignore *.log files # Ignore *.log files
*.log *.log

View File

@ -17,7 +17,7 @@ FROM node:16 AS front-end
WORKDIR /app/ui-build WORKDIR /app/ui-build
COPY ui/package.json ui/package-lock.json ./ COPY ui/package.json ui/package-lock.json ./
COPY --from=front-end-common ["/app/ui-build/up9-mizu-common-0.0.0.tgz", "."] COPY --from=front-end-common ["/app/ui-build/up9-kubeshark-common-0.0.0.tgz", "."]
RUN npm i RUN npm i
COPY ui . COPY ui .
RUN npm run build RUN npm run build
@ -54,14 +54,14 @@ ENV BPF_TARGET=arm64 BPF_CFLAGS="-O2 -g -D__TARGET_ARCH_arm64"
### Builder image for x86-64 to AArch64 cross-compilation ### Builder image for x86-64 to AArch64 cross-compilation
FROM up9inc/linux-arm64-musl-go-libpcap-capstone-bpf:capstone-5.0-rc2 AS builder-from-amd64-to-arm64v8 FROM kubeshark/linux-arm64-musl-go-libpcap-capstone-bpf:capstone-5.0-rc2 AS builder-from-amd64-to-arm64v8
ENV CGO_ENABLED=1 GOOS=linux ENV CGO_ENABLED=1 GOOS=linux
ENV GOARCH=arm64 CGO_CFLAGS="-I/work/libpcap -I/work/capstone/include" ENV GOARCH=arm64 CGO_CFLAGS="-I/work/libpcap -I/work/capstone/include"
ENV BPF_TARGET=arm64 BPF_CFLAGS="-O2 -g -D__TARGET_ARCH_arm64 -I/usr/xcc/aarch64-linux-musl-cross/aarch64-linux-musl/include/" ENV BPF_TARGET=arm64 BPF_CFLAGS="-O2 -g -D__TARGET_ARCH_arm64 -I/usr/xcc/aarch64-linux-musl-cross/aarch64-linux-musl/include/"
### Builder image for AArch64 to x86-64 cross-compilation ### Builder image for AArch64 to x86-64 cross-compilation
FROM up9inc/linux-x86_64-musl-go-libpcap-capstone-bpf:capstone-5.0-rc2 AS builder-from-arm64v8-to-amd64 FROM kubeshark/linux-x86_64-musl-go-libpcap-capstone-bpf:capstone-5.0-rc2 AS builder-from-arm64v8-to-amd64
ENV CGO_ENABLED=1 GOOS=linux ENV CGO_ENABLED=1 GOOS=linux
ENV GOARCH=amd64 CGO_CFLAGS="-I/libpcap -I/capstone/include" ENV GOARCH=amd64 CGO_CFLAGS="-I/libpcap -I/capstone/include"
ENV BPF_TARGET=amd64 BPF_CFLAGS="-O2 -g -D__TARGET_ARCH_x86 -I/usr/local/musl/x86_64-unknown-linux-musl/include/" ENV BPF_TARGET=amd64 BPF_CFLAGS="-O2 -g -D__TARGET_ARCH_x86 -I/usr/local/musl/x86_64-unknown-linux-musl/include/"
@ -110,10 +110,10 @@ RUN GOARCH=${BUILDARCH} go generate tls_tapper.go
WORKDIR /app/agent-build WORKDIR /app/agent-build
RUN go build -ldflags="-extldflags=-static -s -w \ RUN go build -ldflags="-extldflags=-static -s -w \
-X 'github.com/up9inc/mizu/agent/pkg/version.GitCommitHash=${COMMIT_HASH}' \ -X 'github.com/kubeshark/kubeshark/agent/pkg/version.GitCommitHash=${COMMIT_HASH}' \
-X 'github.com/up9inc/mizu/agent/pkg/version.Branch=${GIT_BRANCH}' \ -X 'github.com/kubeshark/kubeshark/agent/pkg/version.Branch=${GIT_BRANCH}' \
-X 'github.com/up9inc/mizu/agent/pkg/version.BuildTimestamp=${BUILD_TIMESTAMP}' \ -X 'github.com/kubeshark/kubeshark/agent/pkg/version.BuildTimestamp=${BUILD_TIMESTAMP}' \
-X 'github.com/up9inc/mizu/agent/pkg/version.Ver=${VER}'" -o mizuagent . -X 'github.com/kubeshark/kubeshark/agent/pkg/version.Ver=${VER}'" -o kubesharkagent .
# Download Basenine executable, verify the sha1sum # Download Basenine executable, verify the sha1sum
ADD https://github.com/up9inc/basenine/releases/download/v0.8.3/basenine_linux_${GOARCH} ./basenine_linux_${GOARCH} ADD https://github.com/up9inc/basenine/releases/download/v0.8.3/basenine_linux_${GOARCH} ./basenine_linux_${GOARCH}
@ -133,9 +133,9 @@ WORKDIR /app/data/
WORKDIR /app WORKDIR /app
# Copy binary and config files from /build to root folder of scratch container. # Copy binary and config files from /build to root folder of scratch container.
COPY --from=builder ["/app/agent-build/mizuagent", "."] COPY --from=builder ["/app/agent-build/kubesharkagent", "."]
COPY --from=builder ["/app/agent-build/basenine", "/usr/local/bin/basenine"] COPY --from=builder ["/app/agent-build/basenine", "/usr/local/bin/basenine"]
COPY --from=front-end ["/app/ui-build/build", "site"] COPY --from=front-end ["/app/ui-build/build", "site"]
# this script runs both apiserver and passivetapper and exits either if one of them exits, preventing a scenario where the container runs without one process # this script runs both apiserver and passivetapper and exits either if one of them exits, preventing a scenario where the container runs without one process
ENTRYPOINT ["/app/mizuagent"] ENTRYPOINT ["/app/kubesharkagent"]

View File

@ -18,7 +18,7 @@ help: ## This help.
# Variables and lists # Variables and lists
TS_SUFFIX="$(shell date '+%s')" TS_SUFFIX="$(shell date '+%s')"
GIT_BRANCH="$(shell git branch | grep \* | cut -d ' ' -f2 | tr '[:upper:]' '[:lower:]' | tr '/' '_')" GIT_BRANCH="$(shell git branch | grep \* | cut -d ' ' -f2 | tr '[:upper:]' '[:lower:]' | tr '/' '_')"
BUCKET_PATH=static.up9.io/mizu/$(GIT_BRANCH) BUCKET_PATH=static.up9.io/kubeshark/$(GIT_BRANCH)
export VER?=0.0 export VER?=0.0
ARCH=$(shell uname -m) ARCH=$(shell uname -m)
ifeq ($(ARCH),$(filter $(ARCH),aarch64 arm64)) ifeq ($(ARCH),$(filter $(ARCH),aarch64 arm64))
@ -39,8 +39,8 @@ cli-debug: ## Build CLI.
@echo "building cli"; cd cli && $(MAKE) build-debug @echo "building cli"; cd cli && $(MAKE) build-debug
agent: bpf ## Build agent. agent: bpf ## Build agent.
@(echo "building mizu agent .." ) @(echo "building kubeshark agent .." )
@(cd agent; go build -o build/mizuagent main.go) @(cd agent; go build -o build/kubesharkagent main.go)
@ls -l agent/build @ls -l agent/build
bpf: $(BPF_O_FILES) bpf: $(BPF_O_FILES)
@ -50,8 +50,8 @@ $(BPF_O_FILES): $(wildcard tap/tlstapper/bpf/**/*.[ch])
@(./tap/tlstapper/bpf-builder/build.sh) @(./tap/tlstapper/bpf-builder/build.sh)
agent-debug: ## Build agent for debug. agent-debug: ## Build agent for debug.
@(echo "building mizu agent for debug.." ) @(echo "building kubeshark agent for debug.." )
@(cd agent; go build -gcflags="all=-N -l" -o build/mizuagent main.go) @(cd agent; go build -gcflags="all=-N -l" -o build/kubesharkagent main.go)
@ls -l agent/build @ls -l agent/build
docker: ## Build and publish agent docker image. docker: ## Build and publish agent docker image.
@ -59,7 +59,7 @@ docker: ## Build and publish agent docker image.
agent-docker: ## Build agent docker image. agent-docker: ## Build agent docker image.
@echo "Building agent docker image" @echo "Building agent docker image"
@docker build -t up9inc/mizu:devlatest . @docker build -t kubeshark/kubeshark:devlatest .
push: push-docker push-cli ## Build and publish agent docker image & CLI. push: push-docker push-cli ## Build and publish agent docker image & CLI.

View File

@ -1,41 +1,94 @@
![Mizu: The API Traffic Viewer for Kubernetes](assets/mizu-logo.svg) <p align="center">
<img src="assets/kubeshark-logo.svg" alt="Kubeshark: Traffic viewer for Kubernetes." height="128px"/>
</p>
<p align="center"> <p align="center">
<a href="https://github.com/up9inc/mizu/blob/main/LICENSE"> <a href="https://github.com/kubeshark/kubeshark/blob/main/LICENSE">
<img alt="GitHub License" src="https://img.shields.io/github/license/up9inc/mizu?logo=GitHub&style=flat-square"> <img alt="GitHub License" src="https://img.shields.io/github/license/kubeshark/kubeshark?logo=GitHub&style=flat-square">
</a> </a>
<a href="https://github.com/up9inc/mizu/releases/latest"> <a href="https://github.com/kubeshark/kubeshark/releases/latest">
<img alt="GitHub Latest Release" src="https://img.shields.io/github/v/release/up9inc/mizu?logo=GitHub&style=flat-square"> <img alt="GitHub Latest Release" src="https://img.shields.io/github/v/release/kubeshark/kubeshark?logo=GitHub&style=flat-square">
</a> </a>
<a href="https://hub.docker.com/r/up9inc/mizu"> <a href="https://hub.docker.com/r/kubeshark/kubeshark">
<img alt="Docker pulls" src="https://img.shields.io/docker/pulls/up9inc/mizu?color=%23099cec&logo=Docker&style=flat-square"> <img alt="Docker pulls" src="https://img.shields.io/docker/pulls/kubeshark/kubeshark?color=%23099cec&logo=Docker&style=flat-square">
</a> </a>
<a href="https://hub.docker.com/r/up9inc/mizu"> <a href="https://hub.docker.com/r/kubeshark/kubeshark">
<img alt="Image size" src="https://img.shields.io/docker/image-size/up9inc/mizu/latest?logo=Docker&style=flat-square"> <img alt="Image size" src="https://img.shields.io/docker/image-size/kubeshark/kubeshark/latest?logo=Docker&style=flat-square">
</a> </a>
<a href="https://join.slack.com/t/up9/shared_invite/zt-tfjnduli-QzlR8VV4Z1w3YnPIAJfhlQ"> <a href="https://join.slack.com/t/mertyildiran/shared_invite/zt-1k3sybpq9-uAhFkuPJiJftKniqrGHGhg">
<img alt="Slack" src="https://img.shields.io/badge/slack-join_chat-white.svg?logo=slack&style=social"> <img alt="Slack" src="https://img.shields.io/badge/slack-join_chat-white.svg?logo=slack&style=social">
</a> </a>
</p> </p>
# The API Traffic Viewer for Kubernetes Kubeshark is an **observability and monitoring tool for** [**Kubernetes**](https://kubernetes.io/), enabling **dynamic analysis** of the microservices, detecting **anomalies** and **triggering functions** when certain patterns appear in runtime.
A simple-yet-powerful API traffic viewer for Kubernetes enabling you to view all API communication between microservices to help your debug and troubleshoot regressions. Think of Kubeshark as a **Kubernetes-aware** combination of [**Wireshark**](https://www.wireshark.org/), [**BPF Compiler Collection (BCC) tools**](https://github.com/iovisor/bcc) and beyond.
Think TCPDump and Wireshark re-invented for Kubernetes. ![Simple UI](assets/kubeshark-ui.png)
![Simple UI](assets/mizu-ui.png) ## Quickstart
## Quickstart and documentation Installing Kubeshark can't be any easier. Either choose the right binary, download and use directly from [the releases section](https://github.com/kubeshark/kubeshark/releases/), or use a shell script to download the right binary for your operating system and CPU architecture:
You can run Mizu on any Kubernetes cluster (version of 1.16.0 or higher) in a matter of seconds. See the [Mizu Getting Started Guide](https://getmizu.io/docs/) for how. ```shell
sh <(curl -Ls https://kubeshark.co/install)
```
For more comprehensive documentation, start with the [docs](https://getmizu.io/docs/mizu/mizu-cli). ## Deploy
## Working in this repo Once you have the Kubeshark CLI installed on your system, run the command below to deploy the Kubeshark container into your Kubernetes cluster.
We ❤️ pull requests! See [CONTRIBUTING.md](docs/CONTRIBUTING.md) for info on contributing changes. <br /> ```shell
In the wiki you can find an intorduction to [mizu components](https://github.com/up9inc/mizu/wiki/Introduction-to-Mizu), and [development workflows](https://github.com/up9inc/mizu/wiki/Development-Workflows). kubeshark tap
```
### Troubleshooting Installation
If something doesn't work or simply to play it safe prior to installing, make sure that:
> Kubeshark images are hosted on Docker Hub. Make sure you have access to https://hub.docker.com/
> Make sure `kubeshark` executable in your `PATH`.
### Select Pods
#### Monitoring a Specific Pod:
```shell
kubeshark tap catalogue-b87b45784-sxc8q
```
#### Monitoring a Set of Pods Using Regex:
```shell
kubeshark tap "(catalo*|front-end*)"
```
### Specify the Namespace
By default, Kubeshark is deployed into the `default` namespace.
To specify a different namespace:
```
kubeshark tap -n sock-shop
```
### Specify All Namespaces
The default deployment strategy of Kubeshark waits for the new pods
to be created. To simply deploy to all existing namespaces run:
```
kubeshark tap -A
```
## Documentation
Visit our documentation website: [docs.kubeshark.co](https://docs.kubeshark.co)
The documentation resources are open-source and can be found on GitHub: [kubeshark/docs](https://github.com/kubeshark/docs)
## Contributing
We ❤️ pull requests! See [CONTRIBUTING.md](docs/CONTRIBUTING.md) for the contribution guide.
## Code of Conduct ## Code of Conduct

View File

@ -14,9 +14,9 @@ module.exports = defineConfig({
greenFilterColor: 'rgb(210, 250, 210)', greenFilterColor: 'rgb(210, 250, 210)',
redFilterColor: 'rgb(250, 214, 220)', redFilterColor: 'rgb(250, 214, 220)',
bodyJsonClass: '.hljs', bodyJsonClass: '.hljs',
mizuWidth: 1920, kubesharkWidth: 1920,
normalMizuHeight: 1080, normalKubesharkHeight: 1080,
hugeMizuHeight: 3500, hugeKubesharkHeight: 3500,
}, },
e2e: { e2e: {
// We've imported your old cypress plugins here. // We've imported your old cypress plugins here.

View File

@ -14,19 +14,19 @@ export function isValueExistsInElement(shouldInclude, content, domPathToContaine
}); });
} }
export function resizeToHugeMizu() { export function resizeToHugeKubeshark() {
cy.viewport(Cypress.env('mizuWidth'), Cypress.env('hugeMizuHeight')); cy.viewport(Cypress.env('kubesharkWidth'), Cypress.env('hugeKubesharkHeight'));
} }
export function resizeToNormalMizu() { export function resizeToNormalKubeshark() {
cy.viewport(Cypress.env('mizuWidth'), Cypress.env('normalMizuHeight')); cy.viewport(Cypress.env('kubesharkWidth'), Cypress.env('normalKubesharkHeight'));
} }
export function verifyMinimumEntries() { export function verifyMinimumEntries() {
const entriesSent = Cypress.env('entriesCount'); const entriesSent = Cypress.env('entriesCount');
const minimumEntries = Math.round((0.75 * entriesSent)); const minimumEntries = Math.round((0.75 * entriesSent));
it(`Making sure that mizu shows at least ${minimumEntries} entries`, function () { it(`Making sure that kubeshark shows at least ${minimumEntries} entries`, function () {
cy.get('#total-entries').then(number => { cy.get('#total-entries').then(number => {
const getNum = () => { const getNum = () => {
return parseInt(number.text()); return parseInt(number.text());

View File

@ -1,9 +1,9 @@
import { import {
isValueExistsInElement, isValueExistsInElement,
resizeToHugeMizu, resizeToHugeKubeshark,
} from "../testHelpers/TrafficHelper"; } from "../testHelpers/TrafficHelper";
it('Loading Mizu', function () { it('Loading Kubeshark', function () {
cy.visit(Cypress.env('testUrl')); cy.visit(Cypress.env('testUrl'));
}); });
@ -12,7 +12,7 @@ checkEntries();
function checkEntries() { function checkEntries() {
it('checking all entries', function () { it('checking all entries', function () {
cy.get('#entries-length').should('not.have.text', '0').then(() => { cy.get('#entries-length').should('not.have.text', '0').then(() => {
resizeToHugeMizu(); resizeToHugeKubeshark();
cy.get('#list [id^=entry]').each(entryElement => { cy.get('#list [id^=entry]').each(entryElement => {
entryElement.click(); entryElement.click();

View File

@ -1,6 +1,6 @@
import {isValueExistsInElement} from '../testHelpers/TrafficHelper'; import {isValueExistsInElement} from '../testHelpers/TrafficHelper';
it('Loading Mizu', function () { it('Loading Kubeshark', function () {
cy.visit(Cypress.env('testUrl')); cy.visit(Cypress.env('testUrl'));
}); });

View File

@ -1,6 +1,6 @@
import {checkFilterByMethod, valueTabs,} from "../testHelpers/TrafficHelper"; import {checkFilterByMethod, valueTabs,} from "../testHelpers/TrafficHelper";
it('opening mizu', function () { it('opening kubeshark', function () {
cy.visit(Cypress.env('testUrl')); cy.visit(Cypress.env('testUrl'));
}); });

View File

@ -1,6 +1,6 @@
import {isValueExistsInElement} from '../testHelpers/TrafficHelper'; import {isValueExistsInElement} from '../testHelpers/TrafficHelper';
it('Loading Mizu', function () { it('Loading Kubeshark', function () {
cy.visit(Cypress.env('testUrl')); cy.visit(Cypress.env('testUrl'));
}); });

View File

@ -1,6 +1,6 @@
import {checkFilterByMethod, valueTabs,} from "../testHelpers/TrafficHelper"; import {checkFilterByMethod, valueTabs,} from "../testHelpers/TrafficHelper";
it('opening mizu', function () { it('opening kubeshark', function () {
cy.visit(Cypress.env('testUrl')); cy.visit(Cypress.env('testUrl'));
}); });

View File

@ -3,8 +3,8 @@ import {
getEntryId, getEntryId,
leftOnHoverCheck, leftOnHoverCheck,
leftTextCheck, leftTextCheck,
resizeToHugeMizu, resizeToHugeKubeshark,
resizeToNormalMizu, resizeToNormalKubeshark,
rightOnHoverCheck, rightOnHoverCheck,
rightTextCheck, rightTextCheck,
verifyMinimumEntries, verifyMinimumEntries,
@ -20,7 +20,7 @@ podsArray.forEach((podStr, index) => {
podsArray[index] = getExpectedDetailsDict(podAndNamespaceArr[0], podAndNamespaceArr[1]); podsArray[index] = getExpectedDetailsDict(podAndNamespaceArr[0], podAndNamespaceArr[1]);
}); });
it('opening mizu', function () { it('opening kubeshark', function () {
cy.visit(Cypress.env('testUrl')); cy.visit(Cypress.env('testUrl'));
}); });
@ -98,11 +98,11 @@ if (Cypress.env('shouldCheckSrcAndDest')) {
}); });
checkFilter({ checkFilter({
filter: `dst.name == "httpbin.mizu-tests"`, filter: `dst.name == "httpbin.kubeshark-tests"`,
leftSidePath: '> :nth-child(3) > :nth-child(2) > :nth-child(3) > :nth-child(2)', leftSidePath: '> :nth-child(3) > :nth-child(2) > :nth-child(3) > :nth-child(2)',
leftSideExpectedText: 'httpbin.mizu-tests', leftSideExpectedText: 'httpbin.kubeshark-tests',
rightSidePath: '> :nth-child(2) > :nth-child(2) > :nth-child(2) > :nth-child(3) > :nth-child(2)', rightSidePath: '> :nth-child(2) > :nth-child(2) > :nth-child(2) > :nth-child(3) > :nth-child(2)',
rightSideExpectedText: 'httpbin.mizu-tests', rightSideExpectedText: 'httpbin.kubeshark-tests',
applyByCtrlEnter: false, applyByCtrlEnter: false,
numberOfRecords: 20 numberOfRecords: 20
}); });
@ -224,7 +224,7 @@ function checkFilter(filterDetails) {
checkRightSideResponseBody(); checkRightSideResponseBody();
}); });
resizeToHugeMizu(); resizeToHugeKubeshark();
// checking only 'leftTextCheck' on all entries because the rest of the checks require more time // checking only 'leftTextCheck' on all entries because the rest of the checks require more time
cy.get(`#list [id^=entry]`).each(elem => { cy.get(`#list [id^=entry]`).each(elem => {
@ -237,7 +237,7 @@ function checkFilter(filterDetails) {
deeperCheck(leftSidePath, rightSidePath, filter, rightSideExpectedText, entriesForDeeperCheck); deeperCheck(leftSidePath, rightSidePath, filter, rightSideExpectedText, entriesForDeeperCheck);
// reloading then waiting for the entries number to load // reloading then waiting for the entries number to load
resizeToNormalMizu(); resizeToNormalKubeshark();
cy.reload(); cy.reload();
waitForFetch(numberOfRecords); waitForFetch(numberOfRecords);
pauseStream(); pauseStream();
@ -320,7 +320,7 @@ function serviceMapCheck() {
cy.wait('@serviceMapRequest').then(({response}) => { cy.wait('@serviceMapRequest').then(({response}) => {
const body = response.body; const body = response.body;
const nodeParams = { const nodeParams = {
destination: 'httpbin.mizu-tests', destination: 'httpbin.kubeshark-tests',
source: '127.0.0.1' source: '127.0.0.1'
}; };
serviceMapAPICheck(body, parseInt(entriesNum), nodeParams); serviceMapAPICheck(body, parseInt(entriesNum), nodeParams);

View File

@ -1,11 +1,11 @@
module github.com/up9inc/mizu/acceptanceTests module github.com/kubeshark/kubeshark/acceptanceTests
go 1.17 go 1.17
require ( require (
github.com/go-redis/redis/v8 v8.11.4 github.com/go-redis/redis/v8 v8.11.4
github.com/rabbitmq/amqp091-go v1.3.0 github.com/rabbitmq/amqp091-go v1.3.0
github.com/up9inc/mizu/shared v0.0.0 github.com/kubeshark/kubeshark/shared v0.0.0
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
k8s.io/apimachinery v0.23.3 k8s.io/apimachinery v0.23.3
k8s.io/client-go v0.23.3 k8s.io/client-go v0.23.3
@ -47,10 +47,10 @@ require (
sigs.k8s.io/yaml v1.3.0 // indirect sigs.k8s.io/yaml v1.3.0 // indirect
) )
replace github.com/up9inc/mizu/logger v0.0.0 => ../logger replace github.com/kubeshark/kubeshark/logger v0.0.0 => ../logger
replace github.com/up9inc/mizu/shared v0.0.0 => ../shared replace github.com/kubeshark/kubeshark/shared v0.0.0 => ../shared
replace github.com/up9inc/mizu/tap/api v0.0.0 => ../tap/api replace github.com/kubeshark/kubeshark/tap/api v0.0.0 => ../tap/api
replace github.com/up9inc/mizu/tap/dbgctl v0.0.0 => ../tap/dbgctl replace github.com/kubeshark/kubeshark/tap/dbgctl v0.0.0 => ../tap/dbgctl

View File

@ -81,27 +81,27 @@ func TestLogs(t *testing.T) {
logsFileNames = append(logsFileNames, file.Name) logsFileNames = append(logsFileNames, file.Name)
} }
if !Contains(logsFileNames, "mizu.mizu-api-server.mizu-api-server.log") { if !Contains(logsFileNames, "kubeshark.kubeshark-api-server.kubeshark-api-server.log") {
t.Errorf("api server logs not found") t.Errorf("api server logs not found")
return return
} }
if !Contains(logsFileNames, "mizu.mizu-api-server.basenine.log") { if !Contains(logsFileNames, "kubeshark.kubeshark-api-server.basenine.log") {
t.Errorf("basenine logs not found") t.Errorf("basenine logs not found")
return return
} }
if !Contains(logsFileNames, "mizu_cli.log") { if !Contains(logsFileNames, "kubeshark_cli.log") {
t.Errorf("cli logs not found") t.Errorf("cli logs not found")
return return
} }
if !Contains(logsFileNames, "mizu_events.log") { if !Contains(logsFileNames, "kubeshark_events.log") {
t.Errorf("events logs not found") t.Errorf("events logs not found")
return return
} }
if !ContainsPartOfValue(logsFileNames, "mizu.mizu-tapper-daemon-set") { if !ContainsPartOfValue(logsFileNames, "kubeshark.kubeshark-tapper-daemon-set") {
t.Errorf("tapper logs not found") t.Errorf("tapper logs not found")
return return
} }
@ -179,27 +179,27 @@ func TestLogsPath(t *testing.T) {
logsFileNames = append(logsFileNames, file.Name) logsFileNames = append(logsFileNames, file.Name)
} }
if !Contains(logsFileNames, "mizu.mizu-api-server.mizu-api-server.log") { if !Contains(logsFileNames, "kubeshark.kubeshark-api-server.kubeshark-api-server.log") {
t.Errorf("api server logs not found") t.Errorf("api server logs not found")
return return
} }
if !Contains(logsFileNames, "mizu.mizu-api-server.basenine.log") { if !Contains(logsFileNames, "kubeshark.kubeshark-api-server.basenine.log") {
t.Errorf("basenine logs not found") t.Errorf("basenine logs not found")
return return
} }
if !Contains(logsFileNames, "mizu_cli.log") { if !Contains(logsFileNames, "kubeshark_cli.log") {
t.Errorf("cli logs not found") t.Errorf("cli logs not found")
return return
} }
if !Contains(logsFileNames, "mizu_events.log") { if !Contains(logsFileNames, "kubeshark_events.log") {
t.Errorf("events logs not found") t.Errorf("events logs not found")
return return
} }
if !ContainsPartOfValue(logsFileNames, "mizu.mizu-tapper-daemon-set") { if !ContainsPartOfValue(logsFileNames, "kubeshark.kubeshark-tapper-daemon-set") {
t.Errorf("tapper logs not found") t.Errorf("tapper logs not found")
return return
} }

View File

@ -29,33 +29,33 @@ fi
echo "Starting minikube..." echo "Starting minikube..."
minikube start --cpus 2 --memory 6000 minikube start --cpus 2 --memory 6000
echo "Creating mizu tests namespaces" echo "Creating kubeshark tests namespaces"
kubectl create namespace mizu-tests --dry-run=client -o yaml | kubectl apply -f - kubectl create namespace kubeshark-tests --dry-run=client -o yaml | kubectl apply -f -
kubectl create namespace mizu-tests2 --dry-run=client -o yaml | kubectl apply -f - kubectl create namespace kubeshark-tests2 --dry-run=client -o yaml | kubectl apply -f -
echo "Creating httpbin deployments" echo "Creating httpbin deployments"
kubectl create deployment httpbin --image=kennethreitz/httpbin -n mizu-tests --dry-run=client -o yaml | kubectl apply -f - kubectl create deployment httpbin --image=kennethreitz/httpbin -n kubeshark-tests --dry-run=client -o yaml | kubectl apply -f -
kubectl create deployment httpbin2 --image=kennethreitz/httpbin -n mizu-tests --dry-run=client -o yaml | kubectl apply -f - kubectl create deployment httpbin2 --image=kennethreitz/httpbin -n kubeshark-tests --dry-run=client -o yaml | kubectl apply -f -
kubectl create deployment httpbin --image=kennethreitz/httpbin -n mizu-tests2 --dry-run=client -o yaml | kubectl apply -f - kubectl create deployment httpbin --image=kennethreitz/httpbin -n kubeshark-tests2 --dry-run=client -o yaml | kubectl apply -f -
echo "Creating redis deployment" echo "Creating redis deployment"
kubectl create deployment redis --image=redis -n mizu-tests --dry-run=client -o yaml | kubectl apply -f - kubectl create deployment redis --image=redis -n kubeshark-tests --dry-run=client -o yaml | kubectl apply -f -
echo "Creating rabbitmq deployment" echo "Creating rabbitmq deployment"
kubectl create deployment rabbitmq --image=rabbitmq -n mizu-tests --dry-run=client -o yaml | kubectl apply -f - kubectl create deployment rabbitmq --image=rabbitmq -n kubeshark-tests --dry-run=client -o yaml | kubectl apply -f -
echo "Creating httpbin services" echo "Creating httpbin services"
kubectl expose deployment httpbin --type=NodePort --port=80 -n mizu-tests --dry-run=client -o yaml | kubectl apply -f - kubectl expose deployment httpbin --type=NodePort --port=80 -n kubeshark-tests --dry-run=client -o yaml | kubectl apply -f -
kubectl expose deployment httpbin2 --type=NodePort --port=80 -n mizu-tests --dry-run=client -o yaml | kubectl apply -f - kubectl expose deployment httpbin2 --type=NodePort --port=80 -n kubeshark-tests --dry-run=client -o yaml | kubectl apply -f -
kubectl expose deployment httpbin --type=NodePort --port=80 -n mizu-tests2 --dry-run=client -o yaml | kubectl apply -f - kubectl expose deployment httpbin --type=NodePort --port=80 -n kubeshark-tests2 --dry-run=client -o yaml | kubectl apply -f -
echo "Creating redis service" echo "Creating redis service"
kubectl expose deployment redis --type=LoadBalancer --port=6379 -n mizu-tests --dry-run=client -o yaml | kubectl apply -f - kubectl expose deployment redis --type=LoadBalancer --port=6379 -n kubeshark-tests --dry-run=client -o yaml | kubectl apply -f -
echo "Creating rabbitmq service" echo "Creating rabbitmq service"
kubectl expose deployment rabbitmq --type=LoadBalancer --port=5672 -n mizu-tests --dry-run=client -o yaml | kubectl apply -f - kubectl expose deployment rabbitmq --type=LoadBalancer --port=5672 -n kubeshark-tests --dry-run=client -o yaml | kubectl apply -f -
echo "Starting proxy" echo "Starting proxy"
rm -f ${PROXY_LOG} rm -f ${PROXY_LOG}
@ -64,15 +64,15 @@ PID1=$!
echo "kubectl proxy process id is ${PID1} and log of proxy in ${PROXY_LOG}" echo "kubectl proxy process id is ${PID1} and log of proxy in ${PROXY_LOG}"
if [[ -z "${CI}" ]]; then if [[ -z "${CI}" ]]; then
echo "Setting env var of mizu ci image" echo "Setting env var of kubeshark ci image"
export MIZU_CI_IMAGE="mizu/ci:0.0" export KUBESHARK_CI_IMAGE="kubeshark/ci:0.0"
echo "Build agent image" echo "Build agent image"
docker build -t "${MIZU_CI_IMAGE}" . docker build -t "${KUBESHARK_CI_IMAGE}" .
else else
echo "not building docker image in CI because it is created as separate step" echo "not building docker image in CI because it is created as separate step"
fi fi
minikube image load "${MIZU_CI_IMAGE}" minikube image load "${KUBESHARK_CI_IMAGE}"
echo "Build cli" echo "Build cli"
cd cli && make build GIT_BRANCH=ci SUFFIX=ci cd cli && make build GIT_BRANCH=ci SUFFIX=ci

View File

@ -15,7 +15,7 @@ func TestTap(t *testing.T) {
basicTapTest(t, false) basicTapTest(t, false)
} }
func basicTapTest(t *testing.T, shouldCheckSrcAndDest bool, extraArgs... string) { func basicTapTest(t *testing.T, shouldCheckSrcAndDest bool, extraArgs ...string) {
if testing.Short() { if testing.Short() {
t.Skip("ignored acceptance test") t.Skip("ignored acceptance test")
} }
@ -67,8 +67,8 @@ func basicTapTest(t *testing.T, shouldCheckSrcAndDest bool, extraArgs... string)
} }
expectedPods := []PodDescriptor{ expectedPods := []PodDescriptor{
{Name: "httpbin", Namespace: "mizu-tests"}, {Name: "httpbin", Namespace: "kubeshark-tests"},
{Name: "httpbin2", Namespace: "mizu-tests"}, {Name: "httpbin2", Namespace: "kubeshark-tests"},
} }
var expectedPodsStr string var expectedPodsStr string
@ -134,7 +134,7 @@ func TestTapGuiPort(t *testing.T) {
} }
RunCypressTests(t, fmt.Sprintf("npx cypress run --spec \"cypress/e2e/tests/GuiPort.js\" --env name=%v,namespace=%v,port=%d", RunCypressTests(t, fmt.Sprintf("npx cypress run --spec \"cypress/e2e/tests/GuiPort.js\" --env name=%v,namespace=%v,port=%d",
"httpbin", "mizu-tests", guiPort)) "httpbin", "kubeshark-tests", guiPort))
}) })
} }
} }
@ -145,9 +145,9 @@ func TestTapAllNamespaces(t *testing.T) {
} }
expectedPods := []PodDescriptor{ expectedPods := []PodDescriptor{
{Name: "httpbin", Namespace: "mizu-tests"}, {Name: "httpbin", Namespace: "kubeshark-tests"},
{Name: "httpbin2", Namespace: "mizu-tests"}, {Name: "httpbin2", Namespace: "kubeshark-tests"},
{Name: "httpbin", Namespace: "mizu-tests2"}, {Name: "httpbin", Namespace: "kubeshark-tests2"},
} }
cliPath, cliPathErr := GetCliPath() cliPath, cliPathErr := GetCliPath()
@ -190,9 +190,9 @@ func TestTapMultipleNamespaces(t *testing.T) {
} }
expectedPods := []PodDescriptor{ expectedPods := []PodDescriptor{
{Name: "httpbin", Namespace: "mizu-tests"}, {Name: "httpbin", Namespace: "kubeshark-tests"},
{Name: "httpbin2", Namespace: "mizu-tests"}, {Name: "httpbin2", Namespace: "kubeshark-tests"},
{Name: "httpbin", Namespace: "mizu-tests2"}, {Name: "httpbin", Namespace: "kubeshark-tests2"},
} }
cliPath, cliPathErr := GetCliPath() cliPath, cliPathErr := GetCliPath()
@ -240,7 +240,7 @@ func TestTapRegex(t *testing.T) {
regexPodName := "httpbin2" regexPodName := "httpbin2"
expectedPods := []PodDescriptor{ expectedPods := []PodDescriptor{
{Name: regexPodName, Namespace: "mizu-tests"}, {Name: regexPodName, Namespace: "kubeshark-tests"},
} }
cliPath, cliPathErr := GetCliPath() cliPath, cliPathErr := GetCliPath()
@ -365,8 +365,8 @@ func TestTapRedact(t *testing.T) {
} }
proxyUrl := GetProxyUrl(DefaultNamespaceName, DefaultServiceName) proxyUrl := GetProxyUrl(DefaultNamespaceName, DefaultServiceName)
requestHeaders := map[string]string{"User-Header": "Mizu"} requestHeaders := map[string]string{"User-Header": "Kubeshark"}
requestBody := map[string]string{"User": "Mizu"} requestBody := map[string]string{"User": "Kubeshark"}
for i := 0; i < DefaultEntriesCount; i++ { for i := 0; i < DefaultEntriesCount; i++ {
if _, requestErr := ExecuteHttpPostRequestWithHeaders(fmt.Sprintf("%v/post", proxyUrl), requestHeaders, requestBody); requestErr != nil { if _, requestErr := ExecuteHttpPostRequestWithHeaders(fmt.Sprintf("%v/post", proxyUrl), requestHeaders, requestBody); requestErr != nil {
t.Errorf("failed to send proxy request, err: %v", requestErr) t.Errorf("failed to send proxy request, err: %v", requestErr)
@ -415,8 +415,8 @@ func TestTapNoRedact(t *testing.T) {
} }
proxyUrl := GetProxyUrl(DefaultNamespaceName, DefaultServiceName) proxyUrl := GetProxyUrl(DefaultNamespaceName, DefaultServiceName)
requestHeaders := map[string]string{"User-Header": "Mizu"} requestHeaders := map[string]string{"User-Header": "Kubeshark"}
requestBody := map[string]string{"User": "Mizu"} requestBody := map[string]string{"User": "Kubeshark"}
for i := 0; i < DefaultEntriesCount; i++ { for i := 0; i < DefaultEntriesCount; i++ {
if _, requestErr := ExecuteHttpPostRequestWithHeaders(fmt.Sprintf("%v/post", proxyUrl), requestHeaders, requestBody); requestErr != nil { if _, requestErr := ExecuteHttpPostRequestWithHeaders(fmt.Sprintf("%v/post", proxyUrl), requestHeaders, requestBody); requestErr != nil {
t.Errorf("failed to send proxy request, err: %v", requestErr) t.Errorf("failed to send proxy request, err: %v", requestErr)
@ -526,23 +526,23 @@ func TestTapDumpLogs(t *testing.T) {
return return
} }
mizuFolderPath, mizuPathErr := GetMizuFolderPath() kubesharkFolderPath, kubesharkPathErr := GetKubesharkFolderPath()
if mizuPathErr != nil { if kubesharkPathErr != nil {
t.Errorf("failed to get mizu folder path, err: %v", mizuPathErr) t.Errorf("failed to get kubeshark folder path, err: %v", kubesharkPathErr)
return return
} }
files, readErr := ioutil.ReadDir(mizuFolderPath) files, readErr := ioutil.ReadDir(kubesharkFolderPath)
if readErr != nil { if readErr != nil {
t.Errorf("failed to read mizu folder files, err: %v", readErr) t.Errorf("failed to read kubeshark folder files, err: %v", readErr)
return return
} }
var dumpLogsPath string var dumpLogsPath string
for _, file := range files { for _, file := range files {
fileName := file.Name() fileName := file.Name()
if strings.Contains(fileName, "mizu_logs") { if strings.Contains(fileName, "kubeshark_logs") {
dumpLogsPath = path.Join(mizuFolderPath, fileName) dumpLogsPath = path.Join(kubesharkFolderPath, fileName)
break break
} }
} }
@ -569,27 +569,27 @@ func TestTapDumpLogs(t *testing.T) {
logsFileNames = append(logsFileNames, file.Name) logsFileNames = append(logsFileNames, file.Name)
} }
if !Contains(logsFileNames, "mizu.mizu-api-server.mizu-api-server.log") { if !Contains(logsFileNames, "kubeshark.kubeshark-api-server.kubeshark-api-server.log") {
t.Errorf("api server logs not found") t.Errorf("api server logs not found")
return return
} }
if !Contains(logsFileNames, "mizu.mizu-api-server.basenine.log") { if !Contains(logsFileNames, "kubeshark.kubeshark-api-server.basenine.log") {
t.Errorf("basenine logs not found") t.Errorf("basenine logs not found")
return return
} }
if !Contains(logsFileNames, "mizu_cli.log") { if !Contains(logsFileNames, "kubeshark_cli.log") {
t.Errorf("cli logs not found") t.Errorf("cli logs not found")
return return
} }
if !Contains(logsFileNames, "mizu_events.log") { if !Contains(logsFileNames, "kubeshark_events.log") {
t.Errorf("events logs not found") t.Errorf("events logs not found")
return return
} }
if !ContainsPartOfValue(logsFileNames, "mizu.mizu-tapper-daemon-set") { if !ContainsPartOfValue(logsFileNames, "kubeshark.kubeshark-tapper-daemon-set") {
t.Errorf("tapper logs not found") t.Errorf("tapper logs not found")
return return
} }
@ -613,7 +613,7 @@ func TestIpResolving(t *testing.T) {
} }
func TestRestrictedMode(t *testing.T) { func TestRestrictedMode(t *testing.T) {
namespace := "mizu-tests" namespace := "kubeshark-tests"
t.Log("creating permissions for restricted user") t.Log("creating permissions for restricted user")
if err := ApplyKubeFilesForTest( if err := ApplyKubeFilesForTest(
@ -632,6 +632,6 @@ func TestRestrictedMode(t *testing.T) {
return return
} }
extraArgs := []string{"--set", fmt.Sprintf("mizu-resources-namespace=%s", namespace)} extraArgs := []string{"--set", fmt.Sprintf("kubeshark-resources-namespace=%s", namespace)}
t.Run("basic tap", func (testingT *testing.T) {basicTapTest(testingT, false, extraArgs...)}) t.Run("basic tap", func(testingT *testing.T) { basicTapTest(testingT, false, extraArgs...) })
} }

View File

@ -21,14 +21,14 @@ import (
"k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/tools/clientcmd"
"k8s.io/client-go/util/homedir" "k8s.io/client-go/util/homedir"
"github.com/up9inc/mizu/shared" "github.com/kubeshark/kubeshark/shared"
) )
const ( const (
LongRetriesCount = 100 LongRetriesCount = 100
ShortRetriesCount = 10 ShortRetriesCount = 10
DefaultApiServerPort = shared.DefaultApiServerPort DefaultApiServerPort = shared.DefaultApiServerPort
DefaultNamespaceName = "mizu-tests" DefaultNamespaceName = "kubeshark-tests"
DefaultServiceName = "httpbin" DefaultServiceName = "httpbin"
DefaultEntriesCount = 50 DefaultEntriesCount = 50
WaitAfterTapPodsReady = 3 * time.Second WaitAfterTapPodsReady = 3 * time.Second
@ -46,26 +46,26 @@ func GetCliPath() (string, error) {
return "", filePathErr return "", filePathErr
} }
cliPath := path.Join(dir, "../cli/bin/mizu_ci") cliPath := path.Join(dir, "../cli/bin/kubeshark_ci")
return cliPath, nil return cliPath, nil
} }
func GetMizuFolderPath() (string, error) { func GetKubesharkFolderPath() (string, error) {
home, homeDirErr := os.UserHomeDir() home, homeDirErr := os.UserHomeDir()
if homeDirErr != nil { if homeDirErr != nil {
return "", homeDirErr return "", homeDirErr
} }
return path.Join(home, ".mizu"), nil return path.Join(home, ".kubeshark"), nil
} }
func GetConfigPath() (string, error) { func GetConfigPath() (string, error) {
mizuFolderPath, mizuPathError := GetMizuFolderPath() kubesharkFolderPath, kubesharkPathError := GetKubesharkFolderPath()
if mizuPathError != nil { if kubesharkPathError != nil {
return "", mizuPathError return "", kubesharkPathError
} }
return path.Join(mizuFolderPath, "config.yaml"), nil return path.Join(kubesharkFolderPath, "config.yaml"), nil
} }
func GetProxyUrl(namespace string, service string) string { func GetProxyUrl(namespace string, service string) string {
@ -213,7 +213,7 @@ func DeleteKubeFile(kubeContext string, namespace string, filename string) error
} }
func getDefaultCommandArgs() []string { func getDefaultCommandArgs() []string {
agentImageValue := os.Getenv("MIZU_CI_IMAGE") agentImageValue := os.Getenv("KUBESHARK_CI_IMAGE")
setFlag := "--set" setFlag := "--set"
agentImage := fmt.Sprintf("agent-image=%s", agentImageValue) agentImage := fmt.Sprintf("agent-image=%s", agentImageValue)
imagePullPolicy := "image-pull-policy=IfNotPresent" imagePullPolicy := "image-pull-policy=IfNotPresent"
@ -244,7 +244,7 @@ func GetDefaultLogsCommandArgs() []string {
} }
func GetDefaultTapNamespace() []string { func GetDefaultTapNamespace() []string {
return []string{"-n", "mizu-tests"} return []string{"-n", "kubeshark-tests"}
} }
func GetDefaultConfigCommandArgs() []string { func GetDefaultConfigCommandArgs() []string {
@ -397,7 +397,7 @@ func GetLogsPath() (string, error) {
return "", filePathErr return "", filePathErr
} }
logsPath := path.Join(dir, "mizu_logs.zip") logsPath := path.Join(dir, "kubeshark_logs.zip")
return logsPath, nil return logsPath, nil
} }

View File

@ -1,4 +1,4 @@
module github.com/up9inc/mizu/agent module github.com/kubeshark/kubeshark/agent
go 1.17 go 1.17
@ -15,20 +15,20 @@ require (
github.com/google/uuid v1.3.0 github.com/google/uuid v1.3.0
github.com/gorilla/websocket v1.4.2 github.com/gorilla/websocket v1.4.2
github.com/jinzhu/copier v0.3.5 github.com/jinzhu/copier v0.3.5
github.com/kubeshark/kubeshark/logger v0.0.0
github.com/kubeshark/kubeshark/shared v0.0.0
github.com/kubeshark/kubeshark/tap v0.0.0
github.com/kubeshark/kubeshark/tap/api v0.0.0
github.com/kubeshark/kubeshark/tap/dbgctl v0.0.0
github.com/kubeshark/kubeshark/tap/extensions/amqp v0.0.0
github.com/kubeshark/kubeshark/tap/extensions/http v0.0.0
github.com/kubeshark/kubeshark/tap/extensions/kafka v0.0.0
github.com/kubeshark/kubeshark/tap/extensions/redis v0.0.0
github.com/nav-inc/datetime v0.1.3 github.com/nav-inc/datetime v0.1.3
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 github.com/op/go-logging v0.0.0-20160315200505-970db520ece7
github.com/orcaman/concurrent-map v1.0.0 github.com/orcaman/concurrent-map v1.0.0
github.com/stretchr/testify v1.7.0 github.com/stretchr/testify v1.7.0
github.com/up9inc/basenine/client/go v0.0.0-20220612112747-3b28eeac9c51 github.com/up9inc/basenine/client/go v0.0.0-20220612112747-3b28eeac9c51
github.com/up9inc/mizu/logger v0.0.0
github.com/up9inc/mizu/shared v0.0.0
github.com/up9inc/mizu/tap v0.0.0
github.com/up9inc/mizu/tap/api v0.0.0
github.com/up9inc/mizu/tap/dbgctl v0.0.0
github.com/up9inc/mizu/tap/extensions/amqp v0.0.0
github.com/up9inc/mizu/tap/extensions/http v0.0.0
github.com/up9inc/mizu/tap/extensions/kafka v0.0.0
github.com/up9inc/mizu/tap/extensions/redis v0.0.0
github.com/wI2L/jsondiff v0.1.1 github.com/wI2L/jsondiff v0.1.1
k8s.io/api v0.23.3 k8s.io/api v0.23.3
k8s.io/apimachinery v0.23.3 k8s.io/apimachinery v0.23.3
@ -144,20 +144,20 @@ require (
sigs.k8s.io/yaml v1.3.0 // indirect sigs.k8s.io/yaml v1.3.0 // indirect
) )
replace github.com/up9inc/mizu/logger v0.0.0 => ../logger replace github.com/kubeshark/kubeshark/logger v0.0.0 => ../logger
replace github.com/up9inc/mizu/shared v0.0.0 => ../shared replace github.com/kubeshark/kubeshark/shared v0.0.0 => ../shared
replace github.com/up9inc/mizu/tap v0.0.0 => ../tap replace github.com/kubeshark/kubeshark/tap v0.0.0 => ../tap
replace github.com/up9inc/mizu/tap/api v0.0.0 => ../tap/api replace github.com/kubeshark/kubeshark/tap/api v0.0.0 => ../tap/api
replace github.com/up9inc/mizu/tap/extensions/amqp v0.0.0 => ../tap/extensions/amqp replace github.com/kubeshark/kubeshark/tap/extensions/amqp v0.0.0 => ../tap/extensions/amqp
replace github.com/up9inc/mizu/tap/extensions/http v0.0.0 => ../tap/extensions/http replace github.com/kubeshark/kubeshark/tap/extensions/http v0.0.0 => ../tap/extensions/http
replace github.com/up9inc/mizu/tap/extensions/kafka v0.0.0 => ../tap/extensions/kafka replace github.com/kubeshark/kubeshark/tap/extensions/kafka v0.0.0 => ../tap/extensions/kafka
replace github.com/up9inc/mizu/tap/extensions/redis v0.0.0 => ../tap/extensions/redis replace github.com/kubeshark/kubeshark/tap/extensions/redis v0.0.0 => ../tap/extensions/redis
replace github.com/up9inc/mizu/tap/dbgctl v0.0.0 => ../tap/dbgctl replace github.com/kubeshark/kubeshark/tap/dbgctl v0.0.0 => ../tap/dbgctl

View File

@ -101,7 +101,6 @@ github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A=
github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM=
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=

View File

@ -17,32 +17,32 @@ import (
"github.com/gin-contrib/pprof" "github.com/gin-contrib/pprof"
"github.com/gin-contrib/static" "github.com/gin-contrib/static"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/up9inc/mizu/agent/pkg/dependency" "github.com/kubeshark/kubeshark/agent/pkg/dependency"
"github.com/up9inc/mizu/agent/pkg/entries" "github.com/kubeshark/kubeshark/agent/pkg/entries"
"github.com/up9inc/mizu/agent/pkg/middlewares" "github.com/kubeshark/kubeshark/agent/pkg/middlewares"
"github.com/up9inc/mizu/agent/pkg/models" "github.com/kubeshark/kubeshark/agent/pkg/models"
"github.com/up9inc/mizu/agent/pkg/oas" "github.com/kubeshark/kubeshark/agent/pkg/oas"
"github.com/up9inc/mizu/agent/pkg/routes" "github.com/kubeshark/kubeshark/agent/pkg/routes"
"github.com/up9inc/mizu/agent/pkg/servicemap" "github.com/kubeshark/kubeshark/agent/pkg/servicemap"
"github.com/up9inc/mizu/agent/pkg/utils" "github.com/kubeshark/kubeshark/agent/pkg/utils"
"github.com/up9inc/mizu/agent/pkg/api" "github.com/kubeshark/kubeshark/agent/pkg/api"
"github.com/up9inc/mizu/agent/pkg/app" "github.com/kubeshark/kubeshark/agent/pkg/app"
"github.com/up9inc/mizu/agent/pkg/config" "github.com/kubeshark/kubeshark/agent/pkg/config"
"github.com/gorilla/websocket" "github.com/gorilla/websocket"
"github.com/kubeshark/kubeshark/logger"
"github.com/kubeshark/kubeshark/shared"
"github.com/kubeshark/kubeshark/tap"
tapApi "github.com/kubeshark/kubeshark/tap/api"
"github.com/kubeshark/kubeshark/tap/dbgctl"
"github.com/op/go-logging" "github.com/op/go-logging"
"github.com/up9inc/mizu/logger"
"github.com/up9inc/mizu/shared"
"github.com/up9inc/mizu/tap"
tapApi "github.com/up9inc/mizu/tap/api"
"github.com/up9inc/mizu/tap/dbgctl"
) )
var tapperMode = flag.Bool("tap", false, "Run in tapper mode without API") var tapperMode = flag.Bool("tap", false, "Run in tapper mode without API")
var apiServerMode = flag.Bool("api-server", false, "Run in API server mode with API") var apiServerMode = flag.Bool("api-server", false, "Run in API server mode with API")
var standaloneMode = flag.Bool("standalone", false, "Run in standalone tapper and API mode") var standaloneMode = flag.Bool("standalone", false, "Run in standalone tapper and API mode")
var apiServerAddress = flag.String("api-server-address", "", "Address of mizu API server") var apiServerAddress = flag.String("api-server-address", "", "Address of kubeshark API server")
var namespace = flag.String("namespace", "", "Resolve IPs if they belong to resources in this namespace (default is all)") var namespace = flag.String("namespace", "", "Resolve IPs if they belong to resources in this namespace (default is all)")
var harsReaderMode = flag.Bool("hars-read", false, "Run in hars-read mode") var harsReaderMode = flag.Bool("hars-read", false, "Run in hars-read mode")
var harsDir = flag.String("hars-dir", "", "Directory to read hars from") var harsDir = flag.String("hars-dir", "", "Directory to read hars from")
@ -94,7 +94,7 @@ func hostApi(socketHarOutputChannel chan<- *tapApi.OutputChannelItem) *gin.Engin
ginApp := gin.Default() ginApp := gin.Default()
ginApp.GET("/echo", func(c *gin.Context) { ginApp.GET("/echo", func(c *gin.Context) {
c.JSON(http.StatusOK, "Here is Mizu agent") c.JSON(http.StatusOK, "Here is Kubeshark agent")
}) })
eventHandlers := api.RoutesEventHandlers{ eventHandlers := api.RoutesEventHandlers{
@ -240,7 +240,7 @@ func setUIFlags(uiIndexPath string) error {
} }
func getTrafficFilteringOptions() *tapApi.TrafficFilteringOptions { func getTrafficFilteringOptions() *tapApi.TrafficFilteringOptions {
filteringOptionsJson := os.Getenv(shared.MizuFilteringOptionsEnvVar) filteringOptionsJson := os.Getenv(shared.KubesharkFilteringOptionsEnvVar)
if filteringOptionsJson == "" { if filteringOptionsJson == "" {
return &tapApi.TrafficFilteringOptions{ return &tapApi.TrafficFilteringOptions{
IgnoredUserAgents: []string{}, IgnoredUserAgents: []string{},
@ -249,7 +249,7 @@ func getTrafficFilteringOptions() *tapApi.TrafficFilteringOptions {
var filteringOptions tapApi.TrafficFilteringOptions var filteringOptions tapApi.TrafficFilteringOptions
err := json.Unmarshal([]byte(filteringOptionsJson), &filteringOptions) err := json.Unmarshal([]byte(filteringOptionsJson), &filteringOptions)
if err != nil { if err != nil {
panic(fmt.Sprintf("env var %s's value of %s is invalid! json must match the api.TrafficFilteringOptions struct %v", shared.MizuFilteringOptionsEnvVar, filteringOptionsJson, err)) panic(fmt.Sprintf("env var %s's value of %s is invalid! json must match the api.TrafficFilteringOptions struct %v", shared.KubesharkFilteringOptionsEnvVar, filteringOptionsJson, err))
} }
return &filteringOptions return &filteringOptions
@ -271,7 +271,7 @@ func pipeTapChannelToSocket(connection *websocket.Conn, messageDataChannel <-cha
continue continue
} }
if dbgctl.MizuTapperDisableSending { if dbgctl.KubesharkTapperDisableSending {
continue continue
} }

View File

@ -3,9 +3,9 @@ package api
import ( import (
"fmt" "fmt"
"github.com/kubeshark/kubeshark/agent/pkg/models"
tapApi "github.com/kubeshark/kubeshark/tap/api"
basenine "github.com/up9inc/basenine/client/go" basenine "github.com/up9inc/basenine/client/go"
"github.com/up9inc/mizu/agent/pkg/models"
tapApi "github.com/up9inc/mizu/tap/api"
) )
type EntryStreamerSocketConnector interface { type EntryStreamerSocketConnector interface {

View File

@ -11,19 +11,19 @@ import (
"strings" "strings"
"time" "time"
"github.com/up9inc/mizu/agent/pkg/dependency" "github.com/kubeshark/kubeshark/agent/pkg/dependency"
"github.com/up9inc/mizu/agent/pkg/oas" "github.com/kubeshark/kubeshark/agent/pkg/oas"
"github.com/up9inc/mizu/agent/pkg/servicemap" "github.com/kubeshark/kubeshark/agent/pkg/servicemap"
"github.com/up9inc/mizu/agent/pkg/har" "github.com/kubeshark/kubeshark/agent/pkg/har"
"github.com/up9inc/mizu/agent/pkg/holder" "github.com/kubeshark/kubeshark/agent/pkg/holder"
"github.com/up9inc/mizu/agent/pkg/providers" "github.com/kubeshark/kubeshark/agent/pkg/providers"
"github.com/up9inc/mizu/agent/pkg/resolver" "github.com/kubeshark/kubeshark/agent/pkg/resolver"
"github.com/up9inc/mizu/agent/pkg/utils" "github.com/kubeshark/kubeshark/agent/pkg/utils"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
tapApi "github.com/up9inc/mizu/tap/api" tapApi "github.com/kubeshark/kubeshark/tap/api"
) )
var k8sResolver *resolver.Resolver var k8sResolver *resolver.Resolver
@ -106,27 +106,27 @@ func startReadingChannel(outputItems <-chan *tapApi.OutputChannelItem, extension
namespace = item.Namespace namespace = item.Namespace
} }
mizuEntry := extension.Dissector.Analyze(item, resolvedSource, resolvedDestination, namespace) kubesharkEntry := extension.Dissector.Analyze(item, resolvedSource, resolvedDestination, namespace)
data, err := json.Marshal(mizuEntry) data, err := json.Marshal(kubesharkEntry)
if err != nil { if err != nil {
logger.Log.Errorf("Error while marshaling entry: %v", err) logger.Log.Errorf("Error while marshaling entry: %v", err)
continue continue
} }
entryInserter := dependency.GetInstance(dependency.EntriesInserter).(EntryInserter) entryInserter := dependency.GetInstance(dependency.EntriesInserter).(EntryInserter)
if err := entryInserter.Insert(mizuEntry); err != nil { if err := entryInserter.Insert(kubesharkEntry); err != nil {
logger.Log.Errorf("Error inserting entry, err: %v", err) logger.Log.Errorf("Error inserting entry, err: %v", err)
} }
summary := extension.Dissector.Summarize(mizuEntry) summary := extension.Dissector.Summarize(kubesharkEntry)
providers.EntryAdded(len(data), summary) providers.EntryAdded(len(data), summary)
serviceMapGenerator := dependency.GetInstance(dependency.ServiceMapGeneratorDependency).(servicemap.ServiceMapSink) serviceMapGenerator := dependency.GetInstance(dependency.ServiceMapGeneratorDependency).(servicemap.ServiceMapSink)
serviceMapGenerator.NewTCPEntry(mizuEntry.Source, mizuEntry.Destination, &item.Protocol) serviceMapGenerator.NewTCPEntry(kubesharkEntry.Source, kubesharkEntry.Destination, &item.Protocol)
oasGenerator := dependency.GetInstance(dependency.OasGeneratorDependency).(oas.OasGeneratorSink) oasGenerator := dependency.GetInstance(dependency.OasGeneratorDependency).(oas.OasGeneratorSink)
oasGenerator.HandleEntry(mizuEntry) oasGenerator.HandleEntry(kubesharkEntry)
} }
} }

View File

@ -3,12 +3,13 @@ package api
import ( import (
"encoding/json" "encoding/json"
"fmt" "fmt"
basenine "github.com/up9inc/basenine/client/go"
"github.com/up9inc/mizu/logger"
"github.com/up9inc/mizu/shared"
"github.com/up9inc/mizu/tap/api"
"sync" "sync"
"time" "time"
"github.com/kubeshark/kubeshark/logger"
"github.com/kubeshark/kubeshark/shared"
"github.com/kubeshark/kubeshark/tap/api"
basenine "github.com/up9inc/basenine/client/go"
) )
type EntryInserter interface { type EntryInserter interface {
@ -50,7 +51,7 @@ func (e *BasenineEntryInserter) Insert(entry *api.Entry) error {
return nil return nil
} }
func initializeConnection() *basenine.Connection{ func initializeConnection() *basenine.Connection {
for { for {
connection, err := basenine.NewConnection(shared.BasenineHost, shared.BaseninePort) connection, err := basenine.NewConnection(shared.BasenineHost, shared.BaseninePort)
if err != nil { if err != nil {

View File

@ -5,11 +5,11 @@ import (
"encoding/json" "encoding/json"
"time" "time"
"github.com/kubeshark/kubeshark/agent/pkg/dependency"
"github.com/kubeshark/kubeshark/logger"
"github.com/kubeshark/kubeshark/shared"
tapApi "github.com/kubeshark/kubeshark/tap/api"
basenine "github.com/up9inc/basenine/client/go" basenine "github.com/up9inc/basenine/client/go"
"github.com/up9inc/mizu/agent/pkg/dependency"
"github.com/up9inc/mizu/logger"
"github.com/up9inc/mizu/shared"
tapApi "github.com/up9inc/mizu/tap/api"
) )
type EntryStreamer interface { type EntryStreamer interface {

View File

@ -8,10 +8,10 @@ import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/gorilla/websocket" "github.com/gorilla/websocket"
"github.com/up9inc/mizu/agent/pkg/models" "github.com/kubeshark/kubeshark/agent/pkg/models"
"github.com/up9inc/mizu/agent/pkg/utils" "github.com/kubeshark/kubeshark/agent/pkg/utils"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
tapApi "github.com/up9inc/mizu/tap/api" tapApi "github.com/kubeshark/kubeshark/tap/api"
) )
var ( var (

View File

@ -6,15 +6,15 @@ import (
"sync" "sync"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/up9inc/mizu/agent/pkg/dependency" "github.com/kubeshark/kubeshark/agent/pkg/dependency"
"github.com/up9inc/mizu/agent/pkg/models" "github.com/kubeshark/kubeshark/agent/pkg/models"
"github.com/up9inc/mizu/agent/pkg/providers/tappedPods" "github.com/kubeshark/kubeshark/agent/pkg/providers/tappedPods"
"github.com/up9inc/mizu/agent/pkg/providers/tappers" "github.com/kubeshark/kubeshark/agent/pkg/providers/tappers"
tapApi "github.com/up9inc/mizu/tap/api" tapApi "github.com/kubeshark/kubeshark/tap/api"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
"github.com/up9inc/mizu/shared" "github.com/kubeshark/kubeshark/shared"
) )
type BrowserClient struct { type BrowserClient struct {

View File

@ -3,9 +3,9 @@ package api
import ( import (
"encoding/json" "encoding/json"
"github.com/up9inc/mizu/agent/pkg/providers/tappedPods" "github.com/kubeshark/kubeshark/agent/pkg/providers/tappedPods"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
"github.com/up9inc/mizu/shared" "github.com/kubeshark/kubeshark/shared"
) )
func BroadcastTappedPodsStatus() { func BroadcastTappedPodsStatus() {

View File

@ -6,18 +6,18 @@ import (
"time" "time"
"github.com/antelman107/net-wait-go/wait" "github.com/antelman107/net-wait-go/wait"
"github.com/kubeshark/kubeshark/agent/pkg/api"
"github.com/kubeshark/kubeshark/agent/pkg/providers"
"github.com/kubeshark/kubeshark/agent/pkg/utils"
"github.com/kubeshark/kubeshark/logger"
tapApi "github.com/kubeshark/kubeshark/tap/api"
"github.com/kubeshark/kubeshark/tap/dbgctl"
amqpExt "github.com/kubeshark/kubeshark/tap/extensions/amqp"
httpExt "github.com/kubeshark/kubeshark/tap/extensions/http"
kafkaExt "github.com/kubeshark/kubeshark/tap/extensions/kafka"
redisExt "github.com/kubeshark/kubeshark/tap/extensions/redis"
"github.com/op/go-logging" "github.com/op/go-logging"
basenine "github.com/up9inc/basenine/client/go" basenine "github.com/up9inc/basenine/client/go"
"github.com/up9inc/mizu/agent/pkg/api"
"github.com/up9inc/mizu/agent/pkg/providers"
"github.com/up9inc/mizu/agent/pkg/utils"
"github.com/up9inc/mizu/logger"
tapApi "github.com/up9inc/mizu/tap/api"
"github.com/up9inc/mizu/tap/dbgctl"
amqpExt "github.com/up9inc/mizu/tap/extensions/amqp"
httpExt "github.com/up9inc/mizu/tap/extensions/http"
kafkaExt "github.com/up9inc/mizu/tap/extensions/kafka"
redisExt "github.com/up9inc/mizu/tap/extensions/redis"
) )
var ( var (
@ -42,7 +42,7 @@ func LoadExtensions() {
ProtocolsMap[k] = v ProtocolsMap[k] = v
} }
if !dbgctl.MizuTapperDisableNonHttpExtensions { if !dbgctl.KubesharkTapperDisableNonHttpExtensions {
extensionAmqp := &tapApi.Extension{} extensionAmqp := &tapApi.Extension{}
dissectorAmqp := amqpExt.NewDissector() dissectorAmqp := amqpExt.NewDissector()
dissectorAmqp.Register(extensionAmqp) dissectorAmqp.Register(extensionAmqp)

View File

@ -3,9 +3,10 @@ package config
import ( import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"github.com/up9inc/mizu/shared"
"io/ioutil" "io/ioutil"
"os" "os"
"github.com/kubeshark/kubeshark/shared"
) )
// these values are used when the config.json file is not present // these values are used when the config.json file is not present
@ -14,7 +15,7 @@ const (
DefaultDatabasePath string = "./entries" DefaultDatabasePath string = "./entries"
) )
var Config *shared.MizuAgentConfig var Config *shared.KubesharkAgentConfig
func LoadConfig() error { func LoadConfig() error {
if Config != nil { if Config != nil {
@ -45,8 +46,8 @@ func applyDefaultConfig() error {
return nil return nil
} }
func getDefaultConfig() (*shared.MizuAgentConfig, error) { func getDefaultConfig() (*shared.KubesharkAgentConfig, error) {
return &shared.MizuAgentConfig{ return &shared.KubesharkAgentConfig{
MaxDBSizeBytes: defaultMaxDatabaseSizeBytes, MaxDBSizeBytes: defaultMaxDatabaseSizeBytes,
AgentDatabasePath: DefaultDatabasePath, AgentDatabasePath: DefaultDatabasePath,
}, nil }, nil

View File

@ -4,10 +4,10 @@ import (
"net/http" "net/http"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/kubeshark/kubeshark/agent/pkg/app"
"github.com/kubeshark/kubeshark/agent/pkg/config"
"github.com/kubeshark/kubeshark/shared"
basenine "github.com/up9inc/basenine/client/go" basenine "github.com/up9inc/basenine/client/go"
"github.com/up9inc/mizu/agent/pkg/app"
"github.com/up9inc/mizu/agent/pkg/config"
"github.com/up9inc/mizu/shared"
) )
func Flush(c *gin.Context) { func Flush(c *gin.Context) {

View File

@ -3,14 +3,14 @@ package controllers
import ( import (
"net/http" "net/http"
"github.com/up9inc/mizu/agent/pkg/dependency" "github.com/kubeshark/kubeshark/agent/pkg/dependency"
"github.com/up9inc/mizu/agent/pkg/entries" "github.com/kubeshark/kubeshark/agent/pkg/entries"
"github.com/up9inc/mizu/agent/pkg/models" "github.com/kubeshark/kubeshark/agent/pkg/models"
"github.com/up9inc/mizu/agent/pkg/validation" "github.com/kubeshark/kubeshark/agent/pkg/validation"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
) )
func HandleEntriesError(c *gin.Context, err error) bool { func HandleEntriesError(c *gin.Context, err error) bool {

View File

@ -4,8 +4,8 @@ import (
"net/http" "net/http"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/up9inc/mizu/agent/pkg/version" "github.com/kubeshark/kubeshark/agent/pkg/version"
"github.com/up9inc/mizu/shared" "github.com/kubeshark/kubeshark/shared"
) )
func GetVersion(c *gin.Context) { func GetVersion(c *gin.Context) {

View File

@ -5,9 +5,9 @@ import (
"github.com/chanced/openapi" "github.com/chanced/openapi"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/up9inc/mizu/agent/pkg/dependency" "github.com/kubeshark/kubeshark/agent/pkg/dependency"
"github.com/up9inc/mizu/agent/pkg/oas" "github.com/kubeshark/kubeshark/agent/pkg/oas"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
) )
func GetOASServers(c *gin.Context) { func GetOASServers(c *gin.Context) {

View File

@ -5,8 +5,8 @@ import (
"testing" "testing"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/up9inc/mizu/agent/pkg/dependency" "github.com/kubeshark/kubeshark/agent/pkg/dependency"
"github.com/up9inc/mizu/agent/pkg/oas" "github.com/kubeshark/kubeshark/agent/pkg/oas"
) )
func TestGetOASServers(t *testing.T) { func TestGetOASServers(t *testing.T) {

View File

@ -4,8 +4,8 @@ import (
"net/http" "net/http"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/kubeshark/kubeshark/shared"
basenine "github.com/up9inc/basenine/client/go" basenine "github.com/up9inc/basenine/client/go"
"github.com/up9inc/mizu/shared"
) )
type ValidateResponse struct { type ValidateResponse struct {

View File

@ -5,9 +5,9 @@ import (
"time" "time"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/up9inc/mizu/agent/pkg/replay" "github.com/kubeshark/kubeshark/agent/pkg/replay"
"github.com/up9inc/mizu/agent/pkg/validation" "github.com/kubeshark/kubeshark/agent/pkg/validation"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
) )
const ( const (

View File

@ -3,8 +3,8 @@ package controllers
import ( import (
"net/http" "net/http"
"github.com/up9inc/mizu/agent/pkg/dependency" "github.com/kubeshark/kubeshark/agent/pkg/dependency"
"github.com/up9inc/mizu/agent/pkg/servicemap" "github.com/kubeshark/kubeshark/agent/pkg/servicemap"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )

View File

@ -7,12 +7,12 @@ import (
"net/http/httptest" "net/http/httptest"
"testing" "testing"
"github.com/up9inc/mizu/agent/pkg/dependency" "github.com/kubeshark/kubeshark/agent/pkg/dependency"
"github.com/up9inc/mizu/agent/pkg/servicemap" "github.com/kubeshark/kubeshark/agent/pkg/servicemap"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
tapApi "github.com/kubeshark/kubeshark/tap/api"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
tapApi "github.com/up9inc/mizu/tap/api"
) )
const ( const (
@ -43,7 +43,7 @@ var ProtocolHttp = &tapApi.Protocol{
}, },
LongName: "Hypertext Transfer Protocol -- HTTP/1.1", LongName: "Hypertext Transfer Protocol -- HTTP/1.1",
Macro: "http", Macro: "http",
BackgroundColor: "#205cf5", BackgroundColor: "#326de6",
ForegroundColor: "#ffffff", ForegroundColor: "#ffffff",
FontSize: 12, FontSize: 12,
ReferenceLink: "https://datatracker.ietf.org/doc/html/rfc2616", ReferenceLink: "https://datatracker.ietf.org/doc/html/rfc2616",

View File

@ -9,15 +9,15 @@ import (
core "k8s.io/api/core/v1" core "k8s.io/api/core/v1"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/up9inc/mizu/agent/pkg/api" "github.com/kubeshark/kubeshark/agent/pkg/api"
"github.com/up9inc/mizu/agent/pkg/holder" "github.com/kubeshark/kubeshark/agent/pkg/holder"
"github.com/up9inc/mizu/agent/pkg/providers" "github.com/kubeshark/kubeshark/agent/pkg/providers"
"github.com/up9inc/mizu/agent/pkg/providers/tappedPods" "github.com/kubeshark/kubeshark/agent/pkg/providers/tappedPods"
"github.com/up9inc/mizu/agent/pkg/providers/tappers" "github.com/kubeshark/kubeshark/agent/pkg/providers/tappers"
"github.com/up9inc/mizu/agent/pkg/validation" "github.com/kubeshark/kubeshark/agent/pkg/validation"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
"github.com/up9inc/mizu/shared" "github.com/kubeshark/kubeshark/shared"
"github.com/up9inc/mizu/shared/kubernetes" "github.com/kubeshark/kubeshark/shared/kubernetes"
) )
func HealthCheck(c *gin.Context) { func HealthCheck(c *gin.Context) {

View File

@ -6,12 +6,12 @@ import (
"fmt" "fmt"
"time" "time"
"github.com/kubeshark/kubeshark/agent/pkg/app"
"github.com/kubeshark/kubeshark/agent/pkg/models"
"github.com/kubeshark/kubeshark/logger"
"github.com/kubeshark/kubeshark/shared"
tapApi "github.com/kubeshark/kubeshark/tap/api"
basenine "github.com/up9inc/basenine/client/go" basenine "github.com/up9inc/basenine/client/go"
"github.com/up9inc/mizu/agent/pkg/app"
"github.com/up9inc/mizu/agent/pkg/models"
"github.com/up9inc/mizu/logger"
"github.com/up9inc/mizu/shared"
tapApi "github.com/up9inc/mizu/tap/api"
) )
type EntriesProvider interface { type EntriesProvider interface {

View File

@ -5,7 +5,7 @@ import (
"time" "time"
"unicode/utf8" "unicode/utf8"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
) )
/* /*

View File

@ -8,7 +8,7 @@ import (
"strings" "strings"
"time" "time"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
) )
func BuildHeaders(rawHeaders map[string]interface{}) ([]Header, string, string, string, string, string) { func BuildHeaders(rawHeaders map[string]interface{}) ([]Header, string, string, string, string, string) {

View File

@ -1,6 +1,6 @@
package holder package holder
import "github.com/up9inc/mizu/agent/pkg/resolver" import "github.com/kubeshark/kubeshark/agent/pkg/resolver"
var k8sResolver *resolver.Resolver var k8sResolver *resolver.Resolver

View File

@ -3,11 +3,11 @@ package models
import ( import (
"encoding/json" "encoding/json"
"github.com/up9inc/mizu/agent/pkg/har" "github.com/kubeshark/kubeshark/agent/pkg/har"
tapApi "github.com/up9inc/mizu/tap/api" tapApi "github.com/kubeshark/kubeshark/tap/api"
"github.com/kubeshark/kubeshark/shared"
basenine "github.com/up9inc/basenine/client/go" basenine "github.com/up9inc/basenine/client/go"
"github.com/up9inc/mizu/shared"
) )
type EntriesRequest struct { type EntriesRequest struct {

View File

@ -2,9 +2,10 @@ package oas
import ( import (
"fmt" "fmt"
"github.com/chanced/openapi"
"math" "math"
"strings" "strings"
"github.com/chanced/openapi"
) )
type Counter struct { type Counter struct {
@ -66,8 +67,8 @@ func (m *CounterMap) addOther(other *CounterMap) {
} }
func setCounterMsgIfOk(oldStr string, cnt *Counter) string { func setCounterMsgIfOk(oldStr string, cnt *Counter) string {
tpl := "Mizu observed %d entries (%d failed), at %.3f hits/s, average response time is %.3f seconds" tpl := "Kubeshark observed %d entries (%d failed), at %.3f hits/s, average response time is %.3f seconds"
if oldStr == "" || (strings.HasPrefix(oldStr, "Mizu ") && strings.HasSuffix(oldStr, " seconds")) { if oldStr == "" || (strings.HasPrefix(oldStr, "Kubeshark ") && strings.HasSuffix(oldStr, " seconds")) {
return fmt.Sprintf(tpl, cnt.Entries, cnt.Failures, cnt.SumDuration/float64(cnt.Entries), cnt.SumRT/float64(cnt.Entries)) return fmt.Sprintf(tpl, cnt.Entries, cnt.Failures, cnt.SumDuration/float64(cnt.Entries), cnt.SumRT/float64(cnt.Entries))
} }
return oldStr return oldStr

View File

@ -14,9 +14,9 @@ import (
"strings" "strings"
"testing" "testing"
"github.com/up9inc/mizu/agent/pkg/har" "github.com/kubeshark/kubeshark/agent/pkg/har"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
) )
func getFiles(baseDir string) (result []string, err error) { func getFiles(baseDir string) (result []string, err error) {

View File

@ -24,7 +24,7 @@ var ignoredHeaders = []string{
"keep-alive", "etag", "alt-svc", "x-csrf-token", "x-ua-compatible", "vary", "x-powered-by", "keep-alive", "etag", "alt-svc", "x-csrf-token", "x-ua-compatible", "vary", "x-powered-by",
"age", "allow", "www-authenticate", "expect-ct", "timing-allow-origin", "referrer-policy", "age", "allow", "www-authenticate", "expect-ct", "timing-allow-origin", "referrer-policy",
"x-aspnet-version", "x-aspnetmvc-version", "x-timer", "x-abuse-info", "x-mod-pagespeed", "x-aspnet-version", "x-aspnetmvc-version", "x-timer", "x-abuse-info", "x-mod-pagespeed",
"duration_ms", // UP9 custom "duration_ms",
} }
var ignoredHeaderPrefixes = []string{ var ignoredHeaderPrefixes = []string{

View File

@ -2,7 +2,7 @@
"openapi": "3.1.0", "openapi": "3.1.0",
"info": { "info": {
"title": "http://carts", "title": "http://carts",
"description": "Mizu observed 3 entries (0 failed), at 2.287 hits/s, average response time is 0.017 seconds", "description": "Kubeshark observed 3 entries (0 failed), at 2.287 hits/s, average response time is 0.017 seconds",
"version": "1.0" "version": "1.0"
}, },
"servers": [ "servers": [
@ -14,7 +14,7 @@
"/carts/{cartId}/items": { "/carts/{cartId}/items": {
"get": { "get": {
"summary": "/carts/{cartId}/items", "summary": "/carts/{cartId}/items",
"description": "Mizu observed 3 entries (0 failed), at 2.287 hits/s, average response time is 0.017 seconds", "description": "Kubeshark observed 3 entries (0 failed), at 2.287 hits/s, average response time is 0.017 seconds",
"operationId": "84c9b926-1f73-4ab4-b381-3c124528959f", "operationId": "84c9b926-1f73-4ab4-b381-3c124528959f",
"responses": { "responses": {
"200": { "200": {
@ -93,4 +93,4 @@
"sumRT": 0.05, "sumRT": 0.05,
"sumDuration": 6.859940528869629 "sumDuration": 6.859940528869629
} }
} }

View File

@ -12,7 +12,7 @@
"catalogue" "catalogue"
], ],
"summary": "/catalogue", "summary": "/catalogue",
"description": "Mizu observed 3 entries (0 failed), at 2.647 hits/s, average response time is 0.008 seconds", "description": "Kubeshark observed 3 entries (0 failed), at 2.647 hits/s, average response time is 0.008 seconds",
"operationId": "dd6c3dbe-6b6b-4ddd-baed-757e237ddb8a", "operationId": "dd6c3dbe-6b6b-4ddd-baed-757e237ddb8a",
"parameters": [ "parameters": [
{ {
@ -221,7 +221,7 @@
"catalogue" "catalogue"
], ],
"summary": "/catalogue/size", "summary": "/catalogue/size",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.013 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.013 seconds",
"operationId": "2315e69d-9d66-48cf-b3d3-fec9c30bd28b", "operationId": "2315e69d-9d66-48cf-b3d3-fec9c30bd28b",
"parameters": [ "parameters": [
{ {
@ -298,7 +298,7 @@
"catalogue" "catalogue"
], ],
"summary": "/catalogue/{id}", "summary": "/catalogue/{id}",
"description": "Mizu observed 4 entries (0 failed), at 1.899 hits/s, average response time is 0.003 seconds", "description": "Kubeshark observed 4 entries (0 failed), at 1.899 hits/s, average response time is 0.003 seconds",
"parameters": [ "parameters": [
{ {
"name": "non-required-header", "name": "non-required-header",
@ -412,7 +412,7 @@
"/tags": { "/tags": {
"get": { "get": {
"summary": "/tags", "summary": "/tags",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.007 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.007 seconds",
"operationId": "c4d7d0ed-1a78-4370-a049-efe3abc631a6", "operationId": "c4d7d0ed-1a78-4370-a049-efe3abc631a6",
"responses": { "responses": {
"200": { "200": {
@ -482,4 +482,4 @@
"sumRT": 0.05899999999999999, "sumRT": 0.05899999999999999,
"sumDuration": 15.538749694824219 "sumDuration": 15.538749694824219
} }
} }

View File

@ -2,7 +2,7 @@
"openapi": "3.1.0", "openapi": "3.1.0",
"info": { "info": {
"title": "https://httpbin.org", "title": "https://httpbin.org",
"description": "Mizu observed 19 entries (0 failed), at 0.106 hits/s, average response time is 0.172 seconds", "description": "Kubeshark observed 19 entries (0 failed), at 0.106 hits/s, average response time is 0.172 seconds",
"version": "1.0" "version": "1.0"
}, },
"servers": [ "servers": [
@ -14,7 +14,7 @@
"/appears-once": { "/appears-once": {
"get": { "get": {
"summary": "/appears-once", "summary": "/appears-once",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.630 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.630 seconds",
"operationId": "2d34623e-fde8-4720-8390-9a7439051755", "operationId": "2d34623e-fde8-4720-8390-9a7439051755",
"responses": { "responses": {
"200": { "200": {
@ -53,7 +53,7 @@
"/appears-twice": { "/appears-twice": {
"get": { "get": {
"summary": "/appears-twice", "summary": "/appears-twice",
"description": "Mizu observed 2 entries (0 failed), at 0.500 hits/s, average response time is 0.630 seconds", "description": "Kubeshark observed 2 entries (0 failed), at 0.500 hits/s, average response time is 0.630 seconds",
"operationId": "9c5330f3-8062-468b-b5a3-df1ad82b4846", "operationId": "9c5330f3-8062-468b-b5a3-df1ad82b4846",
"responses": { "responses": {
"200": { "200": {
@ -92,7 +92,7 @@
"/body-optional": { "/body-optional": {
"post": { "post": {
"summary": "/body-optional", "summary": "/body-optional",
"description": "Mizu observed 3 entries (0 failed), at 0.003 hits/s, average response time is 0.001 seconds", "description": "Kubeshark observed 3 entries (0 failed), at 0.003 hits/s, average response time is 0.001 seconds",
"operationId": "34f3d66c-b1f7-4dca-9cab-987fcc8ae472", "operationId": "34f3d66c-b1f7-4dca-9cab-987fcc8ae472",
"responses": { "responses": {
"200": { "200": {
@ -140,7 +140,7 @@
"/body-required": { "/body-required": {
"post": { "post": {
"summary": "/body-required", "summary": "/body-required",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds",
"operationId": "ff6add53-ab1c-4d4e-b590-0835fa318276", "operationId": "ff6add53-ab1c-4d4e-b590-0835fa318276",
"responses": { "responses": {
"200": { "200": {
@ -189,7 +189,7 @@
"/form-multipart": { "/form-multipart": {
"post": { "post": {
"summary": "/form-multipart", "summary": "/form-multipart",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds",
"operationId": "153f0925-9fc7-4e9f-9d33-f1470f25f0f7", "operationId": "153f0925-9fc7-4e9f-9d33-f1470f25f0f7",
"responses": { "responses": {
"200": { "200": {
@ -261,7 +261,7 @@
"/form-urlencoded": { "/form-urlencoded": {
"post": { "post": {
"summary": "/form-urlencoded", "summary": "/form-urlencoded",
"description": "Mizu observed 2 entries (0 failed), at 0.500 hits/s, average response time is 0.001 seconds", "description": "Kubeshark observed 2 entries (0 failed), at 0.500 hits/s, average response time is 0.001 seconds",
"operationId": "c92189f5-5636-46eb-ac71-92b17941a568", "operationId": "c92189f5-5636-46eb-ac71-92b17941a568",
"responses": { "responses": {
"200": { "200": {
@ -348,7 +348,7 @@
"param-patterns" "param-patterns"
], ],
"summary": "/param-patterns/prefix-gibberish-fine/{prefixgibberishfineId}", "summary": "/param-patterns/prefix-gibberish-fine/{prefixgibberishfineId}",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds",
"operationId": "85270437-7aae-4a5b-b988-3662092463d0", "operationId": "85270437-7aae-4a5b-b988-3662092463d0",
"responses": { "responses": {
"200": { "200": {
@ -406,7 +406,7 @@
"param-patterns" "param-patterns"
], ],
"summary": "/param-patterns/{parampatternId}", "summary": "/param-patterns/{parampatternId}",
"description": "Mizu observed 2 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds", "description": "Kubeshark observed 2 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds",
"operationId": "da597734-1cf5-4d3b-917b-6b02dacf7b7b", "operationId": "da597734-1cf5-4d3b-917b-6b02dacf7b7b",
"responses": { "responses": {
"200": { "200": {
@ -477,7 +477,7 @@
"param-patterns" "param-patterns"
], ],
"summary": "/param-patterns/{parampatternId}/1", "summary": "/param-patterns/{parampatternId}/1",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds",
"operationId": "e965a245-9cfc-48ed-94e1-f765eadb3960", "operationId": "e965a245-9cfc-48ed-94e1-f765eadb3960",
"responses": { "responses": {
"200": { "200": {
@ -548,7 +548,7 @@
"param-patterns" "param-patterns"
], ],
"summary": "/param-patterns/{parampatternId}/static", "summary": "/param-patterns/{parampatternId}/static",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds",
"operationId": "7af420dc-f8b7-450f-8f6f-18b039aa3cde", "operationId": "7af420dc-f8b7-450f-8f6f-18b039aa3cde",
"responses": { "responses": {
"200": { "200": {
@ -619,7 +619,7 @@
"param-patterns" "param-patterns"
], ],
"summary": "/param-patterns/{parampatternId}/{param1}", "summary": "/param-patterns/{parampatternId}/{param1}",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds",
"operationId": "02a1771d-2d50-4a8c-8be2-29c7e59b8435", "operationId": "02a1771d-2d50-4a8c-8be2-29c7e59b8435",
"responses": { "responses": {
"200": { "200": {
@ -702,7 +702,7 @@
"/{Id}": { "/{Id}": {
"get": { "get": {
"summary": "/{Id}", "summary": "/{Id}",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.630 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.630 seconds",
"operationId": "77ec4910-d47a-46a5-8234-fb80a11034b4", "operationId": "77ec4910-d47a-46a5-8234-fb80a11034b4",
"responses": { "responses": {
"200": { "200": {
@ -761,7 +761,7 @@
"/{Id}/sub1": { "/{Id}/sub1": {
"get": { "get": {
"summary": "/{Id}/sub1", "summary": "/{Id}/sub1",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.111 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.111 seconds",
"operationId": "198675eb-9faf-407b-83fa-0483a730bbbe", "operationId": "198675eb-9faf-407b-83fa-0483a730bbbe",
"responses": { "responses": {
"200": { "200": {
@ -819,7 +819,7 @@
"/{Id}/sub2": { "/{Id}/sub2": {
"get": { "get": {
"summary": "/{Id}/sub2", "summary": "/{Id}/sub2",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.630 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.630 seconds",
"operationId": "31d880f1-152f-4dd6-84a7-463e13b694a5", "operationId": "31d880f1-152f-4dd6-84a7-463e13b694a5",
"responses": { "responses": {
"200": { "200": {
@ -894,4 +894,4 @@
"sumRT": 3.273999999999999, "sumRT": 3.273999999999999,
"sumDuration": 2.0100011825561523 "sumDuration": 2.0100011825561523
} }
} }

View File

@ -9,7 +9,7 @@
"/hc": { "/hc": {
"get": { "get": {
"summary": "/hc", "summary": "/hc",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds",
"operationId": "c9fdb168-cd8a-48d2-ac37-887ddadb810c", "operationId": "c9fdb168-cd8a-48d2-ac37-887ddadb810c",
"responses": { "responses": {
"200": { "200": {
@ -51,7 +51,7 @@
"models" "models"
], ],
"summary": "/models/aaa/blacklist", "summary": "/models/aaa/blacklist",
"description": "Mizu observed 2 entries (0 failed), at 0.420 hits/s, average response time is 0.002 seconds", "description": "Kubeshark observed 2 entries (0 failed), at 0.420 hits/s, average response time is 0.002 seconds",
"operationId": "aa04b7c2-11fc-49bd-86b5-fec0a336216d", "operationId": "aa04b7c2-11fc-49bd-86b5-fec0a336216d",
"responses": { "responses": {
"200": { "200": {
@ -93,7 +93,7 @@
"models" "models"
], ],
"summary": "/models/andrey2/blacklist", "summary": "/models/andrey2/blacklist",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds",
"operationId": "a61a1b56-7205-4246-99de-baec013a53d9", "operationId": "a61a1b56-7205-4246-99de-baec013a53d9",
"responses": { "responses": {
"200": { "200": {
@ -135,7 +135,7 @@
"models" "models"
], ],
"summary": "/models/default/blacklist", "summary": "/models/default/blacklist",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds",
"operationId": "371ca033-3863-4546-bc7e-03b291a7a188", "operationId": "371ca033-3863-4546-bc7e-03b291a7a188",
"responses": { "responses": {
"200": { "200": {
@ -177,7 +177,7 @@
"models" "models"
], ],
"summary": "/models/roee/blacklist", "summary": "/models/roee/blacklist",
"description": "Mizu observed 2 entries (0 failed), at 0.211 hits/s, average response time is 0.001 seconds", "description": "Kubeshark observed 2 entries (0 failed), at 0.211 hits/s, average response time is 0.001 seconds",
"operationId": "fba33b70-58d1-43e4-9223-38e854e78a77", "operationId": "fba33b70-58d1-43e4-9223-38e854e78a77",
"responses": { "responses": {
"200": { "200": {
@ -219,7 +219,7 @@
"models" "models"
], ],
"summary": "/models/roee/status", "summary": "/models/roee/status",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.001 seconds",
"operationId": "0653c2af-ef3f-43cd-b7e1-48f951d34fa2", "operationId": "0653c2af-ef3f-43cd-b7e1-48f951d34fa2",
"responses": { "responses": {
"200": { "200": {
@ -298,7 +298,7 @@
"models" "models"
], ],
"summary": "/models/{id}/blacklist", "summary": "/models/{id}/blacklist",
"description": "Mizu observed 39 entries (0 failed), at 0.078 hits/s, average response time is 0.001 seconds", "description": "Kubeshark observed 39 entries (0 failed), at 0.078 hits/s, average response time is 0.001 seconds",
"operationId": "ce1b76bc-9bff-4438-a21d-0a7a6e5be503", "operationId": "ce1b76bc-9bff-4438-a21d-0a7a6e5be503",
"responses": { "responses": {
"200": { "200": {
@ -371,7 +371,7 @@
"models" "models"
], ],
"summary": "/models/{id}/status", "summary": "/models/{id}/status",
"description": "Mizu observed 7 entries (0 failed), at 0.543 hits/s, average response time is 0.193 seconds", "description": "Kubeshark observed 7 entries (0 failed), at 0.543 hits/s, average response time is 0.193 seconds",
"operationId": "2c46cc41-1ec7-4636-b97e-13e4a7296c65", "operationId": "2c46cc41-1ec7-4636-b97e-13e4a7296c65",
"responses": { "responses": {
"200": { "200": {
@ -444,7 +444,7 @@
"models" "models"
], ],
"summary": "/models/{id}/suites/all/runs", "summary": "/models/{id}/suites/all/runs",
"description": "Mizu observed 69 entries (0 failed), at 0.093 hits/s, average response time is 0.029 seconds", "description": "Kubeshark observed 69 entries (0 failed), at 0.093 hits/s, average response time is 0.029 seconds",
"operationId": "6776caf3-87e7-4515-899d-4d4d6cfc0bb8", "operationId": "6776caf3-87e7-4515-899d-4d4d6cfc0bb8",
"responses": { "responses": {
"200": { "200": {
@ -520,7 +520,7 @@
"models" "models"
], ],
"summary": "/models/{id}/suites/all/runs/state", "summary": "/models/{id}/suites/all/runs/state",
"description": "Mizu observed 2 entries (0 failed), at 0.997 hits/s, average response time is 0.514 seconds", "description": "Kubeshark observed 2 entries (0 failed), at 0.997 hits/s, average response time is 0.514 seconds",
"operationId": "fe8186fa-b221-46e1-8130-9be1f00a7c2d", "operationId": "fe8186fa-b221-46e1-8130-9be1f00a7c2d",
"responses": { "responses": {
"200": { "200": {
@ -622,7 +622,7 @@
"proxies" "proxies"
], ],
"summary": "/proxies", "summary": "/proxies",
"description": "Mizu observed 2 entries (0 failed), at 1.587 hits/s, average response time is 0.386 seconds", "description": "Kubeshark observed 2 entries (0 failed), at 1.587 hits/s, average response time is 0.386 seconds",
"operationId": "bff7bf3e-effa-43ad-8fce-bab2847a77aa", "operationId": "bff7bf3e-effa-43ad-8fce-bab2847a77aa",
"responses": { "responses": {
"200": { "200": {
@ -674,7 +674,7 @@
"proxies" "proxies"
], ],
"summary": "/proxies/", "summary": "/proxies/",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 1.022 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 1.022 seconds",
"operationId": "9c12fbeb-b4cd-40a7-8962-5b9b01619a8e", "operationId": "9c12fbeb-b4cd-40a7-8962-5b9b01619a8e",
"parameters": [ "parameters": [
{ {
@ -748,7 +748,7 @@
"proxies" "proxies"
], ],
"summary": "/proxies/local", "summary": "/proxies/local",
"description": "Mizu observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.610 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.000 hits/s, average response time is 0.610 seconds",
"operationId": "0f676cec-87ba-4a03-ac72-f48c3e90d5b8", "operationId": "0f676cec-87ba-4a03-ac72-f48c3e90d5b8",
"responses": { "responses": {
"200": { "200": {
@ -1568,7 +1568,7 @@
"/tapping/state": { "/tapping/state": {
"get": { "get": {
"summary": "/tapping/state", "summary": "/tapping/state",
"description": "Mizu observed 8 entries (0 failed), at 0.760 hits/s, average response time is 0.258 seconds", "description": "Kubeshark observed 8 entries (0 failed), at 0.760 hits/s, average response time is 0.258 seconds",
"operationId": "b0c1e867-43ee-4f94-bcf8-58cd0ba0f5c8", "operationId": "b0c1e867-43ee-4f94-bcf8-58cd0ba0f5c8",
"responses": { "responses": {
"200": { "200": {
@ -1630,7 +1630,7 @@
}, },
"post": { "post": {
"summary": "/tapping/state", "summary": "/tapping/state",
"description": "Mizu observed 6 entries (1 failed), at 0.570 hits/s, average response time is 0.431 seconds", "description": "Kubeshark observed 6 entries (1 failed), at 0.570 hits/s, average response time is 0.431 seconds",
"operationId": "4245a3e5-ebff-4a5b-a7d7-a7fbae4b0fce", "operationId": "4245a3e5-ebff-4a5b-a7d7-a7fbae4b0fce",
"responses": { "responses": {
"200": { "200": {
@ -1784,4 +1784,4 @@
"sumRT": 11.506999999999994, "sumRT": 11.506999999999994,
"sumDuration": 29.188997983932495 "sumDuration": 29.188997983932495
} }
} }

View File

@ -5,9 +5,9 @@ import (
"net/url" "net/url"
"sync" "sync"
"github.com/up9inc/mizu/agent/pkg/har" "github.com/kubeshark/kubeshark/agent/pkg/har"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
"github.com/up9inc/mizu/tap/api" "github.com/kubeshark/kubeshark/tap/api"
) )
var ( var (
@ -16,7 +16,7 @@ var (
) )
type OasGeneratorSink interface { type OasGeneratorSink interface {
HandleEntry(mizuEntry *api.Entry) HandleEntry(kubesharkEntry *api.Entry)
} }
type OasGenerator interface { type OasGenerator interface {
@ -58,34 +58,34 @@ func (g *defaultOasGenerator) IsStarted() bool {
return g.started return g.started
} }
func (g *defaultOasGenerator) HandleEntry(mizuEntry *api.Entry) { func (g *defaultOasGenerator) HandleEntry(kubesharkEntry *api.Entry) {
if !g.started { if !g.started {
return return
} }
if mizuEntry.Protocol.Name == "http" { if kubesharkEntry.Protocol.Name == "http" {
dest := mizuEntry.Destination.Name dest := kubesharkEntry.Destination.Name
if dest == "" { if dest == "" {
logger.Log.Debugf("OAS: Unresolved entry %d", mizuEntry.Id) logger.Log.Debugf("OAS: Unresolved entry %d", kubesharkEntry.Id)
return return
} }
entry, err := har.NewEntry(mizuEntry.Request, mizuEntry.Response, mizuEntry.StartTime, mizuEntry.ElapsedTime) entry, err := har.NewEntry(kubesharkEntry.Request, kubesharkEntry.Response, kubesharkEntry.StartTime, kubesharkEntry.ElapsedTime)
if err != nil { if err != nil {
logger.Log.Warningf("Failed to turn MizuEntry %d into HAR Entry: %s", mizuEntry.Id, err) logger.Log.Warningf("Failed to turn KubesharkEntry %d into HAR Entry: %s", kubesharkEntry.Id, err)
return return
} }
entryWSource := &EntryWithSource{ entryWSource := &EntryWithSource{
Entry: *entry, Entry: *entry,
Source: mizuEntry.Source.Name, Source: kubesharkEntry.Source.Name,
Destination: dest, Destination: dest,
Id: mizuEntry.Id, Id: kubesharkEntry.Id,
} }
g.handleHARWithSource(entryWSource) g.handleHARWithSource(entryWSource)
} else { } else {
logger.Log.Debugf("OAS: Unsupported protocol in entry %d: %s", mizuEntry.Id, mizuEntry.Protocol.Name) logger.Log.Debugf("OAS: Unsupported protocol in entry %d: %s", kubesharkEntry.Id, kubesharkEntry.Protocol.Name)
} }
} }

View File

@ -2,7 +2,7 @@ package oas
import ( import (
"encoding/json" "encoding/json"
"github.com/up9inc/mizu/agent/pkg/har" "github.com/kubeshark/kubeshark/agent/pkg/har"
"testing" "testing"
"time" "time"
) )

View File

@ -16,10 +16,10 @@ import (
"github.com/chanced/openapi" "github.com/chanced/openapi"
"github.com/google/uuid" "github.com/google/uuid"
"github.com/kubeshark/kubeshark/logger"
"github.com/nav-inc/datetime" "github.com/nav-inc/datetime"
"github.com/up9inc/mizu/logger"
"github.com/up9inc/mizu/agent/pkg/har" "github.com/kubeshark/kubeshark/agent/pkg/har"
"time" "time"
) )

View File

@ -11,8 +11,8 @@ import (
"time" "time"
"github.com/chanced/openapi" "github.com/chanced/openapi"
"github.com/up9inc/mizu/agent/pkg/har" "github.com/kubeshark/kubeshark/agent/pkg/har"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
"github.com/wI2L/jsondiff" "github.com/wI2L/jsondiff"
) )
@ -23,7 +23,7 @@ func outputSpec(label string, spec *openapi.OpenAPI, t *testing.T) string {
panic(err) panic(err)
} }
if os.Getenv("MIZU_OAS_WRITE_FILES") != "" { if os.Getenv("KUBESHARK_OAS_WRITE_FILES") != "" {
path := "./oas-samples" path := "./oas-samples"
err := os.MkdirAll(path, 0o755) err := os.MkdirAll(path, 0o755)
if err != nil { if err != nil {
@ -169,7 +169,7 @@ func TestFileSingle(t *testing.T) {
t.FailNow() t.FailNow()
} }
if os.Getenv("MIZU_OAS_WRITE_FILES") != "" { if os.Getenv("KUBESHARK_OAS_WRITE_FILES") != "" {
err = ioutil.WriteFile(file+".spec.json", []byte(specText), 0644) err = ioutil.WriteFile(file+".spec.json", []byte(specText), 0644)
if err != nil { if err != nil {
panic(err) panic(err)

View File

@ -2,7 +2,7 @@
"openapi": "3.1.0", "openapi": "3.1.0",
"info": { "info": {
"title": "https://httpbin.org", "title": "https://httpbin.org",
"description": "Mizu observed 19 entries (0 failed), at 0.10 hits/s, average response time is 0.17 seconds", "description": "Kubeshark observed 19 entries (0 failed), at 0.10 hits/s, average response time is 0.17 seconds",
"version": "1.0" "version": "1.0"
}, },
"servers": [ "servers": [
@ -14,7 +14,7 @@
"/appears-once": { "/appears-once": {
"get": { "get": {
"summary": "/appears-once", "summary": "/appears-once",
"description": "Mizu observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.63 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.63 seconds",
"operationId": "<UUID4>", "operationId": "<UUID4>",
"responses": { "responses": {
"200": { "200": {
@ -53,7 +53,7 @@
"/appears-twice": { "/appears-twice": {
"get": { "get": {
"summary": "/appears-twice", "summary": "/appears-twice",
"description": "Mizu observed 2 entries (0 failed), at 0.50 hits/s, average response time is 0.63 seconds", "description": "Kubeshark observed 2 entries (0 failed), at 0.50 hits/s, average response time is 0.63 seconds",
"operationId": "<UUID4>", "operationId": "<UUID4>",
"responses": { "responses": {
"200": { "200": {
@ -92,7 +92,7 @@
"/body-optional": { "/body-optional": {
"post": { "post": {
"summary": "/body-optional", "summary": "/body-optional",
"description": "Mizu observed 3 entries (0 failed), at 0.00 hits/s, average response time is 0.00 seconds", "description": "Kubeshark observed 3 entries (0 failed), at 0.00 hits/s, average response time is 0.00 seconds",
"operationId": "<UUID4>", "operationId": "<UUID4>",
"responses": { "responses": {
"200": { "200": {
@ -140,7 +140,7 @@
"/body-required": { "/body-required": {
"post": { "post": {
"summary": "/body-required", "summary": "/body-required",
"description": "Mizu observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.00 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.00 seconds",
"operationId": "<UUID4>", "operationId": "<UUID4>",
"responses": { "responses": {
"200": { "200": {
@ -189,7 +189,7 @@
"/form-multipart": { "/form-multipart": {
"post": { "post": {
"summary": "/form-multipart", "summary": "/form-multipart",
"description": "Mizu observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.00 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.00 seconds",
"operationId": "<UUID4>", "operationId": "<UUID4>",
"responses": { "responses": {
"200": { "200": {
@ -261,7 +261,7 @@
"/form-urlencoded": { "/form-urlencoded": {
"post": { "post": {
"summary": "/form-urlencoded", "summary": "/form-urlencoded",
"description": "Mizu observed 2 entries (0 failed), at 0.50 hits/s, average response time is 0.00 seconds", "description": "Kubeshark observed 2 entries (0 failed), at 0.50 hits/s, average response time is 0.00 seconds",
"operationId": "<UUID4>", "operationId": "<UUID4>",
"responses": { "responses": {
"200": { "200": {
@ -348,7 +348,7 @@
"param-patterns" "param-patterns"
], ],
"summary": "/param-patterns/prefix-gibberish-fine/{prefixgibberishfineId}", "summary": "/param-patterns/prefix-gibberish-fine/{prefixgibberishfineId}",
"description": "Mizu observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.00 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.00 seconds",
"operationId": "<UUID4>", "operationId": "<UUID4>",
"responses": { "responses": {
"200": { "200": {
@ -406,7 +406,7 @@
"param-patterns" "param-patterns"
], ],
"summary": "/param-patterns/{parampatternId}", "summary": "/param-patterns/{parampatternId}",
"description": "Mizu observed 2 entries (0 failed), at 0.00 hits/s, average response time is 0.00 seconds", "description": "Kubeshark observed 2 entries (0 failed), at 0.00 hits/s, average response time is 0.00 seconds",
"operationId": "<UUID4>", "operationId": "<UUID4>",
"responses": { "responses": {
"200": { "200": {
@ -477,7 +477,7 @@
"param-patterns" "param-patterns"
], ],
"summary": "/param-patterns/{parampatternId}/1", "summary": "/param-patterns/{parampatternId}/1",
"description": "Mizu observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.00 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.00 seconds",
"operationId": "<UUID4>", "operationId": "<UUID4>",
"responses": { "responses": {
"200": { "200": {
@ -548,7 +548,7 @@
"param-patterns" "param-patterns"
], ],
"summary": "/param-patterns/{parampatternId}/static", "summary": "/param-patterns/{parampatternId}/static",
"description": "Mizu observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.00 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.00 seconds",
"operationId": "<UUID4>", "operationId": "<UUID4>",
"responses": { "responses": {
"200": { "200": {
@ -619,7 +619,7 @@
"param-patterns" "param-patterns"
], ],
"summary": "/param-patterns/{parampatternId}/{param1}", "summary": "/param-patterns/{parampatternId}/{param1}",
"description": "Mizu observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.00 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.00 seconds",
"operationId": "<UUID4>", "operationId": "<UUID4>",
"responses": { "responses": {
"200": { "200": {
@ -702,7 +702,7 @@
"/{Id}": { "/{Id}": {
"get": { "get": {
"summary": "/{Id}", "summary": "/{Id}",
"description": "Mizu observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.63 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.63 seconds",
"operationId": "<UUID4>", "operationId": "<UUID4>",
"responses": { "responses": {
"200": { "200": {
@ -761,7 +761,7 @@
"/{Id}/sub1": { "/{Id}/sub1": {
"get": { "get": {
"summary": "/{Id}/sub1", "summary": "/{Id}/sub1",
"description": "Mizu observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.11 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.11 seconds",
"operationId": "<UUID4>", "operationId": "<UUID4>",
"responses": { "responses": {
"200": { "200": {
@ -819,7 +819,7 @@
"/{Id}/sub2": { "/{Id}/sub2": {
"get": { "get": {
"summary": "/{Id}/sub2", "summary": "/{Id}/sub2",
"description": "Mizu observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.63 seconds", "description": "Kubeshark observed 1 entries (0 failed), at 0.00 hits/s, average response time is 0.63 seconds",
"operationId": "<UUID4>", "operationId": "<UUID4>",
"responses": { "responses": {
"200": { "200": {
@ -894,4 +894,4 @@
"sumRT": 3.27, "sumRT": 3.27,
"sumDuration": 2.01 "sumDuration": 2.01
} }
} }

View File

@ -8,7 +8,7 @@ import (
"strings" "strings"
"github.com/chanced/openapi" "github.com/chanced/openapi"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
) )
type NodePath = []string type NodePath = []string

View File

@ -6,10 +6,10 @@ import (
"strconv" "strconv"
"strings" "strings"
"github.com/up9inc/mizu/agent/pkg/har" "github.com/kubeshark/kubeshark/agent/pkg/har"
"github.com/chanced/openapi" "github.com/chanced/openapi"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
) )
func exampleResolver(ref string) (*openapi.ExampleObj, error) { func exampleResolver(ref string) (*openapi.ExampleObj, error) {

View File

@ -9,8 +9,8 @@ import (
"time" "time"
"github.com/jinzhu/copier" "github.com/jinzhu/copier"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
"github.com/up9inc/mizu/tap/api" "github.com/kubeshark/kubeshark/tap/api"
) )
type GeneralStats struct { type GeneralStats struct {

View File

@ -5,8 +5,8 @@ import (
"testing" "testing"
"time" "time"
"github.com/up9inc/mizu/agent/pkg/providers" "github.com/kubeshark/kubeshark/agent/pkg/providers"
"github.com/up9inc/mizu/tap/api" "github.com/kubeshark/kubeshark/tap/api"
) )
func TestNoEntryAddedCount(t *testing.T) { func TestNoEntryAddedCount(t *testing.T) {

View File

@ -5,10 +5,10 @@ import (
"strings" "strings"
"sync" "sync"
"github.com/up9inc/mizu/agent/pkg/providers/tappers" "github.com/kubeshark/kubeshark/agent/pkg/providers/tappers"
"github.com/up9inc/mizu/agent/pkg/utils" "github.com/kubeshark/kubeshark/agent/pkg/utils"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
"github.com/up9inc/mizu/shared" "github.com/kubeshark/kubeshark/shared"
) )
const FilePath = shared.DataDirPath + "tapped-pods.json" const FilePath = shared.DataDirPath + "tapped-pods.json"

View File

@ -4,9 +4,9 @@ import (
"os" "os"
"sync" "sync"
"github.com/up9inc/mizu/agent/pkg/utils" "github.com/kubeshark/kubeshark/agent/pkg/utils"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
"github.com/up9inc/mizu/shared" "github.com/kubeshark/kubeshark/shared"
) )
const FilePath = shared.DataDirPath + "tappers-status.json" const FilePath = shared.DataDirPath + "tappers-status.json"

View File

@ -10,9 +10,9 @@ import (
"time" "time"
"github.com/google/uuid" "github.com/google/uuid"
"github.com/up9inc/mizu/agent/pkg/app" "github.com/kubeshark/kubeshark/agent/pkg/app"
tapApi "github.com/up9inc/mizu/tap/api" tapApi "github.com/kubeshark/kubeshark/tap/api"
mizuhttp "github.com/up9inc/mizu/tap/extensions/http" kubesharkhttp "github.com/kubeshark/kubeshark/tap/extensions/http"
) )
var ( var (
@ -71,8 +71,8 @@ func getEntryFromRequestResponse(extension *tapApi.Extension, request *http.Requ
IsRequest: true, IsRequest: true,
CaptureTime: captureTime, CaptureTime: captureTime,
CaptureSize: 0, CaptureSize: 0,
Payload: &mizuhttp.HTTPPayload{ Payload: &kubesharkhttp.HTTPPayload{
Type: mizuhttp.TypeHttpRequest, Type: kubesharkhttp.TypeHttpRequest,
Data: request, Data: request,
}, },
}, },
@ -80,8 +80,8 @@ func getEntryFromRequestResponse(extension *tapApi.Extension, request *http.Requ
IsRequest: false, IsRequest: false,
CaptureTime: captureTime, CaptureTime: captureTime,
CaptureSize: 0, CaptureSize: 0,
Payload: &mizuhttp.HTTPPayload{ Payload: &kubesharkhttp.HTTPPayload{
Type: mizuhttp.TypeHttpResponse, Type: kubesharkhttp.TypeHttpResponse,
Data: response, Data: response,
}, },
}, },
@ -121,7 +121,7 @@ func ExecuteRequest(replayData *Details, timeout time.Duration) *Response {
for headerKey, headerValue := range replayData.Headers { for headerKey, headerValue := range replayData.Headers {
request.Header.Add(headerKey, headerValue) request.Header.Add(headerKey, headerValue)
} }
request.Header.Add("x-mizu", uuid.New().String()) request.Header.Add("x-kubeshark", uuid.New().String())
response, requestErr := client.Do(request) response, requestErr := client.Do(request)
if requestErr != nil { if requestErr != nil {

View File

@ -11,8 +11,8 @@ import (
"encoding/json" "encoding/json"
"github.com/google/uuid" "github.com/google/uuid"
tapApi "github.com/up9inc/mizu/tap/api" tapApi "github.com/kubeshark/kubeshark/tap/api"
mizuhttp "github.com/up9inc/mizu/tap/extensions/http" kubesharkhttp "github.com/kubeshark/kubeshark/tap/extensions/http"
) )
func TestValid(t *testing.T) { func TestValid(t *testing.T) {
@ -60,7 +60,7 @@ func TestValid(t *testing.T) {
for headerKey, headerValue := range replayData.Headers { for headerKey, headerValue := range replayData.Headers {
request.Header.Add(headerKey, headerValue) request.Header.Add(headerKey, headerValue)
} }
request.Header.Add("x-mizu", uuid.New().String()) request.Header.Add("x-kubeshark", uuid.New().String())
response, requestErr := client.Do(request) response, requestErr := client.Do(request)
if requestErr != nil { if requestErr != nil {
@ -68,7 +68,7 @@ func TestValid(t *testing.T) {
} }
extensionHttp := &tapApi.Extension{} extensionHttp := &tapApi.Extension{}
dissectorHttp := mizuhttp.NewDissector() dissectorHttp := kubesharkhttp.NewDissector()
dissectorHttp.Register(extensionHttp) dissectorHttp.Register(extensionHttp)
extensionHttp.Dissector = dissectorHttp extensionHttp.Dissector = dissectorHttp
extension := extensionHttp extension := extensionHttp

View File

@ -1,29 +1,29 @@
<!-- <!--
(NOT RELEVANT CURRENTLY) (NOT RELEVANT CURRENTLY)
## Installation ## Installation
To be able to import this package, you must add `replace github.com/up9inc/mizu/resolver => ../resolver` to the end of your `go.mod` file To be able to import this package, you must add `replace github.com/kubeshark/kubeshark/resolver => ../resolver` to the end of your `go.mod` file
And then add `github.com/up9inc/mizu/resolver v0.0.0` to your require block And then add `github.com/kubeshark/kubeshark/resolver v0.0.0` to your require block
full example `go.mod`: full example `go.mod`:
``` ```
module github.com/up9inc/mizu/cli module github.com/kubeshark/kubeshark/cli
go 1.16 go 1.16
require ( require (
github.com/spf13/cobra v1.1.3 github.com/spf13/cobra v1.1.3
github.com/up9inc/mizu/resolver v0.0.0 github.com/kubeshark/kubeshark/resolver v0.0.0
k8s.io/api v0.21.0 k8s.io/api v0.21.0
k8s.io/apimachinery v0.21.0 k8s.io/apimachinery v0.21.0
k8s.io/client-go v0.21.0 k8s.io/client-go v0.21.0
) )
replace github.com/up9inc/mizu/resolver => ../resolver replace github.com/kubeshark/kubeshark/resolver => ../resolver
``` ```
Now you will be able to import `github.com/up9inc/mizu/resolver` in any `.go` file Now you will be able to import `github.com/kubeshark/kubeshark/resolver` in any `.go` file
--> -->
## Usage ## Usage

View File

@ -5,7 +5,7 @@ import (
"errors" "errors"
"fmt" "fmt"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
k8serrors "k8s.io/apimachinery/pkg/api/errors" k8serrors "k8s.io/apimachinery/pkg/api/errors"
cmap "github.com/orcaman/concurrent-map" cmap "github.com/orcaman/concurrent-map"

View File

@ -1,7 +1,7 @@
package routes package routes
import ( import (
"github.com/up9inc/mizu/agent/pkg/controllers" "github.com/kubeshark/kubeshark/agent/pkg/controllers"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )

View File

@ -2,7 +2,7 @@ package routes
import ( import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/up9inc/mizu/agent/pkg/controllers" "github.com/kubeshark/kubeshark/agent/pkg/controllers"
) )
// EntriesRoutes defines the group of har entries routes. // EntriesRoutes defines the group of har entries routes.

View File

@ -1,7 +1,7 @@
package routes package routes
import ( import (
"github.com/up9inc/mizu/agent/pkg/controllers" "github.com/kubeshark/kubeshark/agent/pkg/controllers"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )

View File

@ -2,7 +2,7 @@ package routes
import ( import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/up9inc/mizu/agent/pkg/controllers" "github.com/kubeshark/kubeshark/agent/pkg/controllers"
) )
// OASRoutes methods to access OAS spec // OASRoutes methods to access OAS spec

View File

@ -2,7 +2,7 @@ package routes
import ( import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/up9inc/mizu/agent/pkg/controllers" "github.com/kubeshark/kubeshark/agent/pkg/controllers"
) )
func QueryRoutes(ginApp *gin.Engine) { func QueryRoutes(ginApp *gin.Engine) {

View File

@ -2,7 +2,7 @@ package routes
import ( import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/up9inc/mizu/agent/pkg/controllers" "github.com/kubeshark/kubeshark/agent/pkg/controllers"
) )
// ReplayRoutes defines the group of replay routes. // ReplayRoutes defines the group of replay routes.

View File

@ -2,7 +2,7 @@ package routes
import ( import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/up9inc/mizu/agent/pkg/controllers" "github.com/kubeshark/kubeshark/agent/pkg/controllers"
) )
func ServiceMapRoutes(ginApp *gin.Engine) { func ServiceMapRoutes(ginApp *gin.Engine) {

View File

@ -2,7 +2,7 @@ package routes
import ( import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/up9inc/mizu/agent/pkg/controllers" "github.com/kubeshark/kubeshark/agent/pkg/controllers"
) )
func StatusRoutes(ginApp *gin.Engine) { func StatusRoutes(ginApp *gin.Engine) {

View File

@ -1,7 +1,7 @@
package servicemap package servicemap
import ( import (
tapApi "github.com/up9inc/mizu/tap/api" tapApi "github.com/kubeshark/kubeshark/tap/api"
) )
type ServiceMapStatus struct { type ServiceMapStatus struct {

View File

@ -5,8 +5,8 @@ import (
"github.com/jinzhu/copier" "github.com/jinzhu/copier"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
tapApi "github.com/up9inc/mizu/tap/api" tapApi "github.com/kubeshark/kubeshark/tap/api"
) )
const ( const (

View File

@ -5,8 +5,8 @@ import (
"strings" "strings"
"testing" "testing"
tapApi "github.com/kubeshark/kubeshark/tap/api"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
tapApi "github.com/up9inc/mizu/tap/api"
) )
const ( const (
@ -57,7 +57,7 @@ var (
}, },
LongName: "Hypertext Transfer Protocol -- HTTP/1.1", LongName: "Hypertext Transfer Protocol -- HTTP/1.1",
Macro: "http", Macro: "http",
BackgroundColor: "#205cf5", BackgroundColor: "#326de6",
ForegroundColor: "#ffffff", ForegroundColor: "#ffffff",
FontSize: 12, FontSize: 12,
ReferenceLink: "https://datatracker.ietf.org/doc/html/rfc2616", ReferenceLink: "https://datatracker.ietf.org/doc/html/rfc2616",

View File

@ -12,8 +12,8 @@ import (
"time" "time"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
"github.com/up9inc/mizu/shared" "github.com/kubeshark/kubeshark/shared"
) )
var ( var (

View File

Before

Width:  |  Height:  |  Size: 811 KiB

After

Width:  |  Height:  |  Size: 811 KiB

94
assets/kubeshark-logo.svg Normal file
View File

@ -0,0 +1,94 @@
<svg width="365.85028" height="84.530319" viewBox="0 0 365.85028 84.530319" fill="none" xmlns="http://www.w3.org/2000/svg">
<g
id="Layer_2"
transform="translate(0.09726289)">
<g
id="Layer_1-2">
<path
style="fill:#326de6"
d="m 43.697266,0 c -0.8,0 -1.7,-7.8125e-4 -2.5,0.19921875 l -30.5,14.70117225 c -1.5000052,0.7 -2.6000004,1.999218 -3.0000004,3.699218 L 0.09765625,51.5 c -0.3,1.7 0.09960962,3.400781 1.09960935,4.800781 l 21.0996094,26.09961 c 1.2,1.2 2.899609,1.999609 4.599609,2.099609 h 33.701172 c 1.8,0.2 3.49961,-0.599609 4.59961,-2.099609 l 21.099609,-26.09961 c 1,-1.4 1.401172,-3.100781 1.201172,-4.800781 L 79.896484,18.800781 c -0.5,-1.6 -1.699218,-2.901172 -3.199218,-3.701172 L 46.197266,0.5 c -0.8,-0.4 -1.7,-0.5 -2.5,-0.5 z m 22.818359,15.484375 a 1.4619351,1.4619351 0 0 1 1.503906,1.462891 2.9127558,2.9127558 0 0 1 -0.697265,1.884765 16.523949,16.523949 0 0 0 -3.021485,5.302735 6.6495148,6.6495148 0 0 1 -3.089843,3.652343 c -5.91826,3.255388 -11.1875,5.654297 -11.1875,5.654297 1.524079,-0.0335 2.86482,0.09854 4.054687,0.339844 l 0.716797,-1.568359 a 0.26693874,0.26693874 0 0 1 0.507812,0.08594 l 0.160157,1.828125 c 0.241188,0.07385 0.471303,0.153424 0.697265,0.236328 l 1.28125,-1.435547 a 0.26693874,0.26693874 0 0 1 0.460938,0.234375 l -0.390625,1.808594 c 0.190161,0.0967 0.356133,0.202814 0.533203,0.304688 L 59.410156,33.9375 a 0.26693874,0.26693874 0 0 1 0.44336,0.263672 l -0.544922,1.902344 c 0.131484,0.100317 0.249231,0.201225 0.371094,0.302734 l 1.804687,-0.925781 a 0.26693874,0.26693874 0 0 1 0.34375,0.384765 l -1.052734,1.605469 c 0.193913,0.21427 0.370731,0.422885 0.529297,0.625 l 1.908203,-0.400391 a 0.26693874,0.26693874 0 0 1 0.230468,0.460938 l -1.328125,1.171875 c 0.04054,0.07431 0.11559,0.182968 0.146485,0.246094 a 0.4464948,0.4464948 0 0 1 -0.232422,0.609375 48.930273,48.930273 0 0 0 -10.314453,5.910156 c -2.628678,1.872418 -5.507342,3.256782 -7.984375,4.238281 -0.654096,3.953096 -3.256673,6.553592 -4.251953,7.417969 a 0.87976722,0.87976722 0 0 1 -0.84375,0.173828 0.87995885,0.87995885 0 0 1 -0.601563,-0.998047 c 0.403872,-2.175221 0.375769,-3.813371 0.298828,-4.824219 -0.04123,0.0106 -0.129623,0.03717 -0.167969,0.04688 a 13.074058,13.074058 0 0 0 -2.65625,0.966796 11.895733,11.895733 0 0 0 -0.65039,0.365235 11.838628,11.838628 0 0 0 -0.527344,0.314453 11.895733,11.895733 0 0 0 -0.492187,0.345703 11.838628,11.838628 0 0 0 -0.609375,0.453125 c -0.236674,0.196431 -0.459867,0.403754 -0.669922,0.619141 -0.189209,0.194011 -0.363842,0.39622 -0.53125,0.603515 -0.518529,1.301101 -0.720526,2.855804 0.09766,4.41211 a 5.1377563,5.1377563 0 0 0 3.373047,2.560546 26.202921,26.202921 0 0 0 6.078125,0.660157 4.1583421,4.1583421 0 0 0 3.384766,-1.72461 c 1.663527,-2.318707 5.169313,-6.471626 9.99414,-8.277343 a 34.752434,34.752434 0 0 0 5.21875,-2.396485 c 1.396015,-0.807906 3.019403,0.604478 2.433594,2.107422 a 7.7023228,7.7023228 0 0 1 -2.587891,3.494141 c -3.68751,2.69679 -7.761718,6.164264 -7.761719,10.126953 0,0 -0.291599,4.431548 3.244141,7.169922 a 1.1662521,1.1662521 0 0 1 -0.708984,2.083984 c -3.356185,0.04235 -8.286592,-1.069904 -11.835938,-6.941406 a 22.909207,22.909207 0 0 1 -4.214843,1.015625 h -0.0039 c -3.074111,0.47499 -5.780878,0.558997 -8.085937,0.230469 l 0.0039,0.0098 c 0,0 -16.614575,-0.614601 -16.021484,-16.695312 0.176839,-4.794721 1.64669,-8.927518 3.617187,-12.375 C 18.16014,39.986781 17.79688,38.65623 17.28125,37.388672 a 1.4696003,1.4696003 0 0 1 0.140625,-1.386719 l 1.705078,-2.496094 A 0.15886017,0.15886017 0 0 0 18.912109,33.28125 l -2.759765,1.755859 C 15.659283,34.137796 15.146296,33.32412 14.689453,32.648438 A 2.1703863,2.1703863 0 0 1 15.625,29.427734 c 2.666513,-1.121219 5.899198,-1.704278 9.982422,-1.246093 a 36.480542,36.480542 0 0 0 5.708984,0.142578 C 48.430863,18.814384 61.805489,16.163693 66.345703,15.5 a 1.4619351,1.4619351 0 0 1 0.169922,-0.01563 z"
transform="translate(-0.09743584)"
id="path6" />
<g
id="g857"
transform="matrix(0.19162867,0,0,0.19162867,8.490619,13.182287)"><g
id="g849"
style="fill:#485a75"><path
id="path839"
data-original="#485a75"
d="m 192.963,97.984 c -4.249,-8.947 -6.27,-19.006 -6.563,-29.928 a 1.414,1.414 0 0 0 -2.736,-0.449 55.314,55.314 0 0 0 -2.656,9.6 21.038,21.038 0 0 0 3.958,16.393 35.833,35.833 0 0 0 5.808,6.066 1.419,1.419 0 0 0 2.189,-1.682 z"
style="fill:#485a75" /><path
id="path841"
data-original="#485a75"
d="m 177.85,105.342 c -4.249,-8.947 -6.27,-19.006 -6.563,-29.928 a 1.414,1.414 0 0 0 -2.736,-0.449 55.314,55.314 0 0 0 -2.656,9.6 21.038,21.038 0 0 0 3.958,16.394 35.72,35.72 0 0 0 5.808,6.066 1.419,1.419 0 0 0 2.189,-1.683 z"
style="fill:#485a75" /><path
id="path843"
data-original="#485a75"
d="m 163.212,112.168 c -4.249,-8.947 -6.27,-19.006 -6.563,-29.928 a 1.414,1.414 0 0 0 -2.736,-0.449 55.314,55.314 0 0 0 -2.656,9.6 21.038,21.038 0 0 0 3.958,16.394 35.718,35.718 0 0 0 5.808,6.066 1.419,1.419 0 0 0 2.189,-1.683 z"
style="fill:#485a75" /><path
id="path845"
data-original="#485a75"
d="m 282.539,41.775 a 3.464,3.464 0 0 1 -2.442,-5.922 l 2.594,-2.577 a 3.4644893,3.4644893 0 1 1 4.883,4.916 l -2.594,2.577 a 3.455,3.455 0 0 1 -2.441,1.006 z"
style="fill:#485a75" /><circle
id="circle847"
data-original="#485a75"
r="5.0100002"
cy="49.93"
cx="242.799"
style="fill:#485a75" /></g></g><path
style="opacity:1;fill:#326de6;fill-opacity:1;stroke:none;stroke-width:0.70809567;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 39.03763,34.543061 c -1.527793,-1.496038 -1.827598,-2.980669 -1.058708,-5.242707 0.127475,-0.375025 0.218266,-0.50615 0.350457,-0.50615 0.152165,0 0.188106,0.09647 0.244306,0.655726 0.216618,2.155597 0.449111,3.24366 0.975953,4.567454 0.461821,1.160417 0.302867,1.323615 -0.512008,0.525677 z"
id="path900"
transform="translate(-0.09743584)" /><path
style="opacity:1;fill:#326de6;fill-opacity:1;stroke:none;stroke-width:0.70809567;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 42.006337,33.406311 c -1.337815,-1.184989 -1.866757,-2.629191 -1.538123,-4.199632 0.240017,-1.146966 0.464694,-1.723928 0.67132,-1.723928 0.159683,0 0.190274,0.122336 0.292808,1.17094 0.16981,1.736629 0.586255,3.459239 1.068721,4.420732 0.174454,0.347664 0.153619,0.638924 -0.04552,0.636332 -0.05889,-7.68e-4 -0.261033,-0.137766 -0.449207,-0.304444 z"
id="path902"
transform="translate(-0.09743584)" /><path
style="opacity:1;fill:#326de6;fill-opacity:1;stroke:none;stroke-width:0.70809567;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 44.593492,31.684332 c -1.06996,-1.096616 -1.495754,-2.317349 -1.27225,-3.647492 0.06476,-0.385406 0.209609,-0.983895 0.321888,-1.329977 0.160604,-0.495034 0.243576,-0.629239 0.389027,-0.629239 0.167866,0 0.195552,0.106755 0.300777,1.15978 0.178804,1.789343 0.514135,3.175579 1.092636,4.516885 0.109635,0.254197 0.118901,0.363706 0.03765,0.444957 -0.173562,0.173562 -0.231396,0.139321 -0.869728,-0.514914 z"
id="path904"
transform="translate(-0.09743584)" /><path
style="opacity:1;fill:#326de6;fill-opacity:1;stroke:none;stroke-width:0.70809567;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 54.796786,23.600645 c -0.300846,-0.126947 -0.598408,-0.559802 -0.598408,-0.870489 0,-0.192938 0.100882,-0.378642 0.330349,-0.608109 0.289083,-0.289083 0.372038,-0.323583 0.664085,-0.276191 0.411876,0.06684 0.590137,0.209069 0.754324,0.601856 0.107229,0.256525 0.107229,0.352363 0,0.608889 -0.06999,0.167444 -0.190498,0.356886 -0.267791,0.420982 -0.193757,0.160673 -0.644482,0.223522 -0.882559,0.123062 z"
id="path906"
transform="translate(-0.09743584)" /><path
style="opacity:1;fill:#326de6;fill-opacity:1;stroke:none;stroke-width:0.70809567;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 62.366634,20.995747 c -0.30085,-0.260136 -0.326767,-0.517366 -0.08785,-0.871899 0.220552,-0.327277 0.758517,-0.743997 0.960464,-0.743997 0.06271,0 0.225096,0.08737 0.360847,0.194149 0.379108,0.298207 0.323778,0.598735 -0.208173,1.130685 -0.485833,0.485834 -0.722376,0.552984 -1.025291,0.291062 z"
id="path908"
transform="translate(-0.09743584)" /><g
aria-label="Kubeshark"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Work Sans';-inkscape-font-specification:'Work Sans';letter-spacing:0px;word-spacing:0px;fill:#326de6;fill-opacity:1;stroke:none"
id="text833"
transform="translate(4)"><path
d="m 127.72418,23.395281 -15.70667,18.797333 -0.55733,-1.317333 -7.95467,9.677334 -1.672,-7.042667 16.21334,-20.114667 z m -21.63467,0 v 33.44 h -8.714665 v -33.44 z m 8.76534,11.045333 13.47733,22.394667 h -9.88 L 108.31885,39.304614 Z"
style="font-size:50.66666794px;fill:#326de6;fill-opacity:1"
id="path830" /><path
d="m 139.93478,57.341948 q -2.584,0 -4.56,-0.861333 -1.92534,-0.912 -3.04,-2.888 -1.11467,-1.976 -1.11467,-5.168001 V 31.501947 h 8.61333 v 14.896001 q 0,2.432 0.96267,3.394667 0.96267,0.962666 2.736,0.962666 0.912,0 1.72267,-0.304 0.81066,-0.354666 1.41867,-1.013333 0.608,-0.709333 0.912,-1.773334 0.35466,-1.114666 0.35466,-2.584 V 31.501947 h 8.61334 v 25.333334 h -7.70134 l -0.25333,-4.762666 q -1.216,2.685333 -3.39467,4.002666 -2.17867,1.266667 -5.26933,1.266667 z"
style="font-size:50.66666794px;fill:#326de6;fill-opacity:1"
id="path832" /><path
d="m 178.99876,57.341948 q -2.48267,0 -4.408,-1.114667 -1.87467,-1.114666 -3.09067,-3.04 -1.216,-1.976 -1.57067,-4.458666 l 0.81067,-1.064001 -0.456,9.170667 h -7.54933 V 20.760614 h 8.61333 v 18.696 l -0.81067,-1.216 q 0.70934,-3.141333 2.888,-5.168 2.17867,-2.077333 5.87734,-2.077333 2.93866,0 5.21866,1.570666 2.33067,1.570667 3.59734,4.560001 1.31733,2.938666 1.31733,7.144 0,4.104 -1.31733,7.042667 -1.31734,2.938666 -3.648,4.509333 -2.33067,1.52 -5.472,1.52 z m -2.98934,-6.333333 q 2.22934,0 3.496,-1.621334 1.26667,-1.672 1.26667,-5.218667 0,-3.546666 -1.26667,-5.168 -1.26666,-1.672 -3.496,-1.672 -1.46933,0 -2.53333,0.861334 -1.01333,0.810666 -1.57067,2.330666 -0.55733,1.52 -0.55733,3.698667 0,2.178667 0.55733,3.698667 0.55734,1.52 1.62134,2.330667 1.064,0.76 2.48266,0.76 z"
style="font-size:50.66666794px;fill:#326de6;fill-opacity:1"
id="path834" /><path
d="m 206.86537,57.341948 q -4.20534,0 -7.296,-1.570667 -3.04,-1.570666 -4.712,-4.509333 -1.672,-2.938667 -1.672,-7.093334 0,-4.154666 1.672,-7.093333 1.672,-2.938667 4.66133,-4.509334 3.04,-1.570666 6.94133,-1.570666 4.00267,0 6.78934,1.570666 2.83733,1.52 4.30666,4.256001 1.46934,2.685333 1.46934,6.181333 0,0.912 -0.0507,1.824 -0.0507,0.912 -0.152,1.52 h -20.064 v -4.610667 h 16.264 l -4.104,1.570667 q 0,-3.04 -1.11467,-4.661333 -1.064,-1.621334 -3.344,-1.621334 -1.62133,0 -2.78666,0.76 -1.11467,0.76 -1.72267,2.381334 -0.55733,1.621333 -0.55733,4.154666 0,2.482667 0.65866,4.053334 0.65867,1.52 1.87467,2.229333 1.216,0.658667 2.93867,0.658667 1.92533,0 3.04,-0.76 1.16533,-0.76 1.72266,-2.128 l 6.89067,2.28 q -0.70933,2.178667 -2.48267,3.698667 -1.72266,1.469333 -4.15466,2.229333 -2.38134,0.76 -5.016,0.76 z"
style="font-size:50.66666794px;fill:#326de6;fill-opacity:1"
id="path836" /><path
d="m 234.47862,57.341948 q -3.8,0 -7.09333,-1.216 -3.24267,-1.266667 -5.37067,-3.597333 l 4.05334,-4.762667 q 1.26666,1.621333 3.344,2.736 2.128,1.064 4.712,1.064 1.57066,0 2.584,-0.456 1.01333,-0.456 1.01333,-1.418667 0,-0.709333 -0.50667,-1.114667 -0.50666,-0.456 -2.02666,-0.76 l -3.54667,-0.709333 q -4.76267,-0.962667 -6.78933,-2.837333 -1.976,-1.925334 -1.976,-5.016 0,-2.077334 1.26666,-3.952001 1.26667,-1.925333 3.90134,-3.090666 2.63466,-1.216 6.73866,-1.216 3.85067,0 6.78934,1.114666 2.93866,1.114667 4.66133,3.242667 l -4.104,4.661334 q -1.216,-1.52 -3.14133,-2.381334 -1.92534,-0.861333 -3.85067,-0.861333 -1.216,0 -2.07733,0.253333 -0.81067,0.202667 -1.216,0.608 -0.40534,0.405334 -0.40534,1.013334 0,0.658666 0.608,1.165333 0.65867,0.456 2.38134,0.810667 l 4.61066,0.912 q 3.90134,0.709333 5.624,2.584 1.72267,1.874666 1.72267,4.509333 0,2.482667 -1.31733,4.458667 -1.31734,1.976 -3.952,3.141333 -2.63467,1.114667 -6.63734,1.114667 z"
style="font-size:50.66666794px;fill:#326de6;fill-opacity:1"
id="path838" /><path
d="M 250.8439,56.835281 V 20.760614 h 8.61334 v 15.352 q 1.11466,-2.533333 3.192,-3.8 2.07733,-1.317333 4.81333,-1.317333 2.63467,0 4.56,1.013333 1.976,1.013333 3.09067,2.989333 1.11466,1.976001 1.11466,4.965334 v 16.872 h -8.61333 V 42.344614 q 0,-2.736 -1.01333,-3.749333 -0.96267,-1.064 -2.584,-1.064 -1.216,0 -2.28,0.608 -1.064,0.608 -1.672,1.925333 -0.608,1.317334 -0.608,3.445334 v 13.325333 z"
style="font-size:50.66666794px;fill:#326de6;fill-opacity:1"
id="path840" /><path
d="m 296.39319,40.773948 q 0,-1.773334 -1.01334,-2.786667 -0.96266,-1.064 -2.63466,-1.064 -1.672,0 -2.888,0.861333 -1.16534,0.810667 -1.62134,2.938667 l -7.296,-1.722667 q 0.70934,-3.648 3.74934,-5.826667 3.04,-2.178666 8.56266,-2.178666 3.69867,0 6.28267,1.114666 2.63467,1.064 4.00267,3.242667 1.41866,2.128 1.41866,5.269334 v 9.272 q 0,1.976 1.77334,1.976 0.912,0 1.46933,-0.202667 l -0.50667,4.914667 q -1.52,0.709333 -3.69866,0.709333 -1.976,0 -3.496,-0.608 -1.52,-0.658666 -2.38134,-1.925333 -0.86133,-1.317333 -0.86133,-3.293333 v -0.304 l 0.96267,-0.354667 q 0,2.178667 -1.31734,3.648 -1.26666,1.469333 -3.344,2.178667 -2.02666,0.709333 -4.256,0.709333 -2.584,0 -4.50933,-0.810667 -1.92533,-0.810666 -2.98933,-2.330666 -1.01334,-1.570667 -1.01334,-3.850667 0,-2.736 1.62134,-4.509334 1.672,-1.824 5.21866,-2.533333 l 9.576,-1.976 -0.0507,4.56 -4.864,1.013333 q -1.52,0.304 -2.28,0.912 -0.70934,0.557334 -0.70934,1.722667 0,1.114667 0.81067,1.672 0.81067,0.557334 1.92533,0.557334 0.86134,0 1.62134,-0.253334 0.81066,-0.253333 1.41866,-0.76 0.608,-0.557333 0.96267,-1.368 0.35467,-0.810667 0.35467,-1.925333 z"
style="font-size:50.66666794px;fill:#326de6;fill-opacity:1"
id="path842" /><path
d="M 311.59312,56.835281 V 31.501947 h 7.6 l 0.35467,5.472001 q 0.96267,-2.837334 2.83733,-4.408001 1.92534,-1.570666 4.864,-1.570666 0.96267,0 1.62134,0.152 0.70933,0.152 1.11466,0.405333 l -0.86133,7.093334 q -0.50667,-0.202667 -1.31733,-0.304 -0.76,-0.152 -1.87467,-0.152 -1.52,0 -2.83733,0.658666 -1.31734,0.658667 -2.128,1.976 -0.76,1.266667 -0.76,3.242667 v 12.768 z"
style="font-size:50.66666794px;fill:#326de6;fill-opacity:1"
id="path844" /><path
d="m 361.1957,31.501947 -12.16,12.970667 -1.62133,0.456 -7.24534,8.106667 -0.0507,-8.816 11.50133,-12.717334 z M 341.99303,20.760614 V 56.835281 H 333.3797 V 20.760614 Z m 8.36,18.341334 11.4,17.733333 h -9.52533 l -7.49867,-12.666667 z"
style="font-size:50.66666794px;fill:#326de6;fill-opacity:1"
id="path846" /></g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 629 KiB

BIN
assets/kubeshark-ui.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 640 KiB

View File

@ -15,9 +15,9 @@ help: ## This help.
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
install: install:
go install mizu.go go install kubeshark.go
build-debug: ## Build mizu CLI for debug build-debug: ## Build kubeshark CLI for debug
export GCLFAGS='-gcflags="all=-N -l"' export GCLFAGS='-gcflags="all=-N -l"'
${MAKE} build-base ${MAKE} build-base
@ -25,15 +25,15 @@ build:
export LDFLAGS_EXT='-s -w' export LDFLAGS_EXT='-s -w'
${MAKE} build-base ${MAKE} build-base
build-base: ## Build mizu CLI binary (select platform via GOOS / GOARCH env variables). build-base: ## Build kubeshark CLI binary (select platform via GOOS / GOARCH env variables).
go build ${GCLFAGS} -ldflags="${LDFLAGS_EXT} \ go build ${GCLFAGS} -ldflags="${LDFLAGS_EXT} \
-X 'github.com/up9inc/mizu/cli/mizu.GitCommitHash=$(COMMIT_HASH)' \ -X 'github.com/kubeshark/kubeshark/cli/kubeshark.GitCommitHash=$(COMMIT_HASH)' \
-X 'github.com/up9inc/mizu/cli/mizu.Branch=$(GIT_BRANCH)' \ -X 'github.com/kubeshark/kubeshark/cli/kubeshark.Branch=$(GIT_BRANCH)' \
-X 'github.com/up9inc/mizu/cli/mizu.BuildTimestamp=$(BUILD_TIMESTAMP)' \ -X 'github.com/kubeshark/kubeshark/cli/kubeshark.BuildTimestamp=$(BUILD_TIMESTAMP)' \
-X 'github.com/up9inc/mizu/cli/mizu.Platform=$(SUFFIX)' \ -X 'github.com/kubeshark/kubeshark/cli/kubeshark.Platform=$(SUFFIX)' \
-X 'github.com/up9inc/mizu/cli/mizu.Ver=$(VER)'" \ -X 'github.com/kubeshark/kubeshark/cli/kubeshark.Ver=$(VER)'" \
-o bin/mizu_$(SUFFIX) mizu.go -o bin/kubeshark_$(SUFFIX) kubeshark.go
(cd bin && shasum -a 256 mizu_${SUFFIX} > mizu_${SUFFIX}.sha256) (cd bin && shasum -a 256 kubeshark_${SUFFIX} > kubeshark_${SUFFIX}.sha256)
build-all: ## Build for all supported platforms. build-all: ## Build for all supported platforms.
echo "Compiling for every OS and Platform" && \ echo "Compiling for every OS and Platform" && \
@ -43,7 +43,7 @@ build-all: ## Build for all supported platforms.
$(MAKE) build GOOS=darwin GOARCH=amd64 && \ $(MAKE) build GOOS=darwin GOARCH=amd64 && \
$(MAKE) build GOOS=darwin GOARCH=arm64 && \ $(MAKE) build GOOS=darwin GOARCH=arm64 && \
$(MAKE) build GOOS=windows GOARCH=amd64 && \ $(MAKE) build GOOS=windows GOARCH=amd64 && \
mv ./bin/mizu_windows_amd64 ./bin/mizu.exe && \ mv ./bin/kubeshark_windows_amd64 ./bin/kubeshark.exe && \
echo "---------" && \ echo "---------" && \
find ./bin -ls find ./bin -ls

View File

@ -1,35 +1,35 @@
# Mizu release _VER_ # Kubeshark release _VER_
Mizu CHANGELOG is now part of [Mizu wiki](https://github.com/up9inc/mizu/wiki/CHANGELOG) Kubeshark CHANGELOG is now part of [Kubeshark wiki](https://github.com/kubeshark/kubeshark/wiki/CHANGELOG)
## Download Mizu for your platform ## Download Kubeshark for your platform
**Mac** (x86-64/Intel) **Mac** (x86-64/Intel)
``` ```
curl -Lo mizu https://github.com/up9inc/mizu/releases/download/_VER_/mizu_darwin_amd64 && chmod 755 mizu curl -Lo kubeshark https://github.com/kubeshark/kubeshark/releases/download/_VER_/kubeshark_darwin_amd64 && chmod 755 kubeshark
``` ```
**Mac** (AArch64/Apple M1 silicon) **Mac** (AArch64/Apple M1 silicon)
``` ```
rm -f mizu && curl -Lo mizu https://github.com/up9inc/mizu/releases/download/_VER_/mizu_darwin_arm64 && chmod 755 mizu rm -f kubeshark && curl -Lo kubeshark https://github.com/kubeshark/kubeshark/releases/download/_VER_/kubeshark_darwin_arm64 && chmod 755 kubeshark
``` ```
**Linux** (x86-64) **Linux** (x86-64)
``` ```
curl -Lo mizu https://github.com/up9inc/mizu/releases/download/_VER_/mizu_linux_amd64 && chmod 755 mizu curl -Lo kubeshark https://github.com/kubeshark/kubeshark/releases/download/_VER_/kubeshark_linux_amd64 && chmod 755 kubeshark
``` ```
**Linux** (AArch64) **Linux** (AArch64)
``` ```
curl -Lo mizu https://github.com/up9inc/mizu/releases/download/_VER_/mizu_linux_arm64 && chmod 755 mizu curl -Lo kubeshark https://github.com/kubeshark/kubeshark/releases/download/_VER_/kubeshark_linux_arm64 && chmod 755 kubeshark
``` ```
**Windows** (x86-64) **Windows** (x86-64)
``` ```
curl -LO https://github.com/up9inc/mizu/releases/download/_VER_/mizu.exe curl -LO https://github.com/kubeshark/kubeshark/releases/download/_VER_/kubeshark.exe
``` ```
### Checksums ### Checksums
SHA256 checksums available for compiled binaries. SHA256 checksums available for compiled binaries.
Run `shasum -a 256 -c mizu_OS_ARCH.sha256` to verify. Run `shasum -a 256 -c kubeshark_OS_ARCH.sha256` to verify.

View File

@ -7,11 +7,11 @@ import (
"net/http" "net/http"
"time" "time"
"github.com/up9inc/mizu/cli/utils" "github.com/kubeshark/kubeshark/cli/utils"
"github.com/up9inc/mizu/cli/config" "github.com/kubeshark/kubeshark/cli/config"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
"github.com/up9inc/mizu/shared" "github.com/kubeshark/kubeshark/shared"
core "k8s.io/api/core/v1" core "k8s.io/api/core/v1"
) )

View File

@ -2,22 +2,22 @@ package bucket
import ( import (
"fmt" "fmt"
"github.com/up9inc/mizu/cli/utils" "github.com/kubeshark/kubeshark/cli/utils"
"io/ioutil" "io/ioutil"
"net/http" "net/http"
"time" "time"
) )
type Provider struct { type Provider struct {
url string url string
client *http.Client client *http.Client
} }
const DefaultTimeout = 2 * time.Second const DefaultTimeout = 2 * time.Second
func NewProvider(url string, timeout time.Duration) *Provider { func NewProvider(url string, timeout time.Duration) *Provider {
return &Provider{ return &Provider{
url: url, url: url,
client: &http.Client{ client: &http.Client{
Timeout: timeout, Timeout: timeout,
}, },

View File

@ -2,16 +2,16 @@ package cmd
import ( import (
"github.com/creasty/defaults" "github.com/creasty/defaults"
"github.com/kubeshark/kubeshark/cli/config/configStructs"
"github.com/kubeshark/kubeshark/logger"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/up9inc/mizu/cli/config/configStructs"
"github.com/up9inc/mizu/logger"
) )
var checkCmd = &cobra.Command{ var checkCmd = &cobra.Command{
Use: "check", Use: "check",
Short: "Check the Mizu installation for potential problems", Short: "Check the Kubeshark installation for potential problems",
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, args []string) error {
runMizuCheck() runKubesharkCheck()
return nil return nil
}, },
} }
@ -24,7 +24,7 @@ func init() {
logger.Log.Debug(err) logger.Log.Debug(err)
} }
checkCmd.Flags().Bool(configStructs.PreTapCheckName, defaultCheckConfig.PreTap, "Check pre-tap Mizu installation for potential problems") checkCmd.Flags().Bool(configStructs.PreTapCheckName, defaultCheckConfig.PreTap, "Check pre-tap Kubeshark installation for potential problems")
checkCmd.Flags().Bool(configStructs.PreInstallCheckName, defaultCheckConfig.PreInstall, "Check pre-install Mizu installation for potential problems") checkCmd.Flags().Bool(configStructs.PreInstallCheckName, defaultCheckConfig.PreInstall, "Check pre-install Kubeshark installation for potential problems")
checkCmd.Flags().Bool(configStructs.ImagePullCheckName, defaultCheckConfig.ImagePull, "Test connectivity to container image registry by creating and removing a temporary pod in 'default' namespace") checkCmd.Flags().Bool(configStructs.ImagePullCheckName, defaultCheckConfig.ImagePull, "Test connectivity to container image registry by creating and removing a temporary pod in 'default' namespace")
} }

View File

@ -6,9 +6,9 @@ import (
"regexp" "regexp"
"time" "time"
"github.com/up9inc/mizu/cli/uiUtils" "github.com/kubeshark/kubeshark/cli/uiUtils"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
"github.com/up9inc/mizu/shared/kubernetes" "github.com/kubeshark/kubeshark/shared/kubernetes"
core "k8s.io/api/core/v1" core "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
) )
@ -17,7 +17,7 @@ func ImagePullInCluster(ctx context.Context, kubernetesProvider *kubernetes.Prov
logger.Log.Infof("\nimage-pull-in-cluster\n--------------------") logger.Log.Infof("\nimage-pull-in-cluster\n--------------------")
namespace := "default" namespace := "default"
podName := "mizu-test" podName := "kubeshark-test"
defer func() { defer func() {
if err := kubernetesProvider.RemovePod(ctx, namespace, podName); err != nil { if err := kubernetesProvider.RemovePod(ctx, namespace, podName); err != nil {
@ -31,11 +31,11 @@ func ImagePullInCluster(ctx context.Context, kubernetesProvider *kubernetes.Prov
} }
if err := checkImagePulled(ctx, kubernetesProvider, namespace, podName); err != nil { if err := checkImagePulled(ctx, kubernetesProvider, namespace, podName); err != nil {
logger.Log.Errorf("%v cluster is not able to pull mizu containers from docker hub, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), err) logger.Log.Errorf("%v cluster is not able to pull kubeshark containers from docker hub, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), err)
return false return false
} }
logger.Log.Infof("%v cluster is able to pull mizu containers from docker hub", fmt.Sprintf(uiUtils.Green, "√")) logger.Log.Infof("%v cluster is able to pull kubeshark containers from docker hub", fmt.Sprintf(uiUtils.Green, "√"))
return true return true
} }
@ -85,7 +85,7 @@ func createImagePullInClusterPod(ctx context.Context, kubernetesProvider *kubern
Containers: []core.Container{ Containers: []core.Container{
{ {
Name: "probe", Name: "probe",
Image: "up9inc/busybox", Image: "kubeshark/busybox",
ImagePullPolicy: "Always", ImagePullPolicy: "Always",
Command: []string{"cat"}, Command: []string{"cat"},
Stdin: true, Stdin: true,

View File

@ -3,11 +3,11 @@ package check
import ( import (
"fmt" "fmt"
"github.com/up9inc/mizu/cli/config" "github.com/kubeshark/kubeshark/cli/config"
"github.com/up9inc/mizu/cli/uiUtils" "github.com/kubeshark/kubeshark/cli/uiUtils"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
"github.com/up9inc/mizu/shared/kubernetes" "github.com/kubeshark/kubeshark/shared/kubernetes"
"github.com/up9inc/mizu/shared/semver" "github.com/kubeshark/kubeshark/shared/semver"
) )
func KubernetesApi() (*kubernetes.Provider, *semver.SemVersion, bool) { func KubernetesApi() (*kubernetes.Provider, *semver.SemVersion, bool) {

View File

@ -6,11 +6,11 @@ import (
"fmt" "fmt"
"strings" "strings"
"github.com/up9inc/mizu/cli/bucket" "github.com/kubeshark/kubeshark/cli/bucket"
"github.com/up9inc/mizu/cli/config" "github.com/kubeshark/kubeshark/cli/config"
"github.com/up9inc/mizu/cli/uiUtils" "github.com/kubeshark/kubeshark/cli/uiUtils"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
"github.com/up9inc/mizu/shared/kubernetes" "github.com/kubeshark/kubeshark/shared/kubernetes"
rbac "k8s.io/api/rbac/v1" rbac "k8s.io/api/rbac/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes/scheme" "k8s.io/client-go/kubernetes/scheme"
@ -41,7 +41,7 @@ func TapKubernetesPermissions(ctx context.Context, embedFS embed.FS, kubernetesP
switch resource := obj.(type) { switch resource := obj.(type) {
case *rbac.Role: case *rbac.Role:
return checkRulesPermissions(ctx, kubernetesProvider, resource.Rules, config.Config.MizuResourcesNamespace) return checkRulesPermissions(ctx, kubernetesProvider, resource.Rules, config.Config.KubesharkResourcesNamespace)
case *rbac.ClusterRole: case *rbac.ClusterRole:
return checkRulesPermissions(ctx, kubernetesProvider, resource.Rules, "") return checkRulesPermissions(ctx, kubernetesProvider, resource.Rules, "")
} }

View File

@ -4,29 +4,29 @@ import (
"context" "context"
"fmt" "fmt"
"github.com/up9inc/mizu/cli/config" "github.com/kubeshark/kubeshark/cli/config"
"github.com/up9inc/mizu/cli/uiUtils" "github.com/kubeshark/kubeshark/cli/uiUtils"
"github.com/up9inc/mizu/logger" "github.com/kubeshark/kubeshark/logger"
"github.com/up9inc/mizu/shared/kubernetes" "github.com/kubeshark/kubeshark/shared/kubernetes"
) )
func KubernetesResources(ctx context.Context, kubernetesProvider *kubernetes.Provider) bool { func KubernetesResources(ctx context.Context, kubernetesProvider *kubernetes.Provider) bool {
logger.Log.Infof("\nk8s-components\n--------------------") logger.Log.Infof("\nk8s-components\n--------------------")
exist, err := kubernetesProvider.DoesNamespaceExist(ctx, config.Config.MizuResourcesNamespace) exist, err := kubernetesProvider.DoesNamespaceExist(ctx, config.Config.KubesharkResourcesNamespace)
allResourcesExist := checkResourceExist(config.Config.MizuResourcesNamespace, "namespace", exist, err) allResourcesExist := checkResourceExist(config.Config.KubesharkResourcesNamespace, "namespace", exist, err)
exist, err = kubernetesProvider.DoesConfigMapExist(ctx, config.Config.MizuResourcesNamespace, kubernetes.ConfigMapName) exist, err = kubernetesProvider.DoesConfigMapExist(ctx, config.Config.KubesharkResourcesNamespace, kubernetes.ConfigMapName)
allResourcesExist = checkResourceExist(kubernetes.ConfigMapName, "config map", exist, err) && allResourcesExist allResourcesExist = checkResourceExist(kubernetes.ConfigMapName, "config map", exist, err) && allResourcesExist
exist, err = kubernetesProvider.DoesServiceAccountExist(ctx, config.Config.MizuResourcesNamespace, kubernetes.ServiceAccountName) exist, err = kubernetesProvider.DoesServiceAccountExist(ctx, config.Config.KubesharkResourcesNamespace, kubernetes.ServiceAccountName)
allResourcesExist = checkResourceExist(kubernetes.ServiceAccountName, "service account", exist, err) && allResourcesExist allResourcesExist = checkResourceExist(kubernetes.ServiceAccountName, "service account", exist, err) && allResourcesExist
if config.Config.IsNsRestrictedMode() { if config.Config.IsNsRestrictedMode() {
exist, err = kubernetesProvider.DoesRoleExist(ctx, config.Config.MizuResourcesNamespace, kubernetes.RoleName) exist, err = kubernetesProvider.DoesRoleExist(ctx, config.Config.KubesharkResourcesNamespace, kubernetes.RoleName)
allResourcesExist = checkResourceExist(kubernetes.RoleName, "role", exist, err) && allResourcesExist allResourcesExist = checkResourceExist(kubernetes.RoleName, "role", exist, err) && allResourcesExist
exist, err = kubernetesProvider.DoesRoleBindingExist(ctx, config.Config.MizuResourcesNamespace, kubernetes.RoleBindingName) exist, err = kubernetesProvider.DoesRoleBindingExist(ctx, config.Config.KubesharkResourcesNamespace, kubernetes.RoleBindingName)
allResourcesExist = checkResourceExist(kubernetes.RoleBindingName, "role binding", exist, err) && allResourcesExist allResourcesExist = checkResourceExist(kubernetes.RoleBindingName, "role binding", exist, err) && allResourcesExist
} else { } else {
exist, err = kubernetesProvider.DoesClusterRoleExist(ctx, kubernetes.ClusterRoleName) exist, err = kubernetesProvider.DoesClusterRoleExist(ctx, kubernetes.ClusterRoleName)
@ -36,7 +36,7 @@ func KubernetesResources(ctx context.Context, kubernetesProvider *kubernetes.Pro
allResourcesExist = checkResourceExist(kubernetes.ClusterRoleBindingName, "cluster role binding", exist, err) && allResourcesExist allResourcesExist = checkResourceExist(kubernetes.ClusterRoleBindingName, "cluster role binding", exist, err) && allResourcesExist
} }
exist, err = kubernetesProvider.DoesServiceExist(ctx, config.Config.MizuResourcesNamespace, kubernetes.ApiServerPodName) exist, err = kubernetesProvider.DoesServiceExist(ctx, config.Config.KubesharkResourcesNamespace, kubernetes.ApiServerPodName)
allResourcesExist = checkResourceExist(kubernetes.ApiServerPodName, "service", exist, err) && allResourcesExist allResourcesExist = checkResourceExist(kubernetes.ApiServerPodName, "service", exist, err) && allResourcesExist
allResourcesExist = checkPodResourcesExist(ctx, kubernetesProvider) && allResourcesExist allResourcesExist = checkPodResourcesExist(ctx, kubernetesProvider) && allResourcesExist
@ -45,7 +45,7 @@ func KubernetesResources(ctx context.Context, kubernetesProvider *kubernetes.Pro
} }
func checkPodResourcesExist(ctx context.Context, kubernetesProvider *kubernetes.Provider) bool { func checkPodResourcesExist(ctx context.Context, kubernetesProvider *kubernetes.Provider) bool {
if pods, err := kubernetesProvider.ListPodsByAppLabel(ctx, config.Config.MizuResourcesNamespace, kubernetes.ApiServerPodName); err != nil { if pods, err := kubernetesProvider.ListPodsByAppLabel(ctx, config.Config.KubesharkResourcesNamespace, kubernetes.ApiServerPodName); err != nil {
logger.Log.Errorf("%v error checking if '%v' pod is running, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), kubernetes.ApiServerPodName, err) logger.Log.Errorf("%v error checking if '%v' pod is running, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), kubernetes.ApiServerPodName, err)
return false return false
} else if len(pods) == 0 { } else if len(pods) == 0 {
@ -58,7 +58,7 @@ func checkPodResourcesExist(ctx context.Context, kubernetesProvider *kubernetes.
logger.Log.Infof("%v '%v' pod running", fmt.Sprintf(uiUtils.Green, "√"), kubernetes.ApiServerPodName) logger.Log.Infof("%v '%v' pod running", fmt.Sprintf(uiUtils.Green, "√"), kubernetes.ApiServerPodName)
if pods, err := kubernetesProvider.ListPodsByAppLabel(ctx, config.Config.MizuResourcesNamespace, kubernetes.TapperPodName); err != nil { if pods, err := kubernetesProvider.ListPodsByAppLabel(ctx, config.Config.KubesharkResourcesNamespace, kubernetes.TapperPodName); err != nil {
logger.Log.Errorf("%v error checking if '%v' pods are running, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), kubernetes.TapperPodName, err) logger.Log.Errorf("%v error checking if '%v' pods are running, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), kubernetes.TapperPodName, err)
return false return false
} else { } else {

Some files were not shown because too many files have changed in this diff Show More