mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-06-28 00:59:58 +00:00
Release action (#73)
* Create main.yml * Update main.yml * Update main.yml * Update main.yml * Update main.yml * trying new approach * no message * yaml error * no message * no message * no message * missing ) * no message * no message * remove main.yml and fix branches * Create tag-temp.yaml * Update tag-temp.yaml * Update tag-temp.yaml * no message * no message * no message * no message * no message * no message * no message * #minor * no message * no message * added checksum calc to CLI makefile * fixed build error - created bin directory upfront * using markdown for release text * use separate checksum files * fixed release readme * #minor * readme updated Co-authored-by: Alex Haiut <alex@up9.com>
This commit is contained in:
parent
64253cd919
commit
9a1c17cc61
34
.github/workflows/publish-cli.yml
vendored
34
.github/workflows/publish-cli.yml
vendored
@ -2,8 +2,9 @@ name: public-cli
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- 'develop'
|
- develop
|
||||||
- 'main'
|
- main
|
||||||
|
- my-temp-release-check
|
||||||
jobs:
|
jobs:
|
||||||
docker:
|
docker:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -15,5 +16,32 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
service_account_key: ${{ secrets.GCR_JSON_KEY }}
|
service_account_key: ${{ secrets.GCR_JSON_KEY }}
|
||||||
export_default_credentials: true
|
export_default_credentials: true
|
||||||
|
- uses: haya14busa/action-cond@v1
|
||||||
|
id: condval
|
||||||
|
with:
|
||||||
|
cond: ${{ github.ref == 'refs/heads/main' }}
|
||||||
|
if_true: "minor"
|
||||||
|
if_false: "patch"
|
||||||
|
- name: Auto Increment Semver Action
|
||||||
|
uses: MCKanpolat/auto-semver-action@1.0.5
|
||||||
|
id: versioning
|
||||||
|
with:
|
||||||
|
releaseType: ${{ steps.condval.outputs.value }}
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Get base image name
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo "##[set-output name=build_timestamp;]$(echo $(date +%s))"
|
||||||
|
echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
|
||||||
|
id: version_parameters
|
||||||
- name: Build and Push CLI
|
- name: Build and Push CLI
|
||||||
run: make push-cli
|
run: make push-cli SEM_VER='${{ steps.versioning.outputs.version }}' BUILD_TIMESTAMP='${{ steps.version_parameters.outputs.build_timestamp }}'
|
||||||
|
- name: publish
|
||||||
|
uses: ncipollo/release-action@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
artifacts: "cli/bin/*"
|
||||||
|
commit: ${{ steps.version_parameters.outputs.branch }}
|
||||||
|
tag: ${{ steps.versioning.outputs.version }}
|
||||||
|
prerelease: ${{ github.ref != 'refs/heads/main' }}
|
||||||
|
bodyFile: 'cli/bin/README.md'
|
||||||
|
39
README.md
39
README.md
@ -3,16 +3,45 @@ standalone web app traffic viewer for Kubernetes
|
|||||||
|
|
||||||
## Download
|
## Download
|
||||||
|
|
||||||
Download `mizu` for your platform as
|
Download `mizu` for your platform and operating system
|
||||||
|
|
||||||
* for MacOS - `curl -o mizu https://static.up9.com/mizu/mizu-darwin-amd64 && chmod 755 mizu`
|
### Latest stable release
|
||||||
* for Linux - `curl -o mizu https://static.up9.com/mizu/mizu-linux-amd64 && chmod 755 mizu`
|
|
||||||
|
|
||||||
## Run
|
* for MacOS - Intel
|
||||||
|
`curl -Lo mizu https://github.com/up9inc/mizu/releases/latest/download/mizu_darwin_amd64 && chmod 755 mizu`
|
||||||
|
|
||||||
|
* for MacOS - Apple Silicon
|
||||||
|
`curl -Lo mizu https://github.com/up9inc/mizu/releases/latest/download/mizu_darwin_arm64 && chmod 755 mizu`
|
||||||
|
|
||||||
|
* for Linux - Intel 64bit
|
||||||
|
`curl -Lo mizu https://github.com/up9inc/mizu/releases/latest/download/mizu_linux_amd64 && chmod 755 mizu`
|
||||||
|
|
||||||
|
|
||||||
|
SHA256 checksums are available on the [Releases](https://github.com/up9inc/mizu/releases) page.
|
||||||
|
|
||||||
|
### Development (unstable) build
|
||||||
|
Pick one from the [Releases](https://github.com/up9inc/mizu/releases) page.
|
||||||
|
|
||||||
|
## How to run
|
||||||
|
|
||||||
1. Find pod you'd like to tap to in your Kubernetes cluster
|
1. Find pod you'd like to tap to in your Kubernetes cluster
|
||||||
2. Run `mizu --pod podname`
|
2. Run `mizu PODNAME` or `mizu REGEX`
|
||||||
3. Open browser on `http://localhost:8899` as instructed ..
|
3. Open browser on `http://localhost:8899` as instructed ..
|
||||||
4. Watch the WebAPI traffic flowing ..
|
4. Watch the WebAPI traffic flowing ..
|
||||||
|
5. Type ^C to stop
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
To tap specific pod -
|
||||||
|
```
|
||||||
|
$ kubectl get pods | grep front-end
|
||||||
|
NAME READY STATUS RESTARTS AGE
|
||||||
|
front-end-649fc5fd6-kqbtn 2/2 Running 0 7m
|
||||||
|
$ mizu tap front-end-649fc5fd6-kqbtn
|
||||||
|
+front-end-649fc5fd6-kqbtn
|
||||||
|
Web interface is now available at http://localhost:8899
|
||||||
|
^C
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
12
cli/Makefile
12
cli/Makefile
@ -1,6 +1,8 @@
|
|||||||
FOLDER=$(GOOS).$(GOARCH)
|
SUFFIX=$(GOOS)_$(GOARCH)
|
||||||
COMMIT_HASH=$(shell git rev-parse HEAD)
|
COMMIT_HASH=$(shell git rev-parse HEAD)
|
||||||
GIT_BRANCH=$(shell git branch --show-current | tr '[:upper:]' '[:lower:]')
|
GIT_BRANCH=$(shell git branch --show-current | tr '[:upper:]' '[:lower:]')
|
||||||
|
GIT_VERSION=$(shell git branch --show-current | tr '[:upper:]' '[:lower:]')
|
||||||
|
BUILD_TIMESTAMP=$(shell date +%s)
|
||||||
|
|
||||||
.PHONY: help
|
.PHONY: help
|
||||||
.DEFAULT_GOAL := help
|
.DEFAULT_GOAL := help
|
||||||
@ -12,10 +14,16 @@ install:
|
|||||||
go install mizu.go
|
go install mizu.go
|
||||||
|
|
||||||
build: ## build mizu CLI binary (select platform via GOOS / GOARCH env variables)
|
build: ## build mizu CLI binary (select platform via GOOS / GOARCH env variables)
|
||||||
go build -ldflags="-X 'github.com/up9inc/mizu/cli/mizu.GitCommitHash=$(COMMIT_HASH)' -X 'github.com/up9inc/mizu/cli/mizu.Branch=$(GIT_BRANCH)'" -o bin/$(FOLDER)/mizu mizu.go
|
go build -ldflags="-X 'github.com/up9inc/mizu/cli/mizu.GitCommitHash=$(COMMIT_HASH)' \
|
||||||
|
-X 'github.com/up9inc/mizu/cli/mizu.Branch=$(GIT_BRANCH)' \
|
||||||
|
-X 'github.com/up9inc/mizu/cli/mizu.BuildTimestamp=$(BUILD_TIMESTAMP)' \
|
||||||
|
-X 'github.com/up9inc/mizu/cli/mizu.SemVer=$(SEM_VER)'" \
|
||||||
|
-o bin/mizu_$(SUFFIX) mizu.go
|
||||||
|
(cd bin && shasum -a 256 mizu_${SUFFIX} > mizu_${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"
|
||||||
|
@mkdir -p bin && echo "SHA256 checksums available for compiled binaries \n\nRun \`shasum -a 256 -c mizu_OS_ARCH.sha256\` to verify\n\n" > bin/README.md
|
||||||
@$(MAKE) build GOOS=darwin GOARCH=amd64
|
@$(MAKE) build GOOS=darwin GOARCH=amd64
|
||||||
@$(MAKE) build GOOS=linux GOARCH=amd64
|
@$(MAKE) build GOOS=linux GOARCH=amd64
|
||||||
@# $(MAKE) GOOS=windows GOARCH=amd64
|
@# $(MAKE) GOOS=windows GOARCH=amd64
|
||||||
|
@ -249,11 +249,7 @@ func createRBACIfNecessary(ctx context.Context, kubernetesProvider *kubernetes.P
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if !mizuRBACExists {
|
if !mizuRBACExists {
|
||||||
var versionString = mizu.Version
|
err := kubernetesProvider.CreateMizuRBAC(ctx, mizu.ResourcesNamespace, mizu.RBACVersion)
|
||||||
if mizu.GitCommitHash != "" {
|
|
||||||
versionString += "-" + mizu.GitCommitHash
|
|
||||||
}
|
|
||||||
err := kubernetesProvider.CreateMizuRBAC(ctx, mizu.ResourcesNamespace, versionString)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("warning: could not create mizu rbac resources %v\n", err)
|
fmt.Printf("warning: could not create mizu rbac resources %v\n", err)
|
||||||
return false
|
return false
|
||||||
|
@ -3,19 +3,38 @@ package cmd
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/up9inc/mizu/cli/mizu"
|
"github.com/up9inc/mizu/cli/mizu"
|
||||||
|
"strconv"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type MizuVersionOptions struct {
|
||||||
|
DebugInfo bool
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var mizuVersionOptions = &MizuVersionOptions{}
|
||||||
|
|
||||||
var versionCmd = &cobra.Command{
|
var versionCmd = &cobra.Command{
|
||||||
Use: "version",
|
Use: "version",
|
||||||
Short: "Print version info",
|
Short: "Print version info",
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
fmt.Printf("%s (%s) %s\n", mizu.Version, mizu.Branch, mizu.GitCommitHash)
|
if mizuVersionOptions.DebugInfo {
|
||||||
|
timeStampInt, _ := strconv.ParseInt(mizu.BuildTimestamp, 10, 0)
|
||||||
|
fmt.Printf("Version: %s \nBranch: %s (%s) \n", mizu.SemVer, mizu.Branch, mizu.GitCommitHash)
|
||||||
|
fmt.Printf("Build Time: %s (%s)\n", mizu.BuildTimestamp, time.Unix(timeStampInt, 0))
|
||||||
|
|
||||||
|
} else {
|
||||||
|
fmt.Printf("Version: %s (%s)\n", mizu.SemVer, mizu.Branch)
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
rootCmd.AddCommand(versionCmd)
|
rootCmd.AddCommand(versionCmd)
|
||||||
|
|
||||||
|
versionCmd.Flags().BoolVarP(&mizuVersionOptions.DebugInfo, "debug", "d", false, "Provide all information about version")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
package mizu
|
package mizu
|
||||||
|
|
||||||
var (
|
var (
|
||||||
Version = "v0.0.1"
|
SemVer = "0.0.1"
|
||||||
Branch = "develop"
|
Branch = "develop"
|
||||||
GitCommitHash = "" // this var is overridden using ldflags in makefile when building
|
GitCommitHash = "" // this var is overridden using ldflags in makefile when building
|
||||||
|
BuildTimestamp = "" // this var is overridden using ldflags in makefile when building
|
||||||
|
RBACVersion = "v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
Loading…
Reference in New Issue
Block a user