Skip to content

CLI written in Go to help manage local Kubernetes clusters.

Notifications You must be signed in to change notification settings

LucasRufo/go-kindxt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Kindxt

This project is a clone of the amazing Kindxt made by @sergioprates, but written in Go.

Kindxt is a CLI that wraps the Kind project, making it easy to setup a new local Kubernetes cluster and add common helm charts to it. Kindxt does all the job to bind the host port correctly on the kindconfig.yaml. Be aware that this project is just a clone and it's not ready to be used, if you really need the funcionality described here, use the real Kindxt project.

I'm still learning Go and had this ideia of making a small clone of a project that I already have some familiarity to learn new concepts. For this project I've used the Cobra library to create the CLI.

Required tools

  • Docker 20.10.21
  • Helm 3.13.1
  • Kind 0.20.0

Commands

To see all the commands on your terminal, you can use the --help command.

To setup a new empty cluster:

gokindxt create-cluster

To add helm charts to the cluster you can use flags, for example:

gokindxt create-cluster --mongodb

The above command will create your local cluster, install the MongoDB helm chart and bind the default MongoDB port (27017) to your host.

To see all the helm charts that can be installed, check the charts section.

Charts

Chart Flag Host Port Node Port
MongoDB --mongodb 27017 30001

Next steps

  • Include more commands, like delete-cluster and update-cluster.
  • Include more helm charts options, like SQL Server, Istio and Redis.
  • Refactor the helm charts installation so that we don't run all the commands in every installation.
  • Write unit tests.
  • Create a Github actions pipeline to deploy the binary on Github.

About

CLI written in Go to help manage local Kubernetes clusters.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages