Ansible AWX / Tower : Projetos SCM

Neste post será continuada a série de posts sobre o Ansible AWX / Tower , hoje será apresentado como configurar cada tipo de projeto.

Sumário dos posts :

1) Configurando um projeto Manual

Para criarmos um projeto manual será necessário criar um diretório no path /var/lib/awx , o nome do diretório será o mesmo do projeto .

Em nosso caso criaremos um projeto chamado sample Apache.

/var/lib/awx/projects/sample-apache

E criaremos o YAML apache.yml :

---
- name: Configuring Apache for webservers
  hosts: all
  tasks:
    - name: Install Apache
      yum:
        name:
          - httpd
          - mod_ssl
          - firewalld
        state: present
   
    - name: Start firewalld
      service: 
        name: firewalld
        state: started
        enabled: yes

    - name: Start httpd
      service:
        name: httpd
        state: started
        enabled: yes

    - name: Enable firewall web ports
      firewalld:
        port: "{{ item }}-{{ item }}/tcp"
        immediate: yes
        permanent: yes
        state: enabled
      loop:
        - 80
        - 443

Criando o projecto

Criando o template

Execução

Após a execução podemos ver o index padrão no Apache no host configurado :

2) Configurando um projeto com repositórios GIT

No nosso projeto com GIT vamos utilizar um projeto simples de app python :

https://github.com/fabioabreureis/awx-python-sample

Configuração do projeto

Deixei a opção “UPDATE REVISION ON LAUNCH” para sempre fazer “git pull” no projeto em toda execução.

Configurando o template

Execução

Após a execução podemos ver o app configurado via curl :

[root@ansible2 supervisord.d]# curl http://192.168.15.201:5000/hello 

Hello World from Python Flask!