Creare siteconf-site e moudule-site

This commit is contained in:
jigen 2015-07-02 19:02:53 +02:00
parent af31faf6e6
commit bdeab7b4ac

View file

@ -122,7 +122,47 @@ order = 4
### Installare e configurare un nuovo server
#### Creare la configurazione di un nuovo [site]
#### Creare un nuovo $(site-name)
##### Configurazione siteconf-$(sitename)
1. Creare il repository git per la configurazione del site
`git init siteconf-$(sitename)`
2. (Opzionale) Creare il repositori bare remoto
3. Configurare il nuovo repository per usare un remote crittato con gcrypt: <pre>cd siteconf-$(sitename)/
git remote add $(gcrypt_remote) gcrypt::<repo_location>/siteconf-$(site-name).git
git config remote.$(gcrypt_remote).gcrypt-participants "$(sysadm1-key-fingerprint) $(sysadm2-key-fingerprint) $(server1-key-fingerprint) $(server2-key-fingerprint)"
git config remote.$(gcrypt_remote).gcrypt-publish-participants true
touch README
git add .
git commit -m "Initial gcrypt commit"
git push --set-upstream $(gcrypt_remote) master</pre>
**E' importante importare le chiavi pubbliche di TUTTI i sysadmin e TUTTI i servers elencati in `gcrypt-participants` prima di continuare oltre**
##### Configurazione module-$(sitename)
0. Creare un file .mrconfig nel repository siteconf-$(sitename) contenente i dettagli del repository di module-$(sitename)
<pre>[DEFAULT]
lib = SITE="$(sitename)" && \
HOSTFQDN="$(hostname --fqdn)" && HOSTNAME="$(hostname)" && \
REPO_ROOT="git@gitlab.com:organization/"
[/etc/puppet/modules/$(modulename)]
checkout = git clone gcrypt::${REPO_ROOT}/module-${SITE}.git $(modulename)]
order=3</pre>
2. Committare/pushare/aggiornare siteconf-$(modulename)
1. Creare il repository git per la configurazione del site
`git init module-$(sitename)`
2. (Opzionale) Creare il repositori bare remoto
3. Configurare il nuovo repository per usare un remote crittato con gcrypt: <pre>cd module-$(sitename)/
git remote add $(gcrypt_remote) gcrypt::<repo_location>/module-$(site-name).git
git config remote.$(gcrypt_remote).gcrypt-participants "$(sysadm1-key-fingerprint) $(sysadm2-key-fingerprint) $(server1-key-fingerprint) $(server2-key-fingerprint)"
git config remote.$(gcrypt_remote).gcrypt-publish-participants true
touch README
git add .
git commit -m "Initial gcrypt commit"
git push --set-upstream $(gcrypt_remote) master</pre>
**E' importante importare le chiavi pubbliche di TUTTI i sysadmin e TUTTI i servers elencati in `gcrypt-participants` prima di continuare oltre**
#### Configurazione di un server base, senza moduli specifici per site o host
1. Installare un nuovo server Debian Wheezy
@ -144,12 +184,12 @@ order = 4
7. Eliminare i file esistenti per puppet `rm -rf /etc/puppet`
8. Generare una nuova coppia di chiavi gpg `gpg --gen-key`
9. Configurare sul repository git l'account e i permessi per il nuovo server. Questo passo potrebbe non essere indispensabile, dipende dal repository configurato.
10. (Opzionale) Configurare l'agent gpg
10. Copiare i file `.mrconfig` e `.mrtrust` forniti sopra in `/root` e configurare le variabili `SITE` e `REPO_ROOT` in `.mrconfig`.
11. Eseguire l'update di tutti i moduli `mr -d /etc/ update`
12. Lanciare l'esecuzione di puppet `puppet apply -v /etc/puppet/manifests/site.pp`
- Aggiungere la configurazione di un nuovo server in puppet-deploy
- Aggiungere un submodule a puppet-deploy
#### Appunti