Skip to content

SousaPedroso/AnalyticsIAC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Analytics IaC

Esse repositório contém o deploy de uma aplicação, com terraform, além de gerenciamento de configurações via ansible

Setup

  • Instalação do terraform (linux)
wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform
  • Caso esteja no linux mint, substitua o trecho $(lsb_release -cs) pelo valor de UBUNTU_CODENAME na saída de cat /etc/os-release, como mostrado aqui, ou referencie-se ao trecho abaixo.
wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(sed 's/UBUNTU_CODENAME=//;t;d' /etc/os-release) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform
ssh-keygen
cat ~/.ssh/digital_oceans.pub
  • Instalação do ansible
python3 -m venv ./.venv
source ./.venv/bin/activate
pip install ansible

Deploy

Aqui vai ser separado em duas etapas em vista de ser necessário pegar o IP público do Droplet. Além disso, crie um app no spotify, e coloque suas credenciais no inventory.ini. Para o Telegram, envie uma mensagem para @BotFather para registrar o bot e receber o token de autenticação, para depois colocar essa credencial no inventory.ini. Também crie uma conta em Amplitude, vá em configurações e copie a chave para seu projeto e coloque essa credencial no inventory.ini.

cd infra
terraform init
terraform apply
cd ..
source ./.venv/bin/activate
cd infra
# destruir os serviços caso não seja mais necessário
# terraform destroy
ansible-playbook -i inventory.ini install_requirements.yaml
ansible-playbook -i inventory.ini setup_spotify_analytics.yaml
ansible-playbook -i inventory.ini run_spotify_analytics.yaml
ansible-playbook -i inventory.ini run_telegram_bot.yaml

Funcionamento

Esse projeto cria máquina virtual na digital ocean, fique a vontade para utilizar o free tier e testar o projeto.

A ideia principal do projeto é integrar o template do telegram com os dados do spotify para poder enviar mensagens a respeito de músicas, playlists, entre outras informações através do bot. Os principais pontos que não permitiram finalizar esta integração no tempo planejado para o final do projeto estão na geração do token do spotify de forma automatizada (não foi possível a implementação feita aqui) que exige um mais complexidade e; mesmo prosseguindo de forma manual, há o erro para obtenção de algumas informações da API do spotify.

No entanto, fique à vontade para continuar esse projeto e integrar os dois repositórios base desse projeto: dbt-spotify e telegram-bot.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages