Skip to content

Commit 430f391

Browse files
committed
Comprehensive README update: full PDF integration + repo audit (vision, architecture, state, resilience, intelligence, automation)
1 parent 238f792 commit 430f391

1 file changed

Lines changed: 70 additions & 71 deletions

File tree

README.md

Lines changed: 70 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -5,114 +5,113 @@
55
[![gRPC](https://img.shields.io/badge/gRPC-%2300B4AB.svg?logo=grpc&logoColor=white)](https://grpc.io)
66
[![Docker](https://img.shields.io/badge/Docker-2496ED?logo=docker&logoColor=white)](https://docker.com)
77

8-
**A lightweight, community-driven distributed compute control plane for orchestrating Docker containers, Docker Compose applications, and virtual machines across heterogeneous infrastructure.**
8+
**An explainable, scheduler-driven distributed compute control plane that orchestrates containers, Docker Compose applications, and virtual machines across heterogeneous infrastructure.**
99

10-
Persys Compute brings hyperscaler-inspired orchestration to private, hybrid, and edge environments with minimal overhead and maximum reliability.
10+
Inspired by hyperscaler architectures, Persys provides a single programmable system to manage compute from a bare-metal server to multi-node clusters — unifying fragmented infrastructure under one control plane with explainable decisions.
1111

12-
## ✨ Features
12+
## The Problem
1313

14-
- **Multi-workload support**: Docker containers, full Docker Compose stacks, and KVM-based VMs
15-
- **Resource-aware scheduling**: CPU, memory, disk, and label-based placement
16-
- **Strong security**: mTLS everywhere, Vault integration for certs and secrets
17-
- **etcd-backed state**: Persistent, highly available cluster state
18-
- **Explicit reconciliation**: Automatic drift detection and correction
19-
- **Observability-first**: Prometheus metrics, structured logs, health endpoints
20-
- **Lightweight agents**: Simple, reliable node agents with local execution
21-
- **CLI & API**: `persysctl` for easy management
22-
- **Federation ready**: Multi-cluster and cloud offloading support
14+
Modern infrastructure is fragmented: containers, Docker Compose apps, VMs, physical servers, and cloud instances are managed with separate tools. This increases operational complexity across deployment, debugging, scaling, resource management, and failure recovery.
2315

24-
## 🚀 Quick Start
16+
Persys unifies these under **one programmable API and explainable scheduler**, reducing toolchain entropy.
2517

26-
### Using Docker Compose (Recommended for dev)
18+
## What Kind of Cloud?
2719

28-
```bash
29-
# Clone the repo
30-
git clone https://github.com/persys-dev/persys-cloud.git
31-
cd persys-cloud
20+
Persys is an **IaaS foundation** with layered ambitions:
21+
22+
- **IaaS**: Compute primitives and VM lifecycle.
23+
- **CaaS**: Container orchestration + Docker Compose.
24+
- **Roadmap → PaaS**: Managed features like GKE/EKS.
25+
- **Roadmap → DBaaS**: Automated database deployments.
26+
27+
**Vision**: A programmable compute platform exposing compute, platform, and data services through one explainable control plane.
3228

33-
# Start the full stack
34-
cd infra/docker
35-
docker compose up -d --build
29+
## ✨ Core Features
3630

37-
# Build and use CLI
38-
cd ../../persysctl
39-
go build -o ./bin/persysctl .
31+
- **Multi-workload**: Docker containers, full Compose stacks (Git/inline), KVM VMs.
32+
- **Resource-aware scheduling**: CPU/memory/disk/labels/capabilities.
33+
- **Explainable decisions**: Persys Intelligence layer with Semi-RAG reasoning.
34+
- **Strong security**: mTLS, Vault for identity/secrets.
35+
- **State management**: etcd (persistent) + Redis (operational).
36+
- **Self-healing**: Leases, heartbeats, reconciliation, auto-reschedule.
37+
- **Storage**: Ceph-backed VM disks with replication.
38+
- **Automation**: persys-automation for scaling/remediation based on intelligence.
39+
- **Observability**: Prometheus, structured logs, health endpoints.
40+
- **CLI**: `persysctl` for management.
4041

41-
# Check cluster status
42+
## 🚀 Quick Start
43+
44+
```bash
45+
git clone https://github.com/persys-dev/persys-cloud.git && cd persys-cloud
46+
cd infra/docker && docker compose up -d --build
47+
cd ../../persysctl && go build -o bin/persysctl .
4248
./bin/persysctl --transport http cluster list
4349
```
4450

45-
See [Local Development](#local-development) for more details.
46-
4751
## Architecture
4852

49-
Persys Compute follows a strict **control-plane / data-plane** separation:
53+
**Centralized control-plane model**:
5054

51-
- **Scheduler**: Authoritative brain for placement and reconciliation
52-
- **Gateway**: REST API entrypoint with auth
53-
- **Agents**: Dumb executors on nodes
54-
- **etcd**: Cluster state store
55-
- **Vault**: Identity and secret management
55+
1. **persysctl****API Gateway** (REST, auth, routing, CoreDNS).
56+
2. **Scheduler** (persys-scheduler): Authoritative placement, reconciliation, state.
57+
3. **Agents** (compute-agent): Lightweight executors (no scheduling).
5658

57-
For full details, see [docs/architecture](docs/architecture).
59+
**Cluster**: Logical pool of nodes with telemetry; scheduler treats uniformly.
5860

59-
## Supported Workloads
61+
See `docs/architecture/` for diagrams.
6062

61-
### Containers
62-
Simple image-based workloads with resource limits, volumes, ports, etc.
63+
## Scheduling
6364

64-
### Docker Compose
65-
Git-backed or inline YAML deployments with env/secrets injection.
65+
Telemetry-driven evaluation (utilization, labels, topology) → select optimal node → deploy + reconcile.
6666

67-
### Virtual Machines
68-
Full VM provisioning with cloud-init, storage pools, and network config.
67+
Example: "Run PostgreSQL" → ranks nodes by resources → assigns + reports.
6968

70-
## Local Development
69+
## Cluster State
7170

72-
### Prerequisites
73-
- Go 1.22+
74-
- Docker & Docker Compose
75-
- etcd, Vault (provided via compose)
71+
- **etcd**: Persistent memory (`/nodes/`, `/workloads/`, `/assignments/`, desired state).
72+
- **Redis**: High-churn (events, retries, failures).
7673

77-
### Building Components
74+
Enables crash recovery and efficient operations.
7875

79-
```bash
80-
# Scheduler
81-
cd persys-scheduler && make build
76+
## Reliability & Self-Healing
8277

83-
# Agent
84-
cd ../compute-agent && make build
78+
- Heartbeats (~30s) + lease-based liveness.
79+
- Transient partition tolerance.
80+
- Automatic reschedule on node loss.
81+
- Idempotent ops + explicit failures.
8582

86-
# Gateway
87-
cd ../persys-gateway && make build
88-
```
83+
**VM Resilience**: Ceph 3x replication decouples storage from compute.
84+
85+
## Persys Intelligence & Automation
86+
87+
- **Intelligence**: Explainable reasoning over snapshots (state/metrics/events) → recommendations, explanations, forecasts (Semi-RAG, no direct mutation).
88+
- **Automation**: Acts on recommendations for autoscaling, rebalancing, remediation.
89+
90+
**Layered Brains**:
91+
1. Execution (Compute).
92+
2. Reasoning (Intelligence).
93+
3. Automation.
94+
95+
## Local Development
8996

90-
See individual component READMEs and root `Makefile` for more.
97+
Prerequisites: Go 1.22+, Docker.
9198

92-
## Contributing
99+
Build: Use per-component Makefiles or root `Makefile`.
93100

94-
We welcome contributions! Please see contributing guidelines in subdirectories and open issues/PRs.
101+
Full stack via `infra/docker`.
95102

96-
## Roadmap
103+
## Contributing & Roadmap
97104

98-
- Full storage pool management
99-
- Advanced retry and backoff engine
100-
- Multi-cluster federation
101-
- Enhanced VM networking and introspection
102-
- Secrets management integration
103-
- Stream-based control channels
105+
See subdir guidelines. Priorities: storage pools, federation, secrets, advanced intelligence.
104106

105107
## License
106108

107-
MIT License - see [LICENSE](LICENSE) file.
109+
MIT.
108110

109111
## Links
110112

111-
- [compute-agent](compute-agent) - Node runtime agent
112-
- [persys-scheduler](persys-scheduler) - Core scheduler
113-
- [persys-gateway](persys-gateway) - API gateway
114-
- [persysctl](persysctl) - Command line interface
113+
- [compute-agent](compute-agent/), [persys-scheduler](persys-scheduler/), [persys-gateway](persys-gateway/), [persys-intelligence](persys-intelligence/), [persys-automation](persys-automation/)
115114

116115
---
117116

118-
*Engineered for production-grade private and hybrid compute with simplicity and rigor.*
117+
*Engineered for production-grade, explainable private/hybrid compute.*

0 commit comments

Comments
 (0)