LLM ...
LADOWANIE...
agentmigrate / Projekty
OK
--

Projekty

Agenty w /home/dev — profil, ostrzezenia, migracja
Sposob uzycia: lista wykrytych agentow w /home/dev. Kliknij nazwe projektu aby zobaczyc pelny profil z ostrzezeniami (sekrety /etc, systemd, kolejnosc SQL). Kliknij Migruj aby przejsc do formularza migracji z tym projektem. BLOK = wymagane force lub krok operatora.
Agenty
Ladowanie...

Migracja

Wybierz projekt i cel — uruchom migracje przez SSH
Sposob uzycia: wybierz projekt (lub przyjdz z przycisku Migruj w Projektach), wybierz serwer docelowy. Jezeli sa ostrzezenia BLOK (sekrety /etc, systemd), zaznacz Force. Log migracji pojawia sie na zywo przez SSE.
Parametry
Kontynuuj mimo ostrzezen BLOK

Historia

Poprzednie runy migracji
Sposob uzycia: pelna historia runow migracji. Kliknij Log aby zobaczyc wynik (health check, kontenery, bledy).
Ladowanie...

Cele migracji

Serwery docelowe SSH
Sposob uzycia: dodaj serwery SSH jako cele migracji. Klucz SSH musi byc pod /home/dev/.ssh/. Host i user nie moga zaczynac sie od - (zabezpieczenie przed przemytem flag SSH).
Lista celow
Ladowanie...
Dodaj cel

Dokumentacja API

Umowa interfejsu agentmigrate

Health

GET/health · /healthzpublic

Stan agenta + build-stamp.

GET/readypublic

Readiness — sprawdza SELECT 1 do bazy.

Projekty

GET/api/projectssesja/key

Lista agentow w MIGRATE_BASE_DIR z mini-profilem.

{ "projects": [{ "name": "agentbuilder", "prisma": true, "db": {"schema":"builder"}, "port": 3031, "warnCount": 1, "blockCount": 0 }], "total": 22 }
GET/api/projects/:namesesja/key

Pelny profil agenta: DB info, SQL files, sekrety, ostrzezenia, workery, dockerServices.

Cele

GET/api/targetssesja/key

Lista serwerow docelowych.

POST/api/targetssesja/key

Dodaj cel. Walidacja: host i user bez - na poczatku; sshKeyPath pod /home/dev/.ssh/.

{ "label": "dev", "host": "85.215.136.87", "port": 22, "user": "root", "sshKeyPath": "/home/dev/.ssh/agentdevops_key" }
PUT/api/targets/:idsesja/key

Aktualizuj cel (pola opcjonalne).

DELETE/api/targets/:idsesja/key

Usun cel.

Migracje

POST/api/migrationssesja/key

Uruchom migracje. Tworzy BullMQ job + rekord run. Odpowiada natychmiast.

Body: { "project": "agentbuilder", "targetId": "uuid", "force": false }
→ 202 { "runId": "uuid", "status": "pending" }
GET/api/migrationssesja/key

Historia runow. Paginacja: ?page=1&limit=20&project=X.

GET/api/migrations/:idsesja/key

Pojedynczy run — status + pelny log.

GET/api/migrations/:id/streamsesja/key

SSE — log na zywo (poll DB co 1.5s). Zdarzenie done gdy run zakonczony.

data: "[12:34:56] rsync OK\n"
event: done
data: {"status":"success"}

Uwierzytelnianie

POST/loginpublic

Cookie sesyjne HttpOnly (Redis, 8h). Body: {"username":"...","password":"..."}.

POST/logoutcookie

Usun sesje.

GET/api/mesesja/key

Aktualny uzytkownik: {"userId":"admin"}.

Pomoc / instrukcja

Jak korzystac z panelu agentmigrate

Nawigacja

  • #/projekty — lista agentow z profilem i ostrzezeniami (domyslna)
  • #/migrate — formularz migracji + live log
  • #/historia — historia wszystkich runow
  • #/cele — serwery docelowe (CRUD)
  • #/api — dokumentacja API

Typowy flow migracji

  • Dodaj serwer docelowy w Cele (label, host, port, user, klucz SSH pod /home/dev/.ssh/).
  • W Projektach kliknij nazwe agenta — zobaczysz profil i ostrzezenia.
  • Jezeli sa ostrzezenia BLOK (sekret /etc/agentX/key) — najpierw krok operatora: utwoz sekret na serwerze docelowym recznie.
  • Kliknij Migruj — przechodzi do formularza z tym projektem.
  • Wybierz cel, zaznacz Force jezeli konieczne, kliknij Start.
  • Log pojawi sie na zywo (SSE). Po zakonczeniu sprawdz linie health check w logu.

Reguly migracji (migration-quirks.md)

  • R1 Schema: ?schema= w DATABASE_URL > prisma schemas=[] > @@schema attr > CREATE SCHEMA w SQL > public
  • R2 Prisma bez migrations/ → db push (nie migrate deploy)
  • R3 Nazwy katalogow case-insensitive (agentSMS, agentEA itp.)
  • R4 Multi-probe health: /healthz → /health → /readyz
  • R6 Sekrety poza repo (*_KEY_PATH, /etc/agent/*) = ostrzezenie BLOK — nie kopiowane automatycznie
  • R10 Kolejnosc SQL: prefiks numeryczny nnn_ × 100, fallback: role=10, schema=20, seed=30, alter=40, other=50
  • R15 Worker + main → sprawdzaj oba kontenery po deploy

Bezpieczenstwo

  • Klucze SSH tylko pod /home/dev/.ssh/ (allowlist katalogu)
  • Host i user walidowane regexem — bez - na poczatku (SSH flag smuggling)
  • Role/schema/dbName jako identyfikatory PG: /^[a-zA-Z_][a-zA-Z0-9_]*$/
  • Heredoc DB setup cytowany (<<'SQLEND') — brak ekspansji shell na serwerze docelowym
  • Sekrety (.env) rsyncowane przez SSH; pliki /etc = krok operatora recznie