https://github.com/librecodecoop/ansible-docker
https://github.com/librecodecoop/ansible-docker
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/librecodecoop/ansible-docker
- Owner: LibreCodeCoop
- License: agpl-3.0
- Created: 2022-10-13T15:45:03.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-02-26T14:48:15.000Z (about 1 year ago)
- Last Synced: 2025-02-26T15:30:15.446Z (about 1 year ago)
- Language: Jinja
- Size: 54.7 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
- Authors: AUTHORS.rst
Awesome Lists containing this project
README
# Configurações
Ambiente genérico com `docker compose.yml` para deploy de serviços.
O primeiro passo é criar o arquivo `inventory.ini` e preencher com dados do host de destino.
Exemplo:
```
[webserver]
exemplo.com.br ansible_host=ip ansible_user=root
192.168.0.100
[databases]
200.10.2.5
```
Onde `ansible_host` e `ansible_user` são variáveis que serão utilizadas apenas no host `exemplo.com.br`.
### Caso o deploy possuir secrets, usar a etapa abaixo:
Criar arquivo `.vault.pass.txt` com uma senha para proteger alguns dados sensíveis
Criar o arquivo `.secrets.yml` com o conteúdo abaixo
```
variavel: valor
```
Executar o ansible-vault para encriptar esses dados
```
ansible-vault encrypt roles/docker/vars/.secrets.yml
```
Caso queira ver o conteúdo do arquivo, basta alterar encrypt para view e, caso quiser editar, alterar de encrypt para edit.
OBS: Há um controle de quais tasks serão executadas. Isso pode ser controlado no arquivo `docker/defaults/main.yml`
# Execução
Executar a playbook
```
ansible-playbook playbook.yml -v --inventory-file invetory.ini
```
Caso tenham secrets:
```
ansible-playbook playbook.yml -v \
--inventory-file hosts \
--extra-vars "@roles/docker/vars/.secrets.yml"
```
# Parâmetros
- Utilizando outra chave para se conectar aos hosts, defina `--key-file chave-ssh`:
- `ansible-playbook --inventory hosts.yml --key-file chave-ssh requirements-playbook.yml`