summaryrefslogtreecommitdiff
path: root/nodo.md
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2024-02-24 15:03:05 -0300
committerSilvio Rhatto <rhatto@riseup.net>2024-02-24 15:03:05 -0300
commitc1b973a39a5be58eb4465603b971235ed7fedd4d (patch)
tree4cd1890930fa3ee59e244a9d963592a7b51979d4 /nodo.md
parent3541adeafcdb79efdedc1f9d29a3bca15571c611 (diff)
downloadpadrao-c1b973a39a5be58eb4465603b971235ed7fedd4d.tar.gz
padrao-c1b973a39a5be58eb4465603b971235ed7fedd4d.tar.bz2
Feat: migrate docs from Ikiwiki to MkDocs
Diffstat (limited to 'nodo.md')
-rw-r--r--nodo.md157
1 files changed, 0 insertions, 157 deletions
diff --git a/nodo.md b/nodo.md
deleted file mode 100644
index 5f1e289..0000000
--- a/nodo.md
+++ /dev/null
@@ -1,157 +0,0 @@
-[[!toc levels=4]]
-
-Adicionando um nodo
-===================
-
-Procedimento para adicionar um novo nodo à infraestrutura.
-
-Assumindo
----------
-
-Neste exemplo, assumiremos os seguites parâmetros:
-
- node=novo-host # hostname do novo nodo
- hydra=nome-do-grupo # nome da hydra
- domain="example.org" # dominio do projeto
-
-Ainda:
-
-* `admin@box$`: indica shell da máquina do/a administrador.
-* `root@nodo#`: indica o shell do novo nodo.
-* `root@master#`: indica o shell do master.
-
-Certifique-se de configurar os parâmetros acima em cada um dos shells mencionados.
-
-Configuração de DNS
--------------------
-
-O primeiro passo é criar uma entrade de DNS para o novo nodo. Use uma das
-seguintes configurações na interface de atualização de DNS, substituindo
-`$node`, `$ip` ou `$domain` pelos valores apropriados.
-
-No caso de um registro `A`:
-
- $node 3600 IN A $ip
-
-No caso de um `CNAME`:
-
- $node 3600 IN CNAME $domain.
-
-Provisionamento
----------------
-
-Esta consiste na criação do nodo -- máquina virtual ou servidor físico, podendo ser feita de dois modos:
-
-* Via puppet na própria infraestrutura da `$hydra`.
- * No caso de um servidor físico, proceda [apropriadamente](/install).
- * No caso de uma máquina virtual, defina-a no manifest do puppet da máquina
- hospedeira usando o padrão de virtualização desejado.
-* Solicitando a um coletivo hospedeiro altamente confiável.
-
-No caso de uma máquina virtual hospedada numa máquina física do grupo, considere a [faixa de alocação](allocation) de IPS.
-
-Definição do nodo
------------------
-
-Definição básica do nodo:
-
- admin@box$ hydra $hydra newnode $node # cria definicoes minimas para o nodo
- admin@box$ hydra $hydra newkeys $node # criar as chaves necessarias para o nodo
-
-Após esses comandos, é preciso editar o arquivo `puppet/hiera/production/domain/$domain/$node.$domain.yaml`
-e ajustar configurações básicas de chaves, senhas, etc.
-
-Em seguida, submeta as mudanças para o repositório:
-
- admin@box$ cd `hydra $hydra folder`/puppet
- admin@box$ git commit -a -m "Adicionando nodo $node" && git push
-
-Chaves
-------
-
-Envie a chaves geradas para o novo nodo:
-
- admin@box$ hydra $hydra import-keys $node.$domain
-
-No caso de chaves para conexões TLS, envie-as juntamente com o certificado de cada domínio:
-
- admin@box$ hydra $hydra import-certs $node.$domain [certs]
-
-Configurando o puppet
----------------------
-
-Instale o pacote:
-
- root@nodo# apt-get install puppet
-
-Certifique-se então que os seguintes valores correspondem a `$node.$domain`:
-
- root@nodo# facter fqdn
-
-Lembre-se de iniciar o `puppet agent` pela primeira vez através de um comando do tipo
-
- root@nodo# puppet agent --server puppet.`facter domain` --pluginsync true --waitforcert 60 --test
-
-No caso de uma porta fora do padrão, use o parâmetro `--masterport`. Em seguida, verifique se
-os fingerprints dos certificados (master e nodo) coincidem. No master:
-
- root@master# puppet cert list | grep $node.$domain
-
-Caso os fingerprints batam, basta liberar o novo nodo a partir do host em que roda o master como o comando
-
- root@master# puppet cert sign $node.$domain
-
-Assista as mudanças nos arquivos de log (`/var/log/daemon.log` ou `/var/log/syslog`):
-
- root@nodo# tail -F /var/log/daemon.log /var/log/syslog
-
-Mais detalhes [aqui](http://projects.puppetlabs.com/projects/1/wiki/certificates_and_security) sobre certificados e segurança.
-
-Deploy da Hydra Suite
----------------------
-
-Faça a instalação da hidra suite no novo nodo:
-
- admin@box$ hydra $hydra install $node.$domain
-
-Fingerprints e Monkeysphere
----------------------------
-
-Verifique os fingerprints do SSH e do puppet:
-
- root@nodo# hydractl ssh-finger
- root@nodo# hydractl puppet-finger
- root@master# hydractl puppet-finger
-
-Opcionalmente, proceda com a [configuração das chaves de serviço do monkeysphere](http://web.monkeysphere.info/doc/host-keys).
-
-Inscrição em lista de mensagens
--------------------------------
-
-Caso o alias de email para `root` esteja configurado para o endereço de uma lista de discussão privada de email (o que permite um grupo de administradores/as monitorarem mensagens de sistema), certifique-se de configurar os endereços de `root@$node.$domain` e demais endereços como assinantes da lista no modo `no mail` (sem recebimento). Assim, eles poderão enviar mensagens mas não receberão nenhuma mensagem da lista.
-
-Retirando um nodo
-=================
-
-Para descomissionar um nodo, proceda na máquina administrativa:
-
- admin@box$ hydra $hydra sync
- admin@box$ cd hydra $hydra folder
- admin@box$ find -name "$node*" -exec rm {} \;
- admin@box$ $EDITOR manifests/nodes.pp # remova a linha de inclusao do nodo
- admin@box$ git status # revisao
- admin@box$ git commit -a -m "Descomissionando $node"
- admin@box$ git push
-
-Em seguida, no nodo master:
-
- root@master# puppet cert clean $node.$domain
- root@master# hydractl puppet-clean-stored $node.domain
-
-Por fim:
-
-* Checar backups remoto do nodo, caso se queira recuperar algum dado no futuro!
-* Apagar entradas DNS.
-* Chaves no keyringer não precisam ser movidas necessariamente, pois podem ser úteis para acesso dos backups.
-* Limpar página de fingerprints.
-* Revogar chaves (OpenPGP, SSL), quando cabível.