Recentemente tive que reconfigurar um dos meus proxies Foreman (cuja instalação e configuração em conjunto com a libvirt eu detalhei nesse post aqui) para que ele passasse a usar um hostname diferente do que eu tinha originalmente configurado. A princípio, essa era uma alteração, acredito eu, deveria ser possível fazer somente através do foreman-installer. Infelizmente não parece ser o caso, já que o instalador parece não atualizar todas as referências ao hostname antigo. Como não encontrei nada na documentação que explicasse isso, compartilho aqui os passos que usei para fazer a alteração na marra. Considerando que o hostname anterior do servidor não está mais disponível e o servidor já encontra-se devidamente configurado com o novo hostname, os passos para reconfigura-lo são os seguintes:
1. Gerar o novo certificado puppet para o servidor:
puppet cert generate <novo fqdn>
2. Editar o arquivo answers, localizado em /etc/foreman-installer/scenarios.d/foreman-answers.yaml, alterando todas as ocorrências do hostname anterior para o novo hostname. E, sim, isso inclui alterar as configurações de certificados para que elas apontem para novo certificado (ex.: websockets_ssl_key, websockets_ssl_cert, puppet_ssl_key, etc).
3. Rodar novamente o instalador do proxy:
foreman-installer \
--no-enable-foreman \
--no-enable-foreman-cli \
--no-enable-puppet \
--enable-foreman-compute-libvirt \
--enable-foreman-proxy \
--foreman-proxy-dns=true \
--foreman-proxy-dns-provider=virsh \
--foreman-proxy-dns-interface=virbr0 \
--foreman-proxy-dhcp=true \
--foreman-proxy-dhcp-managed=false \
--foreman-proxy-dhcp-interface=virbr0 \
--foreman-proxy-dhcp-vendor=virsh \
--foreman-proxy-dhcp-gateway=192.168.122.1 \
--foreman-proxy-dhcp-range="192.168.122.2 192.168.122.254" \
--foreman-proxy-dhcp-nameservers="192.168.122.1" \
--foreman-proxy-tftp=true \
--foreman-proxy-tftp-servername=<endereço IP do servidor TFTP> \
--foreman-proxy-foreman-base-url=<url do servidor Foreman usando o novo FQDN> \
--foreman-proxy-trusted-hosts=<hostname do servidor Foreman> \
--foreman-proxy-oauth-consumer-key=<oauth consumer key> \
--foreman-proxy-oauth-consumer-secret=<oauth consumer key>
Obs.: não esqueça de ajustar o comando do instalador de acordo com o seu ambiente, as funcionalidades gerenciadas pelo foreman e qualquer outra configuração do seu ambiente. O comando acima deve ser utilizado como um exemplo.
4. Revogar os certificados antigos:
puppet cert revoke <fqdn antigo>
E pronto. Depois feito isso, o proxy deve passar a usar o novo hostname.