Ugrás a fő tartalomhoz

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 | enterprise
  • packs[] — foundation (mindig) | software | infrastructure
KépességFeltétel
Projekt, Level 1–4, Structure, Skills, Generate, Export, MCPfoundation
Flow canvas, Schema & API, Design Systemsoftware
Infra/CMDB, IaC, provisioning, AD/LDAPinfrastructure
daemon mód, LAN sync, seat-brókereléstier >= team
server mód, RBAC, Postgres, S3tier == 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.

Viselkedési szabály

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.