- 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/klevry/klevr.git
docker-compose -f docker-compose-demo.yml up -d
http://localhost:8090/swagger/index.html
- Agent
- Provisioning: Docker, Kubernetes, Micro K8s(on Linux laptop) with Vagrant & VirtualBox, Prometheus
- Get & Run: Hypervisor(via libvirt container or Multipass), Terraform, Prometheus, Beacon, Helm chart
- Metric data aggregate & delivery
- Manager
- 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
- Agent(user's infrastructure management agent): klevry/agent:latest
- Manager(management console): klevry/manager:latest
Beacon(Primary agent health checker): klevry/beacon:latestLibvirt(Hypervisor): klevry/libvirt:latestPrometheus operator(Service discovery)- ProvBee(nexclipper/provbee)
Metric crawler- Task manager
- KV store(Consul)
- Docker/Docker-compose/Docker-registry
-
Beacon - Libvirt
- Task manage to ProvBee
-
- Terraform of container by ProvBee
- KVM(libvirt) by ProvBee
- Multipass for Hosted Virtual-machine
-
Micro K8sK3s - Prometheus by ProvBee
- Grafana by ProvBee
- Helm by ProvBee
-
Vault(maybe) -
Packer(maybe) -
Vagrant -
Consul
.
├── 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
│ ├── klevr-manager-db.sql.create // Database for Manager initializing & running
│ ├── klevr-manager-db.sql.modify // Database for
│ └── 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]