Suponha que eu tenha um host que seja, entre outras coisas, um servidor Web, em que a função Ansible relacionada seja instalada nginx
, execute algumas configurações essenciais /etc/nginx
e abra as portas 80 e 443 no firewall.
Em algum momento, quero que esse host em particular não seja mais um servidor Web, porque, por algum motivo, mudei esse serviço para outro lugar. Apenas remover o servidor do [webservers]
inventário deixaria lixo no servidor. Idealmente, eu gostaria de desinstalar nginx
, remover o /etc/nginx
diretório (e alguns outros diretórios) e fechar as portas 80 e 443 no firewall.
No Puppet eu posso fazer isso. Um host que é um servidor web terá algo parecido com isto em sua configuração:
class { 'nginx':
ensure => present,
}
e tudo o que preciso fazer é substituir "presente" por "ausente". Se a nginx
classe for bem escrita, ela desfará as alterações que fez. (Normalmente, um administrador substitui "presente" por "ausente" e, mais tarde, quando tiver certeza de que todos os hosts afetados desfeitaram a configuração, ele removerá o item do manifesto.)
Além do mais, acho que o módulo de firewall Puppet remove automaticamente as regras de firewall que não podem mais ser encontradas no manifesto; então acho que, para o firewall, você nem precisa fazer a coisa "ausente" acima, o firewall será fechado automaticamente de qualquer maneira.
Como posso conseguir essas coisas com o Ansible?
ensure => present
para oensure => absent
que também ... Como fazer o mesmo com o ansible" etc. Idealmente com um exemplo de qualquer coisa que você já tentou.