Giter Site home page Giter Site logo

zadm / kexp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from iximiuz/kexp

0.0 0.0 0.0 8.54 MB

k'exp - Kubernetes Explorer

Home Page: https://labs.iximiuz.com/playgrounds?category=kubernetes

License: Apache License 2.0

JavaScript 2.57% Go 13.08% TypeScript 41.94% CSS 2.58% Makefile 0.39% HTML 0.16% Vue 39.27%

kexp's Introduction

k'exp - Kubernetes Explorer

Understand Kubernetes - the visual way. Not yet another attempt to manage production clusters in the browser.

k'exp is for:

  • Learning and exploring Kubernetes capabilities
  • Application development (object graph presets for every app)
  • Controller and operator development (dynamic object graphs)
  • [coming soon] Postman-like client and request builder for Kubernetes API

k'exp can reflect the state of your cluster in real-time:

k'exp in action

k'exp can also give you a quick overview of "related" objects:

k'exp in action

...as well as show object-specific insights:

k'exp in action

In the wild

You can try k'exp at every Kubernetes Playground on iximiuz Labs. Some tutorials also use k'exp to visualize Kubernetes objects and their relationships:

You can also find a few short demos on YouTube.

Installation

Grab the latest release from GitHub:

GOOS=linux
GOARCH=amd64

curl -Ls https://github.com/iximiuz/kexp/releases/latest/download/kexp_${GOOS}_${GOARCH}.tar.gz | tar xvz

sudo mv kexp /usr/local/bin

At the moment, the only system kexp is actively tested on is Linux amd64, but builds for Darwin amd64/arm64 and Linux arm64 are also available.

Usage

It's a statically linked Go binary with an embedded UI. If you already have kubectl configured to access your cluster(s), you can run kexp too - it uses the same KUBECONFIG discovery logic.

By default, kexp starts a server on localhost:5173:

kexp

open localhost:5173

Alternatively, you can specify a custom address:

kexp --host 0.0.0.0 --port 8090

How it works

kexp is a daemon that uses the local KUBECONFIG to access Kubernetes API. Thus, it's as powerful (and potentially destructive!) as your kubectl can get. The daemon lists Kubernetes API resources and objects, may start a bunch of watchers for the objects of interest, and even delete objects if you ask it to (via the UI). The UI is a single-page application written in TypeScript and Vue and embedded into the daemon binary.

Development

Pre-requisites:

go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest

cd ui
npm install

# Optional
kind create cluster
# ...or
minikube start

Running the dev server and the UI is easy:

# In terminal 1
make back-run-dev

# In terminal 2
make front-run-dev

After that, you can access the UI at http://localhost:5173.

Contributing

Contributions are welcome!

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.