Futásmódok
Az engine ugyanaz a bináris három üzemmódban — a --mode flag dönti el.
Solo — --mode=embedded
Egy felhasználó, egy gép, egy Electron folyamat + egy engine. A projektek a felhasználó lemezén. Kilépéskor minden leáll. Nincs hálózati figyelés a loopback-en kívül.
Team — --mode=daemon
- Felderítés: mDNS/Bonjour (
_craftingtable._tcp), vagy kézi cím. - Auth: a daemon saját, egyszerű helyi felhasználókezelést kap (felhasználónév + jelszó → session token). Nem OIDC.
- Szinkronizáció: Git a szinkronizációs protokoll. A daemon a bare repókat tartja, a kliensek push/pull-oznak. Nincs saját sync-motor.
- Presence & lock: a daemon soft-lockot ad entitásokra („Kovács most szerkeszti a DEV-014-et").
- Seat-kezelés: a licenc
activation_limit-je a seatek száma; a daemon tartja nyilván.
Enterprise — --mode=server
Docker/Kubernetes, több projekt, RBAC (v1.1), opcionálisan Postgres a koordinációs adatoknak (a blueprint akkor is fájl + Git), S3-kompatibilis snapshot-célpont, konnektorok a Platbridge / Autonopsomy felé.
# docker-compose.yml (Enterprise, vázlat)
services:
craftingtable:
image: apphouz/craftingtable-engine:1.0
command: ["--mode=server", "--config=/etc/ct/config.yaml"]
volumes: ["ct-data:/var/lib/craftingtable"]
ports: ["8443:8443"]
environment:
CT_LICENSE_KEY: "${CT_LICENSE_KEY}"
CT_STORE: "postgres" # vagy "sqlite"
CT_SNAPSHOT_SINK: "s3"
# engine/Dockerfile
FROM gcr.io/distroless/static-debian12:nonroot
COPY engine-linux-${TARGETARCH} /craftingtable-engine
USER nonroot
EXPOSE 8443
ENTRYPOINT ["/craftingtable-engine"]
CMD ["--mode=server", "--config=/etc/ct/config.yaml"]
Multi-arch image (linux/amd64, linux/arm64), SBOM (Syft) és image aláírás (cosign)
minden kiadásnál, Trivy scan a pipeline-ban.
Feature-gating: tier + packs
Az entitlement token két dimenziót hordoz:
tier—trial|solo|team|enterprisepacks[]—foundation(mindig) |software|infrastructure
| Képesség | Feltétel |
|---|---|
| Projekt, Level 1–4, Structure, Skills, Generate, Export, MCP | foundation |
| Flow canvas, Schema & API, Design System | software |
| Infra/CMDB, IaC, provisioning, AD/LDAP | infrastructure |
daemon mód, LAN sync, seat-brókerelés | tier >= team |
server mód, RBAC, Postgres, S3 | tier == enterprise |
A gating az engine-ben van, nem a UI-ban. A /capabilities végpont hirdeti, a UI ez
alapján rejt el funkciókat.
Egy hiányzó pack nem teszi megnyithatatlanná a projektet. Aki infrastructure pack nélkül
nyit meg egy infrastruktúra-elemeket tartalmazó projektet, azokat olvasni és exportálni
tudja, csak szerkeszteni nem. Soha nem zárjuk ki a felhasználót az adatból.