docs(arje): organiza core/ + seeds canónicas + boot reproducible
- crates/core/README.md: agrupamiento lógico de los 31 crates absorbidos
de arje (ente-*) y del protocolo brahman (brahman-*) en 6 grupos —
Init/PID 1, contratos, discovery, IPC+CAS, cerebro, 14 shims compat
systemd. No se movieron crates físicamente (rompería paths
cross-workspace).
- seeds/arje-minimal.card.json: PID1 + /bin/sh, smoke test QEMU.
- seeds/arje-prod.card.json: PID1 + 14 shims compat + tmpfiles/binfmt
one-shots + echo + getty (16 children). Validados con
brahman_card::Card::validate.
- seeds/validate.sh: carga la seed vía ente-zero en dev mode.
- scripts/build-arje-initrd.sh: empaqueta CPIO+gzip newc layout
/init→/sbin/ente-zero, /usr/sbin/ente-*-compat, /ente/seed.card.json,
/bin/{sh,...} (busybox o glibc+ldd). Tested: produce 20 MB initrd OK.
- scripts/run-arje-qemu.sh: qemu-system-x86_64 con KVM auto-detect,
-kernel/-initrd/-append "rdinit=/init console=ttyS0,115200 panic=10".
- docs/arje-boot.md: doc end-to-end — layout initramfs, QEMU (con kernel
del host o externo), GRUB bare metal, Proxmox/libvirt args:, schema
de Card con todas las validaciones, debugging (sockets de
introspección, snapshot/restore, metrics), checklist pre-deploy.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"id": "01J8YVKZP0M0M0M0M0M0M0M0M1",
|
||||
"lineage": null,
|
||||
"label": "arje.seed.minimal",
|
||||
"provides": ["Spawn", "Journal"],
|
||||
"requires": [],
|
||||
"permissions": {
|
||||
"networking": "none",
|
||||
"filesystem": "read-write",
|
||||
"ipc": { "allow": [] },
|
||||
"processes": true
|
||||
},
|
||||
"soma": {
|
||||
"namespaces": {
|
||||
"mount": false, "pid": false, "net": false,
|
||||
"uts": false, "ipc": false, "user": false, "cgroup": false
|
||||
},
|
||||
"rlimits": { "mem_bytes": null, "nproc": null, "nofile": null },
|
||||
"cgroup": { "path": "ente.slice/zero", "cpu_weight": null, "io_weight": null },
|
||||
"cpu_affinity": null
|
||||
},
|
||||
"payload": "Virtual",
|
||||
"supervision": "OneShot",
|
||||
"lifecycle": "daemon",
|
||||
"priority": "critical",
|
||||
"flow": { "input": [], "output": [] },
|
||||
"genesis": [
|
||||
{
|
||||
"schema_version": 1,
|
||||
"id": "01J8YVKZP0M0M0M0M0M0M0M0M2",
|
||||
"lineage": null,
|
||||
"label": "shell",
|
||||
"provides": [],
|
||||
"requires": [],
|
||||
"permissions": {
|
||||
"networking": "none",
|
||||
"filesystem": "read-write",
|
||||
"ipc": { "allow": [] },
|
||||
"processes": true
|
||||
},
|
||||
"soma": {
|
||||
"namespaces": { "mount": false, "pid": false, "net": false, "uts": false, "ipc": false, "user": false, "cgroup": false },
|
||||
"rlimits": { "mem_bytes": null, "nproc": null, "nofile": null },
|
||||
"cgroup": { "path": "ente.slice/shell", "cpu_weight": null, "io_weight": null },
|
||||
"cpu_affinity": null
|
||||
},
|
||||
"payload": {
|
||||
"Native": {
|
||||
"exec": "/bin/sh",
|
||||
"argv": ["-i"],
|
||||
"envp": [["PATH", "/bin:/usr/bin"], ["TERM", "linux"], ["PS1", "arje# "]]
|
||||
}
|
||||
},
|
||||
"supervision": { "Restart": { "initial": 100, "max": 30000 } },
|
||||
"lifecycle": "daemon",
|
||||
"priority": "high",
|
||||
"flow": { "input": [], "output": [] },
|
||||
"genesis": []
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user