diff --git a/README.md b/README.md index 0170ac8..e710b70 100644 --- a/README.md +++ b/README.md @@ -36,32 +36,26 @@ Ovvero della centralizzazione, automazione delle configurazioni per indivia/orti #### Architettura ##### Gogs - - **Organizzazione [opuppet](http://git.lattuga.net/org/opuppet)** : - a questa fanno riferimento tutti i repository. I permessi sui repository di un'organizzazione non vengono definiti per utente, bensi' per team. - In opuppet ne sono definiti tre: - - *Owners* possono creare nuovi repository e chiaramente leggere e scrivere. - Di questa fanno parte tutti gli sviluppatori + - **Organizzazione [opuppet](http://git.lattuga.net/org/opuppet)** + Aquesta fanno riferimento tutti i repository. I permessi sui repository di un'organizzazione non vengono definiti per utente, bensi' per team. In opuppet ne sono definiti tre: + - *Owners* possono creare nuovi repository e chiaramente leggere e scrivere. Di questa fanno parte tutti gli sviluppatori - *Developers* ha permessi di lettura/scrittura sui repository esistenti. - *Deploy* ha i permessi di lettura sui repository. A questo team appartengono tutti i server. ##### Progetti Git - - **[puppet-deploy](http://git.lattuga.net/opuppet/puppet-deploy)** + -**[puppet-deploy](http://git.lattuga.net/opuppet/puppet-deploy)** - E' il progetto principale in cui viene mantenuta tutta la configurazione di puppet; - Ogni sviluppatore ha un account read-write sul repository centrale di questo progetto; - Una copia del repository e' distribuita su ogni server, con account read-only, nella directory `/etc/puppet` (su Debian); - **NON** contiene dati sensibili (chiavi e password); - **NON** contiene tabelle utenti; - - Il file `manifests/site.pp` contiene tutte le associazioni server/servizio e quindi le dichiarazioni delle classi - (**PER ORA**: bisogna valutare se implemntare un semplice [External Node Classifier](https://docs.puppetlabs.com/guides/external_nodes.html) ) - - Tutte le funzionalita', i [moduli puppet](https://docs.puppetlabs.com/puppet/latest/reference/modules_fundamentals.html), sono sottomoduli - (`git submodule`) del progetto e **obbligatoriamente** ospitati su un nostro repository. + - Il file `manifests/site.pp` contiene tutte le associazioni server/servizio e quindi le dichiarazioni delle classi (**PER ORA**: bisogna valutare se implemntare un semplice [External Node Classifier](https://docs.puppetlabs.com/guides/external_nodes.html) ) + - Tutte le funzionalita', i [moduli puppet](https://docs.puppetlabs.com/puppet/latest/reference/modules_fundamentals.html), sono sottomoduli (`git submodule`) del progetto e **obbligatoriamente** ospitati su un nostro repository. - - **module-$name** + -**module-$name** - Ogni modulo ha un suo repository con la convenzione `http://git.lattuga.net/opuppet/module-$name`; - - Quando possibile il clone iniziale avviene da gli shared puppet module di riseup **NON** dai 'moduli personali' ne' di riseup, ne' dei collettivi - (Esempio: `https://labs.riseup.net/git/shared-apt.git` e' il modulo **shared** mentre `https://labs.riseup.net/git/module-apt.git` e' il modulo privato di riseup, - `https://git.puppet.immerda.ch/module-apt/` e' il modulo di quelli di immerda); + - Quando possibile il clone iniziale avviene da gli shared puppet module di riseup **NON** dai 'moduli personali' ne' di riseup, ne' dei collettivi. Esempio: `https://labs.riseup.net/git/shared-apt.git` e' il modulo **shared** mentre `https://labs.riseup.net/git/module-apt.git` e' il modulo privato di riseup, `https://git.puppet.immerda.ch/module-apt/` e' il modulo di quelli di immerda; - Quando nel progetto principale viene eseguito un `git submodule add` questo **DEVE** puntare ad un url ospitata dal nostro repository. @@ -76,9 +70,8 @@ Ovvero della centralizzazione, automazione delle configurazioni per indivia/orti #### Appunti - - **module naming convention** : - Dalla [documentazione di puppet](https://docs.puppetlabs.com/puppet/latest/reference/modules_fundamentals.html#manifests): - *`init.pp` is special and always contains a class with the same name as the module. You may not have a class named init.* - - **riseup clone workaround** : + - **module naming convention** + Dalla [documentazione di puppet](https://docs.puppetlabs.com/puppet/latest/reference/modules_fundamentals.html#manifests): *`init.pp` is special and always contains a class with the same name as the module. You may not have a class named init.* + - **riseup clone workaround** Invece di eseguire `git clone https://labs.riseup.net/git/shared-$name.git` e' necessario modificare l'url in modo che diventi `git clone https://labs.riseup.net/code/shared-$name.git`