KoEonYack / klevr

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

klevr_logo.png

Klevr: Kloud-native everywhere

Interconnector for the Platform based SaaS delivery

  • Asynchronous distributed infrastructure management console and agent for separated networks.
  • Supports for:
    • Baremetal server in the On-premise datacenter
    • PC/Workstation in the Office/intranet
    • Laptop at everywhere
    • Public-cloud

Kickstart for webconsole & KVstore

  • docker-compose command
git clone https://github.com/ralfyang/klevr.git
docker-compose up -d

Diagram Overview

  • Image click to Youtube:
  • Diagram Overview

Features

  • Agent
    • Provisioning: Docker, Kubernetes, Micro K8s(on Linux laptop) with Vagrant & VirtualBox, Prometheus
    • Get & Run: Hypervisor(via libvirt container), Terraform, Prometheus, Beacon, Helm chart
    • Metric data aggregate & delivery
  • Web console
  • Host pool management
  • Resource management
  • Primary host management
  • Task management(To be)
  • Service catalog management(To be)
  • Service delivery to Dev./Stg./Prod.(To be)
  • Docker images
  • KV store(Consul)

Simple logic of asynchronous task management - (Click to Youtube for details)

  • Primary election of agent

Requirement for use

  • Docker/Docker-compose/Docker-registry
    • Beacon
    • Libvirt
    • Task manage to ProvBee
  • Terraform of container by ProvBee
  • KVM(libvirt)
  • Micro K8s K3s
  • Prometheus
  • Grafana
  • Halm
  • Vault(maybe)
  • Packer(maybe)
  • Vagrant
  • Consul

Description for Directories and files

.
├── README.md                   // This Screen as you see. :)
├── docker-compose.yml          // Kickstarter: Bootstraping by docker-compose
├── Dockerfile                  // Directory for docker image build
│   ├── libvirt
│   └── manager                 // Actual binary file of manager will be move to this link directory for the docker build
├── assets
│   └── [Images & Contents]
├── cmd                         // Actual artifacts fpr Klevr agent & manager(webserver) 
│   ├── klevr-agent
│   │   ├── Makefile
│   │   ├── agent_installer.sh  // Remote installer via curl command as a generated script by Manager
│   │   ├── klevr               // Actual `Klevr` agent binary
│   │   └── main.go             // main source code of the Agent
│   └── klevr-manager
│       ├── Docker -> ../../Dockerfile/manager  // Binary artifact send to this directory for Docker build  
│       ├── Makefile
│       └── main.go             // main source code of the Manager
├── conf
│   ├── Dump20200720.sql        // Database for Manager initializing & running
│   └── klevr-manager-local.yml // Config file for Manager running
├── pkg
│   ├── common                  // 'common' package directory
│   │   ├── config.go
│   │   ├── error.go
│   │   ├── http.go
│   │   ├── log.go
│   │   └── orm.go
│   ├── communicator            // 'communicator' package directory
│   │   ├── README.md
│   │   └── communicator.go
│   └── manager                 // 'manager' package directory
│       ├── api.go
│       ├── api_agent.go
│       ├── api_install.go
│       ├── api_legacy.go
│       ├── api_model.go
│       ├── handler.go
│       ├── persist_model.go
│       ├── repository.go
│       └── server.go
├── go.mod
├── go.sum
└── scripts                    // Operation script for Provisioning
    └── [Provisioning scripts]

About


Languages

Language:Go 71.8%Language:TSQL 21.5%Language:Shell 3.8%Language:Makefile 1.5%Language:Dockerfile 1.4%