summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrebs <drebs@riseup.net>2011-03-13 12:54:42 -0300
committerdrebs <drebs@riseup.net>2011-03-13 12:54:42 -0300
commitebea61edc5ed367dd6bad6a5719961973194630a (patch)
treebc47ba0c89d7c60f40cc1258133c331bb7d67dba
parentf7fe379bfedc48d0096d37ad9276e35c34817eb3 (diff)
downloadpadrao-ebea61edc5ed367dd6bad6a5719961973194630a.tar.gz
padrao-ebea61edc5ed367dd6bad6a5719961973194630a.tar.bz2
informacao da hydra no bootstrap
-rw-r--r--bootstrap.mdwn54
1 files changed, 48 insertions, 6 deletions
diff --git a/bootstrap.mdwn b/bootstrap.mdwn
index 3169418..7d92f3a 100644
--- a/bootstrap.mdwn
+++ b/bootstrap.mdwn
@@ -27,10 +27,10 @@ Documentação [aqui](/install).
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`):
+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 hostname.domain hostname
+ xxx.yyy.zzz.www servidor.projeto.org servidor
Clone o repositório `puppet-bootstrap`:
@@ -41,7 +41,11 @@ Clone o repositório `puppet-bootstrap`:
Altere o arquivo `$puppet_bootstrap_dir/manifests/config.pp` de acordo com suas necessidades.
-Instale os módulos do puppet e crie um vserver para abrigar o nó administrativo:
+Os comandos a seguir realizam as seguintes tarefas:
+
+* Instalação dos módulos do puppet em `/tmp/puppet-bootstrap/modules`.
+* Criação de um vserver para abrigar o nó administrativo.
+* Configuração do firewall para acesso externo ao vserver via ssh.
puppet apply -d -v $puppet_bootstrap_dir/manifests/stage0.pp
puppet apply -d -v $puppet_bootstrap_dir/manifests/host-stage1.pp
@@ -53,11 +57,16 @@ A partir deste momento, vamos trabalhar apenas no nó administrativo recém criado
Acesse o nó administrativo e clone o `puppet-bootstrap` novamente:
- vserver hostname-master enter
+ vserver servidor-master enter
export PUPPETLIB=$puppet_bootstrap_dir/modules
git clone git://git.sarava.org/puppet-bootstrap $puppet_bootstrap_dir
-Instale os módulos do puppet, a configuração padrão do puppet, o gitosis e o puppetmaster:
+Os comandos a seguir realizam as seguintes tarefas:
+
+* Instalação dos módulos do puppet.
+* Geração de uma configuração padrão do puppet em `/var/local/puppet/default-conf`.
+* Instalação do gitosis.
+* Instalação do puppetmaster com configuração de atualização periódica do repositório em `/etc/puppet` (que criaremos em instantes).
puppet apply -d -v $puppet_bootstrap_dir/manifests/stage0.pp
puppet apply -d -v $puppet_bootstrap_dir/manifests/admin-stage1.pp
@@ -100,7 +109,7 @@ Altere as configurações padrão do puppet em `/var/local/puppet/default-conf` de
cp -r /var/local/puppet/default-conf/* .
git init
git add *
- git commit
+ git commit -m "Initial config."
git clone --bare /etc/puppet/ /var/git/repositories/puppet.git
chown -R gitosis:gitosis /var/git/repositories/puppet.git
@@ -108,6 +117,39 @@ Agora já podemos clonar o repositório de configurações do puppet remotamente:
git clone ssh://gitosis@servidor.projeto.org:porta/puppet.git
+Configuração da hydra
+---------------------
+
+Esta parte da instalação gera chaves criptográficas e portanto deve ocorrer em uma máquina com um nível de segurança significativo (criptografia de disco, bootless, etc).
+
+Instale `hydra` e `keyringer`:
+
+ sudo apt-get -y install git-core
+ # hydra
+ 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
+
+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
+ hydra projeto register $puppet_dir
+
+Gere novas chaves para os nós configurados e as envie para os nós:
+
+ hydra projeto newkeys
+ hydra projeto import servidor.pub
+
+
Partida do puppetmaster
-----------------------