Acest fișier păstrează deciziile care schimbă scopul aplicației, regulile de operare sau modelul de deployment. Nu înlocuiește git history; explică de ce au apărut schimbările mari.
Decizie: codul aplicației se dezvoltă local și se publică în GitPrep. Jumper rămâne runtime/deploy target.
Locații:
/Users/bogdan/Documents/Workspaces/Xdev/Madagascar/LocalAuthoritygit@192.168.2.102:repositories/bogdan/LocalAuthority.githttp://192.168.2.102:3000/bogdan/LocalAuthority/usr/local/xdev-host-managerMotiv:
Regulă:
scripts/deploy_to_jumper.sh publică aplicația pe jumperconfig/ nu se copiază implicitconfig/ se copiază doar cu --include-config, la cerere explicităAplicația a pornit ca manager pentru registrul de hosturi, dar scope-ul curent include:
Numele de produs a devenit Madagascar Local Authority.
Numele tehnice rămân stabile pentru compatibilitate:
host-managerhost-manager/usr/local/xdev-host-manager/etc/xdev/host-manager.envDecizie: numele cu impact operațional nu se șterg direct din UI.
Exemplu inițial:
pmx.*.madagascar.xdev.ropbs.*.madagascar.xdev.roAceste nume au fost create pentru vhosturi nginx cu certificate Let's Encrypt. Odată cu CA-ul local, intenția este retragerea lor, dar eliminarea din registry se face doar după:
Confirmarea unui WO este blocată dacă checklist-ul nu este complet.
Regulă: local nu se folosește wildcard pentru *.madagascar.xdev.ro.
Doar numele cunoscute din manifestul local trebuie să se rezolve intern. Numele necunoscute trebuie să întoarcă NXDOMAIN, chiar dacă DNS public poate avea wildcard către IP-ul public.
Resolverele interne sunt:
192.168.2.100192.168.2.2Sync-ul rămâne explicit:
./scripts/sync_local_hosts.sh --apply --verify
Regulă: nu se instalează npm, pip sau CPAN direct pe hosturi.
Acceptat:
CPAN se folosește doar dacă pachetul ajunge prin repo-ul local auditat.
Pachete de sistem instalate în timpul evoluției:
ripgrep pe jumperrsync pe jumpersqlite3 pe mazeri/GitPrepObservație: unele password managere și autofill-uri mobile nu inițiau corect pe login-ul Madagascar Local Authority, deși completarea mergea pe o pagină similară din PBX management.
Diferențe relevante observate pe pagina care funcționa:
method="post"autocomplete="username"Decizie:
username și OTP agregatautocomplete="on" la nivel de form, ca hint-urile specifice de pe câmpuri să nu fie neutralizateScop:
Observație: hook-urile locale post-commit pentru deploy automat nu sunt potrivite pentru lucrul pe mai multe fronturi. Varianta cu git push jumper-runtime HEAD:main era fragilă pentru că jumper este un checkout live, iar receive.denyCurrentBranch=updateInstead refuză push-ul dacă working tree-ul runtime are orice modificare locală în fișiere versionate. Varianta care rula deploy-ul din post-commit făcea propagarea mai deterministă, dar tot muta un singur runtime global la fiecare commit pe main, deci nu ajuta la lucru paralel.
Decizie:
scripts/deploy_to_jumper.shconfig/BUILD este scris din commit-ul exact și devine sursa vizibilă pentru ce versiune ruleazăScop:
xdev-build devin verificarea rapidă pentru ce rulează