KinK is a helper CLI that facilitates to manage KinD clusters as Kubernetes pods. Designed to ease clusters up for fast testing with batteries included in mind.

Overview

kink Logo

kink

A helper CLI that facilitates to manage KinD clusters as Kubernetes pods.

Apache 2.0 Go Report Build Status GitHub release Go Mod


kink_v1.gif

Table of Contents

Introduction

Before getting started into the kink, we should talk about a bit KinD first who is not familiar with this project. KinD is a tool for running local Kubernetes clusters using Docker container _ nodes_. KinD was primarily designed for testing Kubernetes itself, but may be used for local development or CI.

So, what is kink then, where does this idea come from?

kink is a CLI application that facilitates to run KinD cluster in Kubernetes Pod and also manages the whole lifecycle of these clusters such as by listing them, deleting them, etc. There is a very detailed guide about how you can run KinD cluster in a Pod, for more detail, please see because this is where the idea came from.

The idea is that when you want to run ephemeral clusters by using projects like KinD in your CI/CD system instead of having Kubernetes clusters, because it might cost more, you might want to run your KinD cluster in a Pod, especially if you are using Gitlab as a CI/CD solution and running your jobs as Kubernetes Pod. This project specifically aims to solve that problem. By using kink, you can easily manage whole lifecycle of your KinD cluster no matter how many they are as Kubernetes Pod.

How it works ?

Architectural Diagram

kink_v1

kink is a just a wrapper around managing Docker images which are purposely built to run KinD on Kubernetes clusters inside a Pod. As I mentioned above, there is very detailed guide that explains all the necessary details to run Kind on Kubernetes clusters inside Pod. So, there are some Docker images which we maintained it here. In this repository, we are providing Docker images for different version of Docker and Kubernetes . Then, kink allows you to create Kubernetes Pods based on Docker images we provide and connect to the cluster running inside a Pod. In order the connect to the cluster running inside a Pod, kink does some tricks such as creating Kubernetes Service and adding node IP which is scheduled on to the CERT_SANS addresses to make the connection secure over HTTPS.

kink uses labels to follow the user activities because we have to provide multi-tenancy support for our users in order to avoid stepping each other toes in same Kubernetes environment, you can see the label which we are currently using to achieve uniqueness. https://github.com/Trendyol/kink/-/blob/master/cmd/run.go#L91

Installation

Go

If you have Go 1.16+, you can directly install by running:

$ go install github.com/Trendyol/[email protected]

and the resulting binary will be placed at $HOME/go/bin/kink.

Homebrew

If you have brew installed, then you can easily download this with the following commands:

brew tap trendyol/trendyol-tap
brew install kink

Quick Start

$ kink --help
A helper CLI that facilitates to manage KinD clusters as Kubernetes pods

Usage:
  kink [command]

Available Commands:
  completion              Generate completion script
  delete                  Ephemeral cluster could be deleted by delete command
  help                    Help about any command
  list                    List all ephemeral cluster
  list-supported-versions List all supported k8s versions
  run                     Ephemeral cluster could be created by run command

This shows how to:

  • list supported Kubernetes versions
  • pick one of these versions and run KinD cluster
  • list KinD clusters
  • delete KinD clusters

List supported Kubernetes versions

$ kink list-supported-versions
v1.16.15
v1.17.17
v1.19.11
v1.20.7
v1.21.2

Run KinD cluster

  • Choose one of your favorite Kubernetes distribution such as KinD, Minikube, k0s, k3s, etc and run it first.

Create custer with kind

$ kind create cluster

Run kink

$ kink hello-world run --timeout 360
[1/1] Creating Pod hello-world... 100% [===============] (0.001 kB/s)KUBECONFIG file has been written to
the directory: /var/folders/pf/6h9t0mnd4d342ncgpjq_3zl80000gp/T/kink_kubeconfig3638074110/kubeconfig
Thanks for using kink!
Pod hello-world and Service hello-world created successfully!

You can view the logs by running the following command:
$ kubectl logs -f hello-world -n default

KUBECONFIG file generated at path '/Users/batuhan.apaydin/workspace/projects/trendyol/k8s-common/kubeconfig'.
Start managing your internal KinD cluster by running the following command:
$ KUBECONFIG=/Users/batuhan.apaydin/workspace/projects/trendyol/k8s-common/kubeconfig kubectl get nodes -o wide

List KinD clusters

  • You can list all the KinD cluster provisied by yourself:
$ kink list
NAMESPACE   NAME              AGE    LABELS
default     pod/hello-world   5m5s   generated-uuid=99596236-4b08-4e09-82ec-db3158840a1c,runned-by=batuhan.apaydin_C02DM1U3MD6R

Delete KinD clusters

  • You can delete all the KinD clusters that you provisioned:
$ kink delete --all --force
Deleting Pod hello-world
Deleting Service hello-world
  • or you can delete one of them by speficying its name in the -name flag.

Autocompletion Support

To load completions:

Bash

$ source <(kink completion bash)

# To load completions for each session, execute once:
# Linux:
$ kink completion bash > /etc/bash_completion.d/kink
# macOS:
$ kink completion bash > /usr/local/etc/bash_completion.d/kink

Zsh

# If shell completion is not already enabled in your environment,
# you will need to enable it.  You can execute the following once:

$ echo "autoload -U compinit; compinit" >> ~/.zshrc

# To load completions for each session, execute once:
$ kink completion zsh > "${fpath[1]}/_kink"

# You will need to start a new shell for this setup to take effect.

fish

$ kink completion fish | source

# To load completions for each session, execute once:
$ kink completion fish > ~/.config/fish/completions/kink.fish

PowerShell

PS> kink completion powershell | Out-String | Invoke-Expression

# To load completions for every new session, run:
PS> kink completion powershell > kink.ps1
# and source this file from your PowerShell profile.
Issues
  • Can't install kink via the tap on a mac m1

    Can't install kink via the tap on a mac m1

    I tried installing kink using homebrew, but got the following error:

    Error: Invalid formula: /opt/homebrew/Library/Taps/trendyol/homebrew-trendyol-tap/kink.rb
    formulae require at least a URL
    Error: Cannot tap trendyol/trendyol-tap: invalid syntax in tap!
    

    This is on a MacM1, MacOS 11.5 and Homebrew 3.2.12

    Updated issue to indicate that it's related to arm vs amd64.

    opened by rberrelleza 8
  • feat: codecov support

    feat: codecov support

    What this PR does / why we need it: This PR adds codecov integration on unit testing

    Which issue(s) this PR related: Implements second task on #7

    Special notes for your reviewer: This is my first PR to Trendyol open source, so i am very open to any kind of feedbacks!

    opened by bilalcaliskan 5
  • build(deps): bump github.com/schollz/progressbar/v3 from 3.8.5 to 3.8.7

    build(deps): bump github.com/schollz/progressbar/v3 from 3.8.5 to 3.8.7

    Bumps github.com/schollz/progressbar/v3 from 3.8.5 to 3.8.7.

    Release notes

    Sourced from github.com/schollz/progressbar/v3's releases.

    v3.8.7

    • fix bug in printing newline

    v3.8.6

    • update deps
    Commits
    • 4ded600 Merge pull request #123 from bodgit/revert-113
    • 660a827 Revert "fix: Newline printing improperly in some situations"
    • a982b57 Test nothing gets written to os.Stdout
    • 0044010 update deps
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • build(deps): bump k8s.io/apimachinery from 0.22.1 to 0.24.2

    build(deps): bump k8s.io/apimachinery from 0.22.1 to 0.24.2

    Bumps k8s.io/apimachinery from 0.22.1 to 0.24.2.

    Commits
    • 97e5df2 fix remove implicit copy of a lock
    • 6550efd Merge pull request #109102 from liggitt/darwin-tls
    • 00f0711 Merge pull request #109031 from Jefftree/openapiv3beta
    • 53a85ef Tolerate additional error messages in TLS unit tests
    • 9b5b68c generated: Update kube-openapi and vendor
    • 31e52c9 Merge pull request #108126 from sanposhiho/doc/generatedname
    • 3b8fb46 Merge pull request #108713 from jiahuif-forks/feature/openapi/intstr-any-of
    • dd2f21c fix the doc about generateName conflict
    • 2866f23 oneOf types for IntOrString
    • 7b6c37e oneOf types for Quantity
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • build(deps): bump k8s.io/cli-runtime from 0.22.1 to 0.24.2

    build(deps): bump k8s.io/cli-runtime from 0.22.1 to 0.24.2

    Bumps k8s.io/cli-runtime from 0.22.1 to 0.24.2.

    Commits
    • 352601e Update dependencies to v0.24.2 tag
    • 6dc16e1 Ensure that not-exist and pattern error return different results
    • ef25b13 Merge pull request #109031 from Jefftree/openapiv3beta
    • 2acab5f generated: Update kube-openapi and vendor
    • fc580ea Add printer benchmarks (#109085)
    • 4287916 Merge pull request #108994 from KnVerey/kustomize-453
    • b3e84e3 Update error message assertions
    • 120e005 Update kubectl kustomize to kyaml/v0.13.6, cmd/config/v0.10.6, api/v0.11.4, k...
    • 053a019 Merge pull request #108126 from sanposhiho/doc/generatedname
    • 233dcab Merge pull request #108992 from alexzielenski/cache-busting-client-go
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • build(deps): bump k8s.io/client-go from 0.22.1 to 0.24.2

    build(deps): bump k8s.io/client-go from 0.22.1 to 0.24.2

    Bumps k8s.io/client-go from 0.22.1 to 0.24.2.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • build(deps): bump k8s.io/cli-runtime from 0.22.1 to 0.24.1

    build(deps): bump k8s.io/cli-runtime from 0.22.1 to 0.24.1

    Bumps k8s.io/cli-runtime from 0.22.1 to 0.24.1.

    Commits
    • b896e06 Update dependencies to v0.24.1 tag
    • 6dc16e1 Ensure that not-exist and pattern error return different results
    • ef25b13 Merge pull request #109031 from Jefftree/openapiv3beta
    • 2acab5f generated: Update kube-openapi and vendor
    • fc580ea Add printer benchmarks (#109085)
    • 4287916 Merge pull request #108994 from KnVerey/kustomize-453
    • b3e84e3 Update error message assertions
    • 120e005 Update kubectl kustomize to kyaml/v0.13.6, cmd/config/v0.10.6, api/v0.11.4, k...
    • 053a019 Merge pull request #108126 from sanposhiho/doc/generatedname
    • 233dcab Merge pull request #108992 from alexzielenski/cache-busting-client-go
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • build(deps): bump k8s.io/client-go from 0.22.1 to 0.24.1

    build(deps): bump k8s.io/client-go from 0.22.1 to 0.24.1

    Bumps k8s.io/client-go from 0.22.1 to 0.24.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • build(deps): bump k8s.io/apimachinery from 0.22.1 to 0.24.1

    build(deps): bump k8s.io/apimachinery from 0.22.1 to 0.24.1

    Bumps k8s.io/apimachinery from 0.22.1 to 0.24.1.

    Commits
    • 97e5df2 fix remove implicit copy of a lock
    • 6550efd Merge pull request #109102 from liggitt/darwin-tls
    • 00f0711 Merge pull request #109031 from Jefftree/openapiv3beta
    • 53a85ef Tolerate additional error messages in TLS unit tests
    • 9b5b68c generated: Update kube-openapi and vendor
    • 31e52c9 Merge pull request #108126 from sanposhiho/doc/generatedname
    • 3b8fb46 Merge pull request #108713 from jiahuif-forks/feature/openapi/intstr-any-of
    • dd2f21c fix the doc about generateName conflict
    • 2866f23 oneOf types for IntOrString
    • 7b6c37e oneOf types for Quantity
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • build(deps): bump k8s.io/client-go from 0.22.1 to 0.24.0

    build(deps): bump k8s.io/client-go from 0.22.1 to 0.24.0

    Bumps k8s.io/client-go from 0.22.1 to 0.24.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • build(deps): bump k8s.io/cli-runtime from 0.22.1 to 0.24.0

    build(deps): bump k8s.io/cli-runtime from 0.22.1 to 0.24.0

    Bumps k8s.io/cli-runtime from 0.22.1 to 0.24.0.

    Commits
    • a9b1e21 Update dependencies to v0.24.0 tag
    • 6dc16e1 Ensure that not-exist and pattern error return different results
    • ef25b13 Merge pull request #109031 from Jefftree/openapiv3beta
    • 2acab5f generated: Update kube-openapi and vendor
    • fc580ea Add printer benchmarks (#109085)
    • 4287916 Merge pull request #108994 from KnVerey/kustomize-453
    • b3e84e3 Update error message assertions
    • 120e005 Update kubectl kustomize to kyaml/v0.13.6, cmd/config/v0.10.6, api/v0.11.4, k...
    • 053a019 Merge pull request #108126 from sanposhiho/doc/generatedname
    • 233dcab Merge pull request #108992 from alexzielenski/cache-busting-client-go
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • build(deps): bump github.com/schollz/progressbar/v3 from 3.8.5 to 3.9.0

    build(deps): bump github.com/schollz/progressbar/v3 from 3.8.5 to 3.9.0

    Bumps github.com/schollz/progressbar/v3 from 3.8.5 to 3.9.0.

    Release notes

    Sourced from github.com/schollz/progressbar/v3's releases.

    v3.9.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/schollz/progressbar/compare/v3.8.7...v3.9.0

    v3.8.7

    • fix bug in printing newline

    v3.8.6

    • update deps
    Commits
    • a96b4b9 Merge pull request #122 from gabe565/time-no-length
    • 093c313 Show elapsed time when no length is given
    • 3ebeac9 Merge pull request #125 from NathanBaulch/humanize-byte-rate
    • 0d4fc1b Merge pull request #126 from NathanBaulch/throttled-renderblank
    • 134ade7 Merge pull request #127 from NathanBaulch/superfluous-carriage-returns
    • b8eacc7 Fix RenderBlank when throttled
    • 535af36 Remove superfluous carriage returns
    • 7c167da Use the existing humanize function to support GB/s rates
    • 4ded600 Merge pull request #123 from bodgit/revert-113
    • 660a827 Revert "fix: Newline printing improperly in some situations"
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • build(deps): bump k8s.io/cli-runtime from 0.22.1 to 0.24.3

    build(deps): bump k8s.io/cli-runtime from 0.22.1 to 0.24.3

    Bumps k8s.io/cli-runtime from 0.22.1 to 0.24.3.

    Commits
    • 4fdf49a Update dependencies to v0.24.3 tag
    • 6dc16e1 Ensure that not-exist and pattern error return different results
    • ef25b13 Merge pull request #109031 from Jefftree/openapiv3beta
    • 2acab5f generated: Update kube-openapi and vendor
    • fc580ea Add printer benchmarks (#109085)
    • 4287916 Merge pull request #108994 from KnVerey/kustomize-453
    • b3e84e3 Update error message assertions
    • 120e005 Update kubectl kustomize to kyaml/v0.13.6, cmd/config/v0.10.6, api/v0.11.4, k...
    • 053a019 Merge pull request #108126 from sanposhiho/doc/generatedname
    • 233dcab Merge pull request #108992 from alexzielenski/cache-busting-client-go
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • build(deps): bump k8s.io/client-go from 0.22.1 to 0.24.3

    build(deps): bump k8s.io/client-go from 0.22.1 to 0.24.3

    Bumps k8s.io/client-go from 0.22.1 to 0.24.3.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • build(deps): bump k8s.io/apimachinery from 0.22.1 to 0.24.3

    build(deps): bump k8s.io/apimachinery from 0.22.1 to 0.24.3

    Bumps k8s.io/apimachinery from 0.22.1 to 0.24.3.

    Commits
    • 97e5df2 fix remove implicit copy of a lock
    • 6550efd Merge pull request #109102 from liggitt/darwin-tls
    • 00f0711 Merge pull request #109031 from Jefftree/openapiv3beta
    • 53a85ef Tolerate additional error messages in TLS unit tests
    • 9b5b68c generated: Update kube-openapi and vendor
    • 31e52c9 Merge pull request #108126 from sanposhiho/doc/generatedname
    • 3b8fb46 Merge pull request #108713 from jiahuif-forks/feature/openapi/intstr-any-of
    • dd2f21c fix the doc about generateName conflict
    • 2866f23 oneOf types for IntOrString
    • 7b6c37e oneOf types for Quantity
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Add missing name input on the delete command

    Add missing name input on the delete command

    Thanks for the effort spent on this project!

    Currently, the delete command doesn't support deleting a single cluster without selecting it with the interactive shell. This pull request adds the --name option to allow this behavior.

    There is also the new --silent flag to skip the last interactive confirmation to make running the CLI in the CI/CD easier.

    I am looking forward to hearing your feedback and comments.

    opened by gadiener 5
  • build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.2 to 2.3.5

    build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.2 to 2.3.5

    Bumps github.com/AlecAivazis/survey/v2 from 2.3.2 to 2.3.5.

    Release notes

    Sourced from github.com/AlecAivazis/survey/v2's releases.

    v2.3.5

    No release notes provided.

    v2.3.4

    What's Changed

    Full Changelog: https://github.com/AlecAivazis/survey/compare/v2.3.3...v2.3.4

    v2.3.3

    No release notes provided.

    Commits
    • e47352f Fix README formatting for select descriptions (#426)
    • c2be27f Added an option to add a comment to every select's option (#418)
    • 93657ef Enable compilation under Go 1.18 (#417)
    • 459523e Add terminal.Cursor error handling on Windows (#414)
    • 6cbb195 Fix Survey output on Windows (#413)
    • c07023a Skip vi-dependent tests when there is no vi in PATH (#397)
    • 099a968 Fix multiple validator inconsistency (#401)
    • 1b28f27 fix: ensure terminal has required read settings in non-canonical mode (#409)
    • bcabe24 Stricter error handling in tests (#404)
    • 3cabaff Drop proprietary runner dependency in favor of go tooling (#403)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
Releases(v0.2.1)
  • v0.2.1(Dec 27, 2021)

    Changelog

    • 3b59045 Fix hello-world command example (#27)
    • d5d6584 docs(readme): fix commands, add homebrew installation section
    • 42be76d docs(readme): make bold binary installation path
    • b454969 docs(readme): remove sign/verify paragraphs
    • e050b83 feat: codecov support (#26)
    • b8e45f5 feat: improve release and installation with MacOS (#47)
    • 50005fe fix: golint issues are fixed
    Source code(tar.gz)
    Source code(zip)
    kink_0.2.1_Darwin-arm64.tar.gz(9.51 MB)
    kink_0.2.1_Darwin-x86_64.tar.gz(9.65 MB)
    kink_0.2.1_Linux-x86_64.tar.gz(9.16 MB)
    kink_0.2.1_Windows-x86_64.tar.gz(9.19 MB)
    kink_checksums.txt(391 bytes)
    kink_checksums.txt.sig(96 bytes)
  • v0.1.1(Sep 15, 2021)

  • v0.1.0(Sep 15, 2021)

    Changelog

    f215035 Initial commit fea5d66 add docker-images 7238fdc build(deps): bump github.com/AlecAivazis/survey/v2 from 2.2.16 to 2.3.2 (#11) 05e0b88 build(deps): bump github.com/schollz/progressbar/v3 from 3.8.2 to 3.8.3 (#12) 7ff6408 build: release cycle created with github actions 3455075 chore(docker): enable docker build to push image cf08cde chore(goreleaser): add homebrew integration (#5) 27dfd89 chore: impl cosign support 454be90 chore: user kindest/node instead 61f686b delete confirm is added f5e6bd4 descriptions are changed 1847d17 doc(completion): fix completion docs (#10) 5bb6e6b docs(readme): add new badges d4c2674 docs(readme): edit badges e9edb4e feat(completion): help message for completion command improved 582d461 feat(core): container ready logic fixed 33f2098 feat(core): create kubeconfig file Kubeconfig file generated and extracted to given output path 5f3b936 feat(core): delete service when delete pod 9ac2d32 feat(core): fix for k8s version, force delete 51d019f feat(core): goreleaser implemented 3cc0e52 feat(core): imagePullPolicy changed from Always to IfNotPresent d998378 feat(core): kubeconfig generated to new temporary directory instead of /tmp directory cf9bff7 feat(core): merge kubeconfig files e896874 feat(core): progressbar implemented Display progressbar while user waiting for the Pod creation 58bd427 feat(core): project skeleton created b5a1608 feat(core): support other k8s versions 946407c feat(core): table printer support for list command 90e84e0 feat(core): tar.gz upload, docker image load, naming schemes a386865 feat(docker): make it docker.sock 8cbee2f feat(goreleaser): add go proxy 33cfb31 feat(images): change container image repository addresses d1f26c4 feat(load): pull image if it is not exist on locally 3745aa5 feat(pipeline): GO_PRIVATE test 30d4ddd feat(style): arch digram created cf5f7ab feat(style): cli flags and licences improved 26d8205 feat: add .golangci.yaml 875f062 feat: add completions script for goreleaser (#13) 11b039c feat: add test workflow d65d062 feat: license lint error fixed, detect and work with current namespace in kubeconfig, enhance delete message with force mode enabled be7c737 feat: make skip_upload true 50ac66b fix(archives): .MD changed as .md, snapshot release disabled 98882d5 fix(cmd): should not error out twice c638e91 fix(core): container ready logic fixed 77253b5 fix(core): exec: "gcc": executable file not found in $PATH 8232cf4 fix(delete): delete operation force mode c19a766 fix(doc): add new line aed6e95 fix(doc): add new line (#4) f80eb95 fix(doc): remove new line ca72cf3 fix(docker): disable docker push 4b6b9a2 fix(git): add git package to alpine d469e67 fix(git): add git package to go based image 5a974fb fix(gitlab): release gitlab a4c2fc5 fix(go): change default image to golang cc2dfee fix(goreleaser): remove completions from brew 0507586 fix(kubeconfig): delete unnecessary kubeconfig folder 830809d fix(run): update service if exist 50de4ca fix(token): GITLAB_TOKEN env fixed 3d38d8f fix: add go 1.17.x to the matrix, remove dockerfile (#14) d8277e9 fix: change binary name 6e10151 fix: github release project name d9021f9 fix: lint,fmt issues 9343931 gopher-viking logo c79d5fa initial commit f80aeb3 initialize command funcs 32aae37 list, run, delete options configured 3b208c0 run kubeconfig output e461061 some fixes for delete op

    Docker images

    • docker pull ghcr.io/trendyol/kink:0.1.0-amd64
    Source code(tar.gz)
    Source code(zip)
    kink_0.1.0_Darwin-x86_64.tar.gz(9.65 MB)
    kink_0.1.0_Linux-x86_64.tar.gz(9.16 MB)
    kink_0.1.0_Windows-x86_64.tar.gz(9.19 MB)
    kink_checksums.txt(294 bytes)
    kink_checksums.txt.sig(96 bytes)
Owner
Trendyol Open Source
Trendyol Open Source
Kubectl plugin to ease sniffing on kubernetes pods using tcpdump and wireshark

ksniff A kubectl plugin that utilize tcpdump and Wireshark to start a remote capture on any pod in your Kubernetes cluster. You get the full power of

Eldad Rudich 2.3k Jul 30, 2022
Crossplane provider to provision and manage Kubernetes objects on (remote) Kubernetes clusters.

provider-kubernetes provider-kubernetes is a Crossplane Provider that enables deployment and management of arbitrary Kubernetes objects on clusters ty

Crossplane Contrib 52 Jul 20, 2022
🐶 Kubernetes CLI To Manage Your Clusters In Style!

K9s - Kubernetes CLI To Manage Your Clusters In Style! K9s provides a terminal UI to interact with your Kubernetes clusters. The aim of this project i

Fernand Galiana 17.4k Aug 4, 2022
Kubernetes IN Docker - local clusters for testing Kubernetes

kind is a tool for running local Kubernetes clusters using Docker container "nodes".

Kubernetes SIGs 10.2k Aug 6, 2022
Kubernetes IN Docker - local clusters for testing Kubernetes

Please see Our Documentation for more in-depth installation etc. kind is a tool for running local Kubernetes clusters using Docker container "nodes".

Kaisen Linux 0 Feb 14, 2022
Kubectl plugin to run curl commands against kubernetes pods

kubectl-curl Kubectl plugin to run curl commands against kubernetes pods Motivation Sending http requests to kubernetes pods is unnecessarily complica

Segment 154 Aug 4, 2022
A Kubernetes CSI plugin to automatically mount SPIFFE certificates to Pods using ephemeral volumes

csi-driver-spiffe csi-driver-spiffe is a Container Storage Interface (CSI) driver plugin for Kubernetes to work along cert-manager. This CSI driver tr

null 25 Jun 30, 2022
gpu-memory-monitor is a metrics server for collecting GPU memory usage of kubernetes pods.

gpu-memory-monitor is a metrics server for collecting GPU memory usage of kubernetes pods. If you have a GPU machine, and some pods are using the GPU device, you can run the container by docker or kubernetes when your GPU device belongs to nvidia. The gpu-memory-monitor will collect the GPU memory usage of pods, you can get those metrics by API of gpu-memory-monitor

null 2 Jul 27, 2022
Viewnode displays Kubernetes cluster nodes with their pods and containers.

viewnode The viewnode shows Kubernetes cluster nodes with their pods and containers. It is very useful when you need to monitor multiple resources suc

NTTDATA-DACH 8 Jul 15, 2022
PolarDB Stack is a DBaaS implementation for PolarDB-for-Postgres, as an operator creates and manages PolarDB/PostgreSQL clusters running in Kubernetes. It provides re-construct, failover swtich-over, scale up/out, high-available capabilities for each clusters.

PolarDB Stack开源版生命周期 1 系统概述 PolarDB是阿里云自研的云原生关系型数据库,采用了基于Shared-Storage的存储计算分离架构。数据库由传统的Share-Nothing,转变成了Shared-Storage架构。由原来的N份计算+N份存储,转变成了N份计算+1份存储

null 22 Jul 18, 2022
Manage large fleets of Kubernetes clusters

Introduction Fleet is GitOps at scale. Fleet is designed to manage up to a million clusters. It's also lightweight enough that it works great for a si

Rancher 1.2k Jul 31, 2022
Simple Tools to help manage non-production Kubernetes Clusters

SecondMate.io A tool to help your nonProduction Kubernetes Clusters running clean. The goal of this tool is to add some features to non production clu

Corey McGalliard 1 Feb 21, 2022
An open-source, distributed, cloud-native CD (Continuous Delivery) product designed for developersAn open-source, distributed, cloud-native CD (Continuous Delivery) product designed for developers

Developer-oriented Continuous Delivery Product ⁣ English | 简体中文 Table of Contents Zadig Table of Contents What is Zadig Quick start How to use? How to

null 0 Oct 19, 2021
Deletes completed pods that are owned by ArgoWorkflow.

argoworkflow-pod-reaper Deletes completed pods that are owned by ArgoWorkflow. Usage: go test ./... -cover ok github.com/smallcase/workfl

smallcase 5 Sep 2, 2021
A kubectl plugin to evict pods

kubectl-evict A kubectl plugin to evict pods. This plugin is good to remove a pod from your cluster or to test your PodDistruptionBudget. ?? Installat

Shin'ya Ueoka 11 Jul 25, 2022
Kubectl Locality Plugin - A plugin to get the locality of pods

Kubectl Locality Plugin - A plugin to get the locality of pods

John Howard 6 Nov 18, 2021
vcluster - Create fully functional virtual Kubernetes clusters - Each cluster runs inside a Kubernetes namespace and can be started within seconds

Website • Quickstart • Documentation • Blog • Twitter • Slack vcluster - Virtual Clusters For Kubernetes Lightweight & Low-Overhead - Based on k3s, bu

Loft Labs 1.8k Aug 7, 2022
provider-kubernetes is a Crossplane Provider that enables deployment and management of arbitrary Kubernetes objects on clusters

provider-kubernetes provider-kubernetes is a Crossplane Provider that enables deployment and management of arbitrary Kubernetes objects on clusters ty

International Business Machines 2 Jan 5, 2022
Infrastructure testing helper for AWS Resources that uses AWS SSM to remotely execute commands on EC2 machines.

Infrastructure testing helper for AWS Resources that uses AWS SSM to remotely execute commands on EC2 machines, to enable infrastructure engineering teams to write tests that validate behaviour.

Ankit Wal 18 Jul 28, 2022