Migração de Sites

Sites

Parâmetros iniciais:

ORIGIN="hostname-origem"
DEST="fqdn-destino:porta-ssh"

Montando manualmente a lista de sites:

IKIWIKIS="lista de ikiwikis"
SITES="$IKIWIKIS outros sites"

Montando a partir das definições do puppet:

hydra sarava list-sites $ORIGIN

DNS

Proceda com a mudança de DNS para os sites, atualizando o repositório dns.git.

Backup

Na origem:

hydractl backup-sites $SITES

Cópia

Na origem:

hydractl backup-copy-sites $DEST $SITES

A senha do usuário backups está no keyringer.

Para agilizar, copie temporariamente a chave pública de de root@$ORIGIN para backups@DEST:~/.ssh/authorized_keys. Isso evitará a digitação excessiva da senha do usuário backups.

Git

Caso os repositórios git também estejam sendo migrados, crie uma senha temporária para o gitolite na máquina de destino e proceda com a cópia do material:

su gitolite -c "rsync -avz --delete -e 'ssh -p porta-ssh' /var/git/ fqdn-destino:/var/git/"

Você também precisará alterar a chave de acesso de root@ORIGIN para root@DEST na configuração do gitolite.

Habilitando

Habilite os sites pelo puppet, mudando o nome do servidor no campo tag de cada definição.

Verifique se existem usuários e grupos em users::virtual associados a esses sites, fazendo a alteração conforme necessário.

Aplique o catálogo no servidor de destino. Eventualmente, desabilite o puppet no servidor de origem com o comando

hydractl puppet-disable

Isso evitará que os sites sejam apagados antes que tenhamos certeza que foram migrados com sucesso.

Restore

No destino:

hydractl backup-restore-sites $ORIGIN $SITES

No caso de um único site:

hydractl backup-restore-sites backups $ORIGIN nome-do-sitio

Reprepro:

hydractl backup-restore-reprepro $ORIGIN