Skip to content

Commit 394c200

Browse files
authored
Merge pull request #20 from persys-dev/Refacfor-Gateway-Forgery-Automation
persys-cloud: standardize shared platform contracts, harden mTLS/cert lifecycle, and align gateway-forgery-scheduler flows
2 parents 885c527 + 82a73a6 commit 394c200

102 files changed

Lines changed: 22256 additions & 2670 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
.cache
2+
.gocache
3+
.gotmp
24
.idea
35
*.log
4-
*.toml
56
__pycache__
67
.old/azure-pipeline/azure-pipelines.yml
78
.old/**
89
*.bak
910
terraform.tfvars
1011
**/bin/
11-
api-gateway/config.toml
12-
prow/internal/scheduler/reconcile.txt
1312
certs/
1413
vault-mtls-mock/certs-runtime/
15-
vault-mtls-mock/
14+
vault-mtls-mock/
15+
.env
16+
persys-automation/DESIGN_SPEC.md
17+
persys-intelligence/DESIGN_SPEC.md

README.md

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ name is **Persys Compute**.
2525

2626
------------------------------------------------------------------------
2727

28-
# Vision
28+
## Vision
2929

3030
Persys Compute is not just a container orchestrator.
3131

@@ -45,11 +45,11 @@ overengineering.
4545

4646
------------------------------------------------------------------------
4747

48-
# Core Architecture
48+
## Core Architecture
4949

5050
Persys Compute follows a strict control-plane model.
5151

52-
## Northbound (User → Control Plane)
52+
### Northbound (User → Control Plane)
5353

5454
User → Gateway (HTTP + mTLS) → Scheduler
5555

@@ -58,7 +58,7 @@ User → Gateway (HTTP + mTLS) → Scheduler
5858
- Workload submission
5959
- Administrative operations
6060

61-
## Southbound (Control Plane → Nodes)
61+
### Southbound (Control Plane → Nodes)
6262

6363
Scheduler ⇄ Agent (gRPC + mTLS)
6464

@@ -72,9 +72,9 @@ decisions.
7272

7373
------------------------------------------------------------------------
7474

75-
# Control Plane Components
75+
## Control Plane Components
7676

77-
## persys-scheduler
77+
### persys-scheduler
7878

7979
Authoritative cluster brain.
8080

@@ -89,7 +89,7 @@ Responsibilities:
8989
- Event emission
9090
- Health & metrics endpoints
9191

92-
## persys-gateway
92+
### persys-gateway
9393

9494
Platform entrypoint.
9595

@@ -101,23 +101,23 @@ Responsibilities:
101101
- Webhook ingestion (future use)
102102
- Platform-level authorization
103103

104-
## persys-cfssl
104+
### vault
105105

106106
Certificate authority bootstrap.
107107

108108
- Service identity issuance
109109
- mTLS trust chain
110110
- Agent certificate provisioning
111111

112-
## persys-federation
112+
### persys-federation
113113

114114
Future hybrid/multi-cloud integration layer.
115115

116116
- Connect to AWS/GCP/other providers
117117
- Offload workloads
118118
- Aggregate compute resources
119119

120-
## persys-agent (runtime node agent)
120+
### persys-agent (runtime node agent)
121121

122122
Responsibilities:
123123

@@ -133,7 +133,7 @@ Agent is intentionally simple and execution-focused.
133133

134134
------------------------------------------------------------------------
135135

136-
# Scheduling Model
136+
## Scheduling Model
137137

138138
1. Agent boots
139139
2. Agent registers with scheduler via gRPC
@@ -153,9 +153,9 @@ Agent is intentionally simple and execution-focused.
153153

154154
------------------------------------------------------------------------
155155

156-
# Supported Workload Types
156+
## Supported Workload Types
157157

158-
## Containers
158+
### Containers
159159

160160
- Image-based
161161
- Resource limits
@@ -165,15 +165,15 @@ Agent is intentionally simple and execution-focused.
165165
- Restart policies
166166
- Privileged mode (optional)
167167

168-
## Docker Compose
168+
### Docker Compose
169169

170170
- Git-based deployments
171171
- Inline YAML support
172172
- Environment injection
173173
- Secret injection (future: Vault integration)
174174
- Mixed public/private images
175175

176-
## Virtual Machines
176+
### Virtual Machines
177177

178178
- vCPU & memory specification
179179
- Disk provisioning via storage pools
@@ -184,7 +184,7 @@ Agent is intentionally simple and execution-focused.
184184

185185
------------------------------------------------------------------------
186186

187-
# Cluster State Model (etcd)
187+
### Cluster State Model (etcd)
188188

189189
Scheduler persists:
190190

@@ -205,7 +205,7 @@ This enables:
205205

206206
------------------------------------------------------------------------
207207

208-
# Resource Enforcement
208+
## Resource Enforcement
209209

210210
Agent enforces:
211211

@@ -220,7 +220,7 @@ Workloads are rejected early if capacity is insufficient.
220220

221221
------------------------------------------------------------------------
222222

223-
# Reliability Model
223+
## Reliability Model
224224

225225
Persys Compute uses:
226226

@@ -236,7 +236,7 @@ No ghost workloads. No silent failures. No hidden retries.
236236

237237
------------------------------------------------------------------------
238238

239-
# Observability
239+
## Observability
240240

241241
Each component exposes:
242242

@@ -255,36 +255,36 @@ Metrics include:
255255

256256
------------------------------------------------------------------------
257257

258-
# Local Development
258+
## Local Development
259259

260-
Prerequisites:
260+
### 1. Start full stack
261261

262-
- Go 1.24+
263-
- Docker
264-
265-
Start etcd:
266-
267-
``` bash
268-
./hack/start-etcd-docker.sh
262+
```bash
263+
cd infra/docker
264+
docker compose up -d --build
269265
```
270266

271-
Run scheduler (dev mode):
267+
### 2. Build CLI
272268

273-
``` bash
274-
cd persys-scheduler
275-
go run ./cmd/scheduler -insecure
269+
```bash
270+
cd persysctl
271+
go build -o ./bin/persysctl
276272
```
277273

278-
Build services:
274+
### 3. Quick smoke commands
275+
276+
```bash
277+
# Cluster view from gateway
278+
./bin/persysctl --transport http cluster list
279279

280-
``` bash
281-
cd persys-scheduler && go build ./cmd/scheduler
282-
cd persys-gateway && go build ./cmd/main.go
280+
# List nodes/workloads routed through gateway
281+
./bin/persysctl --transport http node list
282+
./bin/persysctl --transport http workload list
283283
```
284284

285285
------------------------------------------------------------------------
286286

287-
# Project Philosophy
287+
## Project Philosophy
288288

289289
Persys Compute is built around:
290290

@@ -301,7 +301,7 @@ system when adding more nodes.
301301

302302
------------------------------------------------------------------------
303303

304-
# Roadmap Highlights
304+
## Roadmap Highlights
305305

306306
- Storage pool full implementation
307307
- VM network introspection & IP reporting
@@ -313,6 +313,6 @@ system when adding more nodes.
313313

314314
------------------------------------------------------------------------
315315

316-
# License
316+
## License
317317

318318
MIT

compute-agent

0 commit comments

Comments
 (0)