]> gitweb.fluxo.info Git - padrao.git/commitdiff
processo quase terminado
authordrebs <drebs@riseup.net>
Tue, 22 Mar 2011 19:43:40 +0000 (16:43 -0300)
committerdrebs <drebs@riseup.net>
Tue, 22 Mar 2011 19:43:40 +0000 (16:43 -0300)
bootstrap.mdwn

index b4ba9e8926f465fdeead0cca889423af5c58f12d..7039c6c89eb5228863a9de4e497b7d12ca9b959a 100644 (file)
@@ -27,20 +27,23 @@ Documenta
 Configuração da máquina hospedeira
 ----------------------------------
 
-Preencha o hostname e domínio da máquina no arquivo `/etc/hosts`. A ordem dos hostnames é importante para os facts `hostname` e `domain`. Troque `servidor` pelo hostname da máquina e `projeto.org` pelo domínio:
-
-    127.0.0.1 localhost
-    xxx.yyy.zzz.www servidor.projeto.org servidor
-
 Configure algumas variáveis de ambiente:
 
-    export puppet_bootstrap_dir=/tmp/puppet-bootstrap
+    export domain="projeto.org"
+    export hostname=`hostname | sed -e s/\\\\..*$//`
+    export puppet_bootstrap_dir=/var/tmp/puppet-bootstrap
     export PUPPETLIB=${puppet_bootstrap_dir}/modules
-    export hostname=`hostname | sed -e s/\\..*$//`
+
+Configure o arquivo `/etc/hosts` (a ordem dos hostnames influencia nos resultados do `facter`):
+
+    cat > /etc/hosts <<EOF
+    127.0.0.1 localhost
+    xxx.yyy.zzz.www ${hostname}.${domain} ${hostname}
+    EOF
 
 Instale o git e o puppet e clone o repositório `puppet-bootstrap`:
 
-    apt-get -y install git-core puppet
+    apt-get -y install git-core puppet wipe
     git clone git://git.sarava.org/puppet-bootstrap ${puppet_bootstrap_dir}
 
 Altere o arquivo `${puppet_bootstrap_dir}/manifests/config.pp` de acordo com suas necessidades.
@@ -62,31 +65,47 @@ Configura
 
 A partir deste momento, vamos trabalhar apenas no nó administrativo recém criado.
 
-Prepare o vserver para rodar o puppet:
+Copie o `puppet-bootstrap` e a configuração padrão para o vserver e limpe os rastros:
+
+    echo LANG=C > /var/vservers/${hostname}-master/etc/default/locale
+    cp -r ${puppet_bootstrap_dir} \
+      /var/vservers/${hostname}-master/${puppet_bootstrap_dir}
+    cp -r /usr/local/puppet \
+      /var/vservers/${hostname}-master/usr/local/puppet
+    wipe -rcfq -S r -R /dev/urandom ${puppet_bootstrap_dir} /usr/local/puppet
+
+Acesse o vserver e instale algumas ferramentas:
 
-    vserver ${hostname}-master exec \
-      apt-get -y install git puppet
-    vserver ${hostname}-master exec \
-      git clone git://git.sarava.org/puppet-bootstrap ${puppet_bootstrap_dir}
-    cp ${puppet_bootstrap_dir}/manifests/config.pp \
-        /var/vservers/${hostname}-master/${puppet_bootstrap_dir}/manifests/
     vserver ${hostname}-master enter
-    puppet apply -d -v ${puppet_bootstrap_dir}/manifests/stage0.pp
+    apt-get update
+    apt-get -y upgrade
+    apt-get -y install git puppet puppetmaster wipe
 
-Instale uma configuração padrão do puppet:
+Configure o hostname e domínio do nó administrativo:
 
-    puppet apply -d -v ${puppet_bootstrap_dir}/manifests/admin-stage1.pp
+    cat > /etc/hosts <<EOF
+    127.0.0.1 localhost
+    192.168.0.2 ${hostname}-master.${domain} ${hostname}
+    EOF
+
+Prepare o vserver para a utilização do puppet.
+
+    puppet apply -d -v ${puppet_bootstrap_dir}/manifests/stage0.pp
 
 Criação de repositórios padrão
 ------------------------------
 
 Dê acesso ao repositório administrativo do gitosis a um usuário:
 
+    mkdir -p /var/git/repositories
+    usermod -d /var/git/ gitosis
+    rm -rf /srv/git
+    chown -R gitosis:gitosis git/
     sudo -H -u gitosis gitosis-init < FILENAME.pub
 
 Clone o repositório administrativo do gitosis remotamente:
 
-    git clone ssh://gitosis@servidor.projeto.org:porta/gitosis-admin
+    git clone ssh://gitosis@servidor.${domain}:2202/gitosis-admin
 
 Altere o arquivo `gitosis-admin/gitosis.conf` do repositório clonado e crie um repositório para a configuração do puppet e um repositório para suas chaves criptográficas:
 
@@ -109,19 +128,24 @@ Para adicionar um novo usu
 Configuração do repositório puppet
 ----------------------------------
 
-Altere as configurações padrão do puppet em `/var/local/puppet/default-conf` de acordo com suas necessidades, faça uma cópia das configurações para o `/etc/puppet`, crie um novo repositório git neste local e clone o repositório para o diretório do gitosis:
+Altere as configurações padrão do puppet em `/usr/local/puppet/default-conf` de acordo com suas necessidades e incialize os repositórios em `/etc/puppet` e `/var/git/repositories/puppet`):
 
+    /etc/init.d/puppetmaster stop
+    rm -rf /etc/puppet
+    mkdir /etc/puppet
     cd /etc/puppet
-    cp -r /var/local/puppet/default-conf/* .
+    cp -r /usr/local/puppet/default-conf/* .
+    wipe -rcfq -S r -R /usr/local/puppet
     git init
     git add *
+    puppet-bootstrap add-submodules /etc/puppet
     git commit -m "Initial config."
     git clone --bare /etc/puppet/ /var/git/repositories/puppet.git
     chown -R gitosis:gitosis /var/git/repositories/puppet.git
 
 Agora já podemos clonar o repositório de configurações do puppet remotamente:
 
-    git clone ssh://gitosis@servidor.projeto.org:porta/puppet.git
+    git clone ssh://gitosis@${hotname}.${domain}:2202/puppet.git
 
 Configuração da hydra
 ---------------------
@@ -135,19 +159,24 @@ Instale `hydra` e `keyringer`:
     sudo git clone git://git.sarava.org/hydra /usr/local/hydra
     sudo ln -sf /usr/local/hydra/hydra /usr/local/sbin/hydra
     sudo ln -sf /usr/local/hydra/hydra /usr/local/sbin/hydractl
-    sudo ln -sf /usr/local/hydra/hydra /usr/local/sbin/hydractl
     # keyringer
     sudo git clone git://git.sarava.org/keyringer /usr/local/keyringer
     sudo ln -sf /usr/local/keyringer/keyringer /usr/local/bin/keyringer
 
 Tenha certeza que possui em seu chaveiro gpg as chaves dos usuários que irão acessar o repositório de chaves. Crie um keyring para o projeto clonando o repositório configurado:
 
-    keyringer projeto init ~/projeto/keyring ssh://gitosis@servidor.projeto.org:porta/keyring.git
+    keyringer projeto init ~/projeto/keyring
+    cd ~/projeto/keyring
+    git init
+    git remote add origin ssh://gitosis@servidor.${domain}:2202/keyring.git
+    git add *
+    git commit -m "initial commit"
+    git push origin master
 
 Clone o repositório de configuração do puppet e registre uma nova hydra:
 
     puppet_dir=~/projeto/puppet
-    git clone git://gitosis@servidor.projeto.org:porta/puppet $puppet_dir
+    git clone git://gitosis@servidor.${domain}:2202/puppet $puppet_dir
     hydra projeto register $puppet_dir
 
 Gere novas chaves para os nós configurados e as envie para os nós:
@@ -208,7 +237,7 @@ Configurando refer
 
     # Configuracao
     origin="sarava.org"
-    remotes="sarava.org:porta"
+    remotes="sarava.org:${port}"
     repos="`lynx -dump http://git.$origin/?a=project_index | awk '{ print $1 }' | grep ^puppet-`"
 
     # Adicionando referencias
@@ -251,7 +280,7 @@ Exemplo de cria
 
     # Configuracao
     origin="sarava.org"
-    remotes="sarava.org:porta"
+    remotes="sarava.org:${port}"
 
     mkdir puppet-{ikiwiki,moin,mysql,trac}/manifests -p
     touch puppet-{ikiwiki,moin,mysql,trac}/manifests/init.pp