Skip to content
This repository has been archived by the owner on Jan 18, 2022. It is now read-only.

Configura servidores debian para o ambiente produtivo da CMC

Notifications You must be signed in to change notification settings

CMCuritiba/ansible-collection-iac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ansible Collection - cmcuritiba.iac

Coleção de roles para configurar servidores debian para o ambiente produtivo da CMC.

Este é um trabalho em curso.

Requisitos

  • Ansible 2.10.3 ou maior
  • Python 3.8.5 ou maior

Roles

Guia do ameba

  • Opcional: crie um virtual env python e ative-o para instalar o Ansible.
  1. Instalar o Ansible na máquina controladora. Sugestão, de acordo com esta documentação:

    sudo apt install python-is-python3 python3-pip
    sudo pip3 install ansible

    Para atualizar o Ansible:

    sudo pip3 install --upgrade ansible
  2. Garanta o acesso do controlador ao host (por exemplo, compartilhando chaves entre o controlador e os hosts)

  3. Instalar a collection cmcuritiba.iac. As alternativas de instalação são:

    1. Faça o download do projeto como .zip e descompacte em ./collections/ansible_collections/ ou ~/.ansible/collections/ansible_collections/

    2. Clone o projeto localmente em ./collections/ansible_collections/ ou ~/.ansible/collections/ansible_collections/

    3. Utilizando o galaxy para baixar o código do repositório através de um requirements.yml:

      ---
      collections:
        - name: https://github.com/CMCuritiba/ansible-cmc-servers.git
          type: git
          version: main

      Instale com:

      ansible-galaxy install -r requirements.yml
  4. Verifique se o(s) host(s) estão no ar:

    ansible -m ping -u root dhcp
    ansible -m ping all
  5. Testando um playbook (dry run):

    ansible-playbook -u root playbook.yml --check --diff
    ansible-playbook -u root playbook.yml --check
  6. Aplicando um playbook:

    ansible-playbook -K playbook.yml
    ansible-playbook -u nome.sobrenome -K playbook.yml
    ansible-playbook -u root playbook.yml
  7. Atualize playbooks existentes para funcionar com a coleção:

    1. Renomeie todas as referencias à role original nos playbooks para iniciar com cmcuritiba.iac;
    2. Remova todas as referencias a cmc_server_hostname. cmc_server_hostname foi substituída com a variável especial do ansible inventory_hostname_short;
    3. Revise as variáveis obrigatórias e opcionais, em especial para LDAP e SMTP.
  8. Miscelânea

    1. Please submit a pull request on so we can merge your roles into the collection.

Testing

  1. Instale o molecule:

    python3 -m venv molecule-venv
    source molecule-venv/bin/activate
    (molecule-venv) $ pip install "molecule[ansible]"
    (molecule-venv) $ pip install "molecule[podman,lint]"
  2. Para fazer o lint do código:

    (molecule-venv) $ cd roles/aaa
    (molecule-venv) $ molecule lint
  3. Teste o playbook nos containeres (configurados em molecule/default/molecule.yml):

    (molecule-venv) $ cd roles/aaa
    (molecule-venv) $ molecule test

References

  • Developing and Testing Ansible Roles with Molecule and Podman: