Table of Contents

Gerenciando Roles

Roles

Roles são pacotes de configuração que podem ser usados para definir a configuração de um servidor. Cada role contém uma ou mais playbooks, que podem ser usados para configurar um servidor de acordo com as necessidades.

Através de Roles definimos o que precisa ser configurado em cada grupo de servidores, permitindo assim criar um código modular, que depois pode ser compartilhado e reutilizado.

Um exemplo prático é criar uma Role chamada database, responsável em instalar e configurar servidores MySQL e PostgreSQL.

Roles são boas práticas para organização de múltiplas tarefas, relacionando e encapsulando os dados necessários para realizar essas tarefas. Por exemplo, a instalação de um servidor de banco de dados, que envolve a adição de um repositório, a instalação de pacotes e a configuração de arquivos.

Uma implementação muitas vezes requer dados adicionais como variáveis, arquivos, modelos dinâmicos e muito mais. As Roles fazem o papel de PlayBooks organizando tarefas e dados relacionados em uma estrutura mais coerente.

Estrutura de uma Role

A estrutura de uma Role separa cada item de uma implementação feita através do Ansible.

Acompanhe a descrição de cada diretório:

Ansible Galaxy

O Ansible Galaxy é um repositório de pacotes de software para Ansible, que permite baixar e usar pacotes de software de automação de infraestrutura construídos por outros usuários da comunidade Ansible. Os pacotes de software estão disponíveis para todos os sistemas operacionais suportados por Ansible.

Para usar o Galaxy você precisa ter uma conta através de um registro gratuito na página do Galaxy.

Ansible Galaxy

Comando ansible-galaxy

O comando ansible-galaxy permite criar roles (ou pacotes de roles). Você também tem a opção de publicar suas Roles no site https://galaxy.ansible.com/ através de uma conta gratuita.

Para criar uma nova Role, use o comando ansible-galaxy role init. Exemplo:

$ ansible-galaxy role init apache