codai docs
Proiecte și medii

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 build

Vocabular

ObiectCe este
ProiectUn 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.
MediuO 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.
MembruO 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.
PortUn port pe care îl publici cu o vizibilitate (owner, org, authenticated, public). Porturile HTTP publicate primesc un URL de preview.
SecretO valoare ENV_STYLE stocată sigilat; numele pot fi listate, valorile nu sunt returnate niciodată.
EvenimentUn 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ă

AdministratPropria mașină (BYO)
Cine o provizioneazăcodai, pe OpenStack (Cloudify, UE) sau Hetzner CloudTu — orice server Linux pe care îl controlezi
Cum ajunge codaid acoloInstalat și înrolat automat de cloud-initRulezi installer-ul cu un token de unică folosință
Pornire / oprireDa, plus oprire automată la inactivitateNu — mașina e a ta; doar arhivare sau distrugere
PrețPe secundă de rulare, din portofelGratuit
DisponibilitateÎn curs de lansare — activat per contDeschis 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/projectsCreezi 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.

Pe această pagină