Por: @jonasc
Publicado em: 2021-04-08
AWX CLI
Pacotes necessários
Ansible-tower CLI
Instalação
CentOS 8:
dnf config-manager --add-repo https://releases.ansible.com/ansible-tower/cli/ansible-tower-cli-centos8.repo
dnf install ansible-tower-cli
Outras plataformas:
pip3 install --user https://releases.ansible.com/ansible-tower/cli/ansible-tower-cli-latest.tar.gz
Configuração
No AWX é preciso habilitar criação de personal token em Settings > System > ALLOW EXTERNAL USERS TO CREATE OAUTH2 TOKENS
Autenticação
Criação do Token:
MINHA_SENHA=`cat /tmp/minha_senha`
curl -XPOST -k -H "Content-type: application/json" \
-d '{"description":"Personal Tower CLI token", "application":null, "scope":"write"}' \
http://gitlab-ci:$MINHA_SENHA@awx.itflex.com.br/api/v2/users/46/personal_tokens/ | python -m json.tool
Salve o token em local seguro.
Usando o token para awx CLI:
AWXTOKEN=`cat /tmp/meu_token`
awx --conf.host http://awx.itflex.com.br --conf.token $AWXTOKEN --help
Comandos utilizados para gerenciamento
Alterando SCM BRANCH/TAG/COMMIT de um projeto:
awx --conf.host http://awx.itflex.com.br --conf.token $AWXTOKEN projects modify 59 --scm_branch master
Sincronizar um projeto:
awx --conf.host http://awx.itflex.com.br --conf.token $AWXTOKEN projects update 59
Rodando um playbook:
awx --conf.host http://awx.itflex.com.br --conf.token $AWXTOKEN job_templates launch 13 --monitor --inventory 53
Rodando um workflow:
awx --conf.host http://awx.itflex.com.br --conf.token $AWXTOKEN workflow_job_templates launch 17 --monitor --inventory 53