Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ysodre/ansible-expressapp
https://github.com/ysodre/ansible-expressapp
ansible-playbook ansible-roles database website
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/ysodre/ansible-expressapp
- Owner: ySodre
- Created: 2023-06-28T19:29:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-05T22:45:37.000Z (over 1 year ago)
- Last Synced: 2024-10-13T07:22:52.660Z (3 months ago)
- Topics: ansible-playbook, ansible-roles, database, website
- Language: Ruby
- Homepage:
- Size: 25.4 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Projeto - Instalação da aplicação Web Allsafe Express
O objetivo desse projeto é fazer o deploy de uma aplicação web que faz consultas ao servido de banco de dados de maneira automatizada com o ansible.
![image](https://github.com/ySodre/ansible-expressapp/assets/89286829/121f1aac-2b68-493b-81c2-1789bf6c25e2)
## Conhecimentos utilizados
- Ansible
- Estrutura de arquivos Ansible
- Código reutilizável
- Apache2
- Banco de dados
- Par de chaves pública e privada
- Vagrant
## Configuração
1 - Utilizei o vagrant para provisionar as instâncias do projeto: controle (ansible), web e db.
2 - Configuração da máquina controle
- #apt update -y
- #apt install git -y
- #apt install ansible -y
- #cd /opt
- #mkdir expressapp
- #cd expressapp
- #git clone https://github.com/ySodre/ansible-expressapp.git
- #cd ansible-expressapp
3 - Gerar par de chaves para os servidor WEB e DB e importar para os servidores, por padrão o usuário e senha das máquinas provisionadas pelo vagrant é: vagrant.
- #ssh-keygen
- #ssh-copy-id vagrant@ip_db
- #ssh-copy-id vagrant@ip_web
4 - Editar o arquivo hosts dentro do diretorio do ansible_expressapp, alterando o IP dos servidores e o caminho da sua chave privada gerada.
## Testar comunicação com os servidores
- #ansible -i hosts all -m ping
Você deverá ver o seguinte retorno.
![image](https://github.com/ySodre/ansible-expressapp/assets/89286829/ac0f7557-a632-4f28-bb58-0cb430fb397c)
## Executar o playbook implementação
Nesse projeto existe apenas uma váriável de ambiente que é o IP do banco de dados então no momento da execução é necessário passar a váriavel informando qual o IP do servidor de banco de dados.
- #ansible-playbook -i hosts -e "db_ip=ip_db" playbook.yml
Ao finalizar você deverá ver o resultado das tarefas sem erros
![image](https://github.com/ySodre/ansible-expressapp/assets/89286829/b0d45ff6-cd68-48fd-86a3-6e4eb3ac8ada)
## Configuração DNS
Como estamos trabalhando com IPs privados, será necessário editar o arquivo hosts da sua máquina e criar o apontamento necessário.
Exemplo em windows. Caminho: C:\Windows\System32\drivers\etc\hosts
![image](https://github.com/ySodre/ansible-expressapp/assets/89286829/925eb3f2-a15a-4452-8abc-4d9f9f0ad964)
Exemplo em Linux. Caminho /etc/hosts
![image](https://github.com/ySodre/ansible-expressapp/assets/89286829/d1124001-5bb0-4491-9f72-a42c7c9db640)
## Resultado
O resultado esperado é que ao digitar express.asf.com abra o website da aplicação e além disso na guia de backups precisa aparecer dois backups, validando a comunicação com o banco de dados.
![image](https://github.com/ySodre/ansible-expressapp/assets/89286829/2a4ef44b-240f-4862-8c9c-9cc35e454de3)
![image](https://github.com/ySodre/ansible-expressapp/assets/89286829/2dc13b09-1509-4099-b3d8-e09b18dd02a9)