Proiecte și medii
Dă-i agentului o mașină reală — un VM administrat sau propriul tău server — și conectează-te la ea din desktop, din CLI sau din hub.
Un mediu (environment) este o mașină pe care agentul codai lucrează efectiv: shell, fișiere, build-uri și servere de dezvoltare. Pe ea rulează un daemon mic, codaid, care ține un singur WebSocket de ieșire către relay (wss://relay.codai.ro) — mașina nu deschide niciodată un port de ascultare. Dispozitivele tale se atașează prin același relay, așa că uneltele rulează în mediu, iar tu urmărești și ghidezi de oriunde te afli.
desktop / CLI / hub gateway ai.codai.ro (proiecte, medii, membri, porturi)
│ atașare, terminal, porturi ─▶ relay relay.codai.ro (WebSocket-uri daemon + client, prezență)
│ https://3000-<slug>.preview.codai.ro ─▶ │ router de preview
▼ WebSocket de ieșire, niciodată de intrare
mediu (VM administrat sau propriul server)
codaid: shell · fișiere · terminale · porturi · stare git · lock de buildVocabular
| Obiect | Ce este |
|---|---|
| Proiect | Un repository plus setările lui: repo_url, default_branch, opțional devcontainer_path și un mod de izolare care decide cum își împart dezvoltatorii mașinile. Îți aparține și poate fi atașat unei organizații pe care o administrezi. |
| Mediu | O mașină dintr-un proiect. Are un slug unic la nivel global (devine hostname-ul de preview), un provider, o stare (state), un timp de inactivitate și, pentru mașinile administrate, o dimensiune și un tarif orar. |
| Membru | O persoană cu un rol pe un mediu: owner ≥ maintainer ≥ developer ≥ viewer. Fiecare membru primește în mașină propriul cont Linux și un bloc de 100 de porturi. |
| Port | Un port pe care îl publici cu o vizibilitate (owner, org, authenticated, public). Porturile HTTP publicate primesc un URL de preview. |
| Secret | O valoare ENV_STYLE stocată sigilat; numele pot fi listate, valorile nu sunt returnate niciodată. |
| Eveniment | Un rând de audit care doar se adaugă: fiecare schimbare de stare, înrolare, modificare de membru, port sau secret. Ultimele 20 apar pe pagina mediului. |
Două feluri de a obține o mașină
| Administrat | Propria mașină (BYO) | |
|---|---|---|
| Cine o provizionează | codai, pe OpenStack (Cloudify, UE) sau Hetzner Cloud | Tu — orice server Linux pe care îl controlezi |
Cum ajunge codaid acolo | Instalat și înrolat automat de cloud-init | Rulezi installer-ul cu un token de unică folosință |
| Pornire / oprire | Da, plus oprire automată la inactivitate | Nu — mașina e a ta; doar arhivare sau distrugere |
| Preț | Pe secundă de rulare, din portofel | Gratuit |
| Disponibilitate | În curs de lansare — activat per cont | Deschis oricărei chei |
Detalii: instalare pe propriul server, medii administrate, facturare.
Atașarea de pe dispozitivele tale
| Suprafață | Ce poți face azi |
|---|---|
| Hub — hub.codai.ro/projects | Creezi proiecte și medii (BYO și administrate), pornești/oprești/arhivezi/distrugi, generezi un token de înrolare cu comanda de instalare, gestionezi membrii și cheia ta SSH, vezi costul de calcul al lunii și ultimele evenimente. |
| Desktop — vizualizarea Medii (Environments; Alt+5 în skin-ul Developer, Ctrl+5 în skin-ul Assistant) | Atașezi agentul la un mediu, deschizi un terminal în el, vezi porturile care ascultă și le schimbi vizibilitatea, copiezi sau deschizi URL-uri de preview, creezi un mediu BYO și îl înrolezi. |
CLI — codaid env … | Listezi, creezi, pornești, oprești, distrugi; afișezi starea și porturile; setezi vizibilitatea porturilor; generezi linkuri de preview; redirecționezi un port pe 127.0.0.1; deschizi un shell; urmărești jurnalul de evenimente. |
| Telefon | În curând. |
Când agentul de pe desktop este atașat, bucla agentului rulează pe dispozitivul tău, iar uneltele lui rulează în mediu — compozitorul afișează în <nume>. Rularea întregii bucle în mediu (headless) vine în curând.
Ciclul de viață pe scurt
BYO: pending ──înrolare──▶ enrolling (online / offline = prezența daemonului pe relay)
administrat: creating ──VM pornit──▶ enrolling ──▶ running ⇄ stopping ─▶ stopped ─▶ archiving ─▶ archived
(inactivitate / buget / fonduri)
orice stare ──destroy──▶ destroying ──▶ destroyed (BYO: direct în destroyed)Un mediu BYO nu are un pas la furnizor, așa că destroy ajunge imediat în destroyed (și revocă cheia daemonului), iar archive în archived.
Pentru o mașină BYO starea stocată rămâne enrolling după înrolare; dacă e accesibilă chiar acum o spune prezența din relay (online), care dispare la 45 de secunde după ultimul heartbeat al daemonului.
Mai departe: instalează codaid pe propriul server sau creează un mediu administrat.
Releul de host-uri
Rulează o comandă shell sau citește un fișier pe desktopul tău de pe telefon, dintr-un browser sau dintr-un script — fără SSH, fără port de intrare, doar în același cont.
Instalare pe propriul server
Înrolează orice mașină Linux pe care o controlezi ca mediu gratuit, cu daemonul codaid — instalare, înrolare, rulare ca serviciu.