Closed fititnt closed 5 years ago
Hummm... é possível.
tldr.yml
- name: tldr tsuru client? docker? docker-machine?
hosts: localhost
tasks:
- name: tsuru client? https://tsuru-client.readthedocs.io/en/latest/installing.html
shell: tsuru --version
register: result
ignore_errors: false
- name: docker? https://docs.docker.com/install/
shell: docker --version
register: result2
ignore_errors: false
- name: docker-machine? https://docs.docker.com/machine/install-machine/
shell: docker-machine version
register: result3
ignore_errors: false
# fititnt at bravo in /alligo/code/eticaai/aguia-pescadora-ansible-playbooks on git:master x [4:34:49]
$ ansible-playbook tldr.yml -e tsuru_host=aguia-pescadora-delta.etica.ai
PLAY [tldr tsuru client? docker? docker-machine?] ******************************
TASK [Gathering Facts] *********************************************************
ok: [localhost]
TASK [tsuru client? https://tsuru-client.readthedocs.io/en/latest/installing.html] ***
changed: [localhost]
TASK [docker? https://docs.docker.com/install/] ********************************
changed: [localhost]
TASK [docker-machine? https://docs.docker.com/machine/install-machine/] ********
changed: [localhost]
PLAY [tldr] ********************************************************************
TASK [Gathering Facts] *********************************************************
ok: [localhost]
TASK [modo para forçar servidor de destino como target] ************************
ok: [localhost]
PLAY [tldr, target] ************************************************************
TASK [teste se fucionou] *******************************************************
ok: [aguia-pescadora-delta.etica.ai] => {
"msg": "I'm on aguia-pescadora-delta.etica.ai"
}
PLAY RECAP *********************************************************************
aguia-pescadora-delta.etica.ai : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=6 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
# fititnt at bravo in /alligo/code/eticaai/aguia-pescadora-ansible-playbooks on git:master x [4:34:56]
$
Que lindo! Tem até autossl!
ssh root@aguia-pescadora-echo.etica.ai
cat /usr/local/openresty/nginx/logs/error.log
2019/07/14 08:42:50 [notice] 12420#12420: signal process started
2019/07/14 08:42:50 [error] 6085#6085: init_by_lua error: init_by_lua:2: module 'resty.auto-ssl' not found:
no field package.preload['resty.auto-ssl']
no file '/usr/local/openresty/site/lualib/resty/auto-ssl.ljbc'
no file '/usr/local/openresty/site/lualib/resty/auto-ssl/init.ljbc'
no file '/usr/local/openresty/lualib/resty/auto-ssl.ljbc'
no file '/usr/local/openresty/lualib/resty/auto-ssl/init.ljbc'
no file '/usr/local/openresty/site/lualib/resty/auto-ssl.lua'
no file '/usr/local/openresty/site/lualib/resty/auto-ssl/init.lua'
no file '/usr/local/openresty/lualib/resty/auto-ssl.lua'
no file '/usr/local/openresty/lualib/resty/auto-ssl/init.lua'
no file './resty/auto-ssl.lua'
no file '/usr/local/openresty/luajit/share/luajit-2.1.0-beta3/resty/auto-ssl.lua'
no file '/usr/local/share/lua/5.1/resty/auto-ssl.lua'
no file '/usr/local/share/lua/5.1/resty/auto-ssl/init.lua'
no file '/usr/local/openresty/luajit/share/lua/5.1/resty/auto-ssl.lua'
no file '/usr/local/openresty/luajit/share/lua/5.1/resty/auto-ssl/init.lua'
no file '/usr/local/openresty/site/lualib/resty/auto-ssl.so'
no file '/usr/local/openresty/lualib/resty/auto-ssl.so'
no file './resty/auto-ssl.so'
no file '/usr/local/lib/lua/5.1/resty/auto-ssl.so'
no file '/usr/local/openresty/luajit/lib/lua/5.1/resty/auto-ssl.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
no file '/usr/local/openresty/site/lualib/resty.so'
no file '/usr/local/openresty/lualib/resty.so'
no file './resty.so'
no file '/usr/local/lib/lua/5.1/resty.so'
no file '/usr/local/openresty/luajit/lib/lua/5.1/resty.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
[C]: in function 'require'
init_by_lua:2: in main chunk
Que lindo. O asccinema upado até permite ver que o ansible não instalou o resty-auto-ssl. Vou corrigir e dar uma melhorada na documentação.
Mas creio que vou acabar mantendo mais de uma versão e deixar a "2.0-alpha" para ser a que não usa kuberbenetes ou k3s.
v2.0.4-alpha
Porém notei um bug
E antes disso, a execução anterior demorou muito, mas muito tempo na etapa do tsuru, porém o ansible estava demorando para imprimir no arquivo de log. Idealmente uma melhoria seria imprimir em tempo real no outro arquivo (ainda que isso seja mais uma necessidade da gente que cria os scripts do que de usuarios finais)
Ok. Descobri o problema. Na instalação o tsuru por padrão configura como URL dele o http://tsuru-dashboard.173.249.10.99.nip.io e não o http://tsuru-dashboard.aguia-pescadora-delta.nip.io/.
Então isso implica em precisar fazer possivelmente alguns ajustes extras em Apps instalados.
O v2.0.4-alpha foi lançado em https://github.com/EticaAI/aguia-pescadora-ansible-playbooks/releases/tag/2.0.4-alpha.
Creio que as edições agora passam a ser correções de bugs. Já deixei um branch especial no outro repositório para esta versão do Águia Pescadora.
Tão logo seja possível algo próximo do #26 (ou talvez antes dele) podemos tentar uma opção que assume que um profissional já sabe o que está fazendo e só quer saber o que colar para ter resultado imediato.
Esse TL;DR; pode assumir coisas como o alvo ser um sistema operacional específico e já ter uma conta SSH previamente criada e pronta para fazer o que deveria.
Repositório de referência: https://github.com/EticaAI/aguia-pescadora-ansible-playbooks