Giter Club home page Giter Club logo

kindxt's Introduction

Kindxt

main

Kindxt is a wrapper for Kind to easily install common applications on Kind. This is only for local environments and you need to consider some conventions for configurations.

When I was configuring Kind with some applications, I felt some pain to organize all applications that I needed, because Kind on windows asks us to configure the port maps between the host and container. It's easy to do if you have only one application and only need to do this once. I had to do this configuration in many situations and I was tired to do this. So I created this wrapper to do this configuration with the command line so that I don't have to worry about conflicts on the Kind node ports because the configuration will stay centralized and can be shared between projects.

Getting Started

  1. Download the Kindxt from releases on github.
  2. Put the executable on PATH environment variable.
  3. Run kindxt --help to see all options.

Tools

  • Kubernetes Version: v1.26.0
  • Kind Version: 0.17.0
  • Helm Version: 3.9.1
  • Docker Api Version: 1.41

All options accepted

Options Description Host Port NodePort Username Password
-c, --create-cluster Delete the cluster and create a new one - - - -
--sqlserver Install sqlserver chart on kind localhost:1433 30000 sa P@ssword123
--mongodb Install mongodb chart on kind localhost:27017 30008 desenv P@ssword123
--postgres Install postgres chart on kind localhost:5432 30001 desenv P@ssword123
--citus Install citus chart with 2 nodes on kind localhost:5433 30007 desenv P@ssword123
--istio-ingress Install istio-ingress chart on kind, this create the namespaces istio-ingress and istio-system localhost:8081 http, localhost:8082 https, localhost:8083 status-port 30004, 30005, 30006 - -
--pg-admin Install pgadmin chart on kind http://localhost:9000 30002 [email protected] P@ssword123
--nginx-ingress Install nginx-ingress chart on kind http://localhost:8080 30003 - -
--keda Install Keda chart on kind, this creates the namespace keda - - - -
--redis Install Redis chart on kind localhost:6379 30011 - P@ssword123
--rabbitmq Install RabbitMQ chart on kind http://localhost:5672 amqp, http://localhost:15672 manager 30009, 30010 desenv P@ssword123
--version Show version information - - - -
-?, -h, --help Show help and usage information - - - -

And if I want reinstall some package?

Run the command without the --create-cluster parameter and the reinstall will happen.

How to add new chart?

  1. Create a new folder inside the directory charts
  2. Create a class that inherits IHelmChart and HelmChartBase
  3. Implement the methods and create a config file with the default configurations
  4. Create a port mapping in the class Ports. The number of the node port should be incremental
  5. Update the readme with the parameters, default URL, user, and password if apply
  6. Open a pull request

Roadmap

  1. Log the ports opened in the install action
  2. Version the package
  3. Generate changelog.md
  4. Generate a chocolatey package
  5. Install Kafka

kindxt's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

kindxt's Issues

Error when running in docker desktop for windows 4.25

I was experiencing an error when running kindxt with Docker Desktop for Windows version 4.25.0.

The workaround that worked fopr me here was to change the kindest/node image version inside kind's config file kindxt\publish\Kind\config.yaml.

In my case I changed from kindest/node:v1.26.0@sha256:691e24bd2417609db7e589e1a479b902d2e209892a10ce375fab60a8407c7352 to kindest/node:v1.27.3@sha256:3966ac761ae0136263ffdb6cfd4db23ef8a83cba8a463690e98317add2c9ba72.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.