- 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
- docker-compose command
git clone https://github.com/ralfyang/klevr.git
docker-compose up -d
- Agent
- Provisioning: Docker, Kubernetes, Micro K8s(on Linux laptop) with Vagrant & VirtualBox, Prometheus
- Get & Run: Hypervisor(via libvirt container), Terraform, Prometheus, Beacon
- Metric data aggregate & delivery
- Web console
- Host pool management
- Resource management
- Primary host management
- Task management
- Service catalog management
- Service delivery to Dev./Stg./Prod.
- Docker images
- Webconsole(Webserver): klevry:webconsole:latest
Beacon(Primary agent health checker): klevry/beacon:latest- Libvirt(Hypervisor): klevry/libvirt:latest
- Prometheus(Container monitoring)
- Metric crawler
- Task manager
- KV store(Consul)
- Docker/Docker-compose/Docker-registry
-
Beacon - Libvirt
- Task manager to terraform
-
- Terraform of container
- KVM(libvirt)
-
Micro K8s - K3s
-
Consul - Prometheus
-
Vagrant - Halm
- Vault(maybe)
- Packer(maybe)
.
├── 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 linke 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 Manger
│ │ ├── 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 initialinzing & 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]
- test