Ezert elhataroztam, hogy megprobalom megosztani a Tinderboxomat mas erdeklodokkel is anelkul, hogy tulbonyolitanam a velejaro adminisztraciot es kozvetlen hozzaferest adnek a rendszerhez. A Tinderbox eleve tamogat tobb felhasznalot es van egy szep webes felulete, viszont a felhasznalokhoz tartozo portfak hozzaferese nem megoldott. A klasszikus megkozelites szerint ekkor a felhasznalok kapnak egy-egy shell accountot a gepre, igy kozvetlenul elerik es modosithatjak a portokat. Ezzel nekem alapvetoen ket gondom van: egyreszt ehhez az operacios rendszer szintjen kell letrehozni felhasznalokat, esetleg SSH kulcsokat adminisztralni, nincs valodi integracio a Tinderbox-szal; masreszt a felhasznalok konnyen elbarangolhatnak a rendszerunkben, es ezt csak kulonfele izolacios technikak (peldaul jail) alkalmazasaval lehet elkerulni.
Ekkor jott az otlet, hogy esetleg akkor tehetnek Subversiont ala. Az a lenyeg, hogy keszitek egy SVN repository-t a gepen es ezt napi rendszeresseggel frissitem CVSup-bol. Ekkor kapok egy import branch-et, ahova egy szkript pakolja a CVS repository valtozasait (hasonloan a Projektben mar amugyis mukodo svn2cvs exportalashoz). Amikor letrehozok egy uj felhasznalot, lemasolom ezt a branch-et, amelyet checkoutolva mindenki kap odahaza (es a Tinderbox-ban) egy szep sajat portfat. Kesobb a felhasznalok ezeket a importalt fabol torteno merge-olessel tudjak frissiteni.
Termeszetesen minden valtoztatast kulon committolni kell, de ezen keresztul viszont kapunk egy reszletes logot arrol, ki mivel mit csinalt. (Nem beszelve arrol, hogy igy a felhasznalok akar hosszabb ideig is karban tudnak tartani maguknak kulonfele patcheket.) Minden commit utan a Tinderbox egybol lehuzza a valtozasokat (post-commit hook), igy utana mar egybol tesztelhetoek is a modositott portok. A Tinderbox MySQL vagy PostgreSQL adatbazisban tarolja az adatait, tobbek kozott a felhasznalokat. Hogy ne kelljen kulon adminisztralni a Tinderbox es a Subversion repository felhasznaloit, az SVN SASL2 tamogatasaval meg lehet oldani az integracio kerdeset is. A SASL lehetove teszi, hogy a hitelesitest adatbazison keresztul vegezzuk, igy eleg csak a megfelelo adatokat (adatbazis, lekerdezes) neki atadni es mar mukodik is!
Az eddigi tapasztalatok szerint viszont a FreeBSD portfa oriasi, rengeteg konyvtarat es allomanyt tartalmaz es a Subversion (kliens) eleg lassu, minden muveletnel alaposan vegigszkennelni ezt a sok allomanyt. Ezek a problemak leginkabb a CVS es SVN kozti mozgatasnal jonnek ki, mivel itt tulajdonkeppen egy "addremove" muveletet kell csinalni (ez peldaul Mercurialbol ismeros lehet mindenkinek). A naiv implementacioval kb. negyed ora egy atlagos import (bar ezt partial ports freeze idejen mertem, majd most, a complete ports thaw utan jon az igazi moka...), amelyet egy kis ugyekedessel sikerult levinnem kb. a harmadara. A felhasznalok letrehozasa is kozel egy oras muvelet, szerencsere ez nem tulsagosan gyakori, es most otletem sincs a gyorsitasara.
Egyelore bizakodo vagyok, kivancsi leszek a tovabbi tapasztalatokra!
- dezzy blogja
- A hozzászóláshoz be kell jelentkezni
- 701 megtekintés
Hozzászólások
Tetszett az írás!
A tinderboxról jut eszembe :)
http://gentoolinux.hu/2010/02/tinderbox-masodik-resz/
--
\\-- blog --//
- A hozzászóláshoz be kell jelentkezni
Nem ismerem ezt a rendszert, de nem lenne celszerubb osszerakni egy virtualis gep image-et, amibe fel van teve egy ilyen? Utana akinek szuksege van ra, letolti a gepere, es hasznalja.. nem ritka, hogy nehezen telepitheto kornyezeteket igy terjesszenek.
--
I can't believe Steve Jobs's liver is replaceable but the battery in my iPhone is not. - sickipedia
- A hozzászóláshoz be kell jelentkezni
Jo otlet, ketto hibaja van:
1) a virtualis gepnel eleve az IO intenziv (ertsd: winyo) folyamatok lassabbak a valodi gepeknel
2) es amugy is tomentelen vas kell egy ilyen ala. Komolyan.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Erre az svn+SASL-re tudsz mutatni valami leirast? Erdekelne.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Alapvetoen a Version Control with Subversion c. konyv alapjan indultam el, aztan amelyet SQL adatbazisra alkalmaztam egy Postfix SASL Howto segitsegevel (ezen belul "Cyrus SASL Plugins - auxiliary property plugins", majd "The sql plugin"). Egyebkent ugy tunt, nem vagyok egyedul, mas is probalkozott mar vele.
- A hozzászóláshoz be kell jelentkezni
Meg fogom nezni, kossz.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni