Sign inSign up

gcassata/izykube

By gcassata

•Updated 4 days ago

Visual Kubernetes cluster designer — drag-and-drop YAML generation and one-click deployment.

Image
Integration & delivery
Developer tools
0

1.8K

gcassata/izykube repository overview

⁠IzyKube

A visual Kubernetes cluster designer and deployment tool.

IzyKube lets you design Kubernetes clusters visually using a drag-and-drop diagram editor, then automatically generates YAML manifests and deploys them to a real Kubernetes cluster — no YAML writing required.


⁠What is IzyKube?

IzyKube is a full-stack application composed of:

  • an Angular frontend with a GoJS-powered diagram canvas
  • a Spring Boot backend that processes cluster definitions into Kubernetes YAML and interacts with a live cluster via the Fabric8 Kubernetes client

Users drag nodes (Deployments, Services, Pods, ConfigMaps, Ingresses, Volumes) onto a canvas, connect them, fill in configuration forms, and deploy — all from a visual interface.


⁠Architecture

┌─────────────────────────────────────┐
│           Angular Frontend          │
│  GoJS Diagram  │  NgRx Store        │
│  Node Forms    │  Auto-save         │
└────────────────┬────────────────────┘
                 │ REST API
┌────────────────▼────────────────────┐
│         Spring Boot Backend         │
│  ClusterService │ TemplateFactory   │
│  Processors     │ Fabric8 Client    │
└────────────────┬────────────────────┘
                 │
┌────────────────▼────────────────────┐
│        Kubernetes Cluster           │
│  MongoDB (cluster persistence)      │
│  Docker Registry (asset images)     │
└─────────────────────────────────────┘

⁠Supported Node Types

NodeDescription
DeploymentManages replicated pods with configurable strategy, resources, and asset image
PodStandalone pod with restart policy and scheduling options
ContainerIndividual container spec linked to a Docker image asset
ServiceClusterIP, NodePort, or LoadBalancer exposure
IngressHTTP routing rules with host and path configuration
ConfigMapKey-value configuration injected into Deployments or Pods
VolumeemptyDir, hostPath, configMap, secret, or PVC

⁠Quick Start

⁠Prerequisites
  • Docker
  • A running Kubernetes cluster (minikube, kind, or k3s)
  • A local Docker registry
  • MongoDB instance
⁠Run with Docker Compose
version: '3.8'
services:
  backend:
    image: izylife/izykube-backend:latest
    ports:
      - "8080:8080"
    environment:
      SPRING_DATA_MONGODB_URI: mongodb://mongo:27017/izykube
      APP_DOCKER_LOCAL_REPOSITORY_URI: localhost:5000
      KUBECONFIG: /root/.kube/config
    volumes:
      - ~/.kube:/root/.kube:ro

  frontend:
    image: izylife/izykube-frontend:latest
    ports:
      - "4200:80"
    depends_on:
      - backend

  mongo:
    image: mongo:6
    ports:
      - "27017:27017"
docker compose up

Open http://localhost:4200⁠ in your browser.


⁠Environment Variables

VariableDescriptionDefault
SPRING_DATA_MONGODB_URIMongoDB connection stringmongodb://localhost:27017/izykube
APP_DOCKER_LOCAL_REPOSITORY_URILocal Docker registry URI for asset imageslocalhost:5000
KUBECONFIGPath to kubeconfig file~/.kube/config
SERVER_PORTBackend HTTP port8080

⁠Workflow

  1. Design — drag nodes onto the canvas and connect them
  2. Configure — fill in the side panel forms for each node
  3. Save — persist the cluster definition to the backend
  4. Create Template — generate Kubernetes YAML manifests
  5. Deploy — apply manifests to the live cluster via Fabric8
  6. Undeploy — tear down all deployed resources

⁠Image Tags

TagDescription
latestLatest stable release
x.y.zSpecific release version
backend-latestBackend image only
frontend-latestFrontend image only

⁠Source

github.com/izylife/izykube⁠


⁠Source

github.com/gcassata74/izykube⁠


⁠License

MIT

Tag summary

Content type

Image

Digest

sha256:00ea57708…

Size

172.5 MB

Last updated

4 days ago

docker pull gcassata/izykube