O projeto Giropops Senhas é uma aplicação web desenvolvida com Flask que permite a geração e gerenciamento de senhas. A aplicação utiliza Redis para armazenamento de dados e é containerizada usando Docker. Além disso, o projeto inclui integração contínua com GitHub Actions para construção e envio de imagens Docker, bem como verificação de vulnerabilidades.
sequenceDiagram
participant User
participant WebApp
participant Redis
participant Prometheus
participant Grafana
User->>WebApp: Solicita geração de senha
WebApp->>Redis: Armazena senha gerada
WebApp->>User: Retorna senha gerada
WebApp->>Prometheus: Exposição de métricas
Prometheus->>Grafana: Coleta de métricas
Grafana->>User: Exibe painel de monitoramento
- Aplicação pode ser acessada localmente em: https://senhas.nataliagranato.xyz. Caso tenha problemas com o certificado, use a aba anônima.
- Documentação do Projeto: https://devops.nataliagranato.xyz
- Pipelines: https://github.com/nataliagranato/LINUXtips-PICK/tree/develop/.github/workflows
- Fórum de Discussão para Dúvidas: https://github.com/nataliagranato/LINUXtips-PICK/discussions
- Prometheus: https://prom.nataliagranato.xyz/
- Grafana: https://grafana.nataliagranato.xyz/public-dashboards/56431da54e9143438ef8e5da78258347
- Pacotes: https://github.com/nataliagranato?tab=packages&repo_name=LINUXtips-PICK
- Helm Chart: https://github.com/nataliagranato/senhas
- Registry:
nataliagranato/senhas:1.0.0-amd64
- Python: Linguagem de programação principal.
- Flask: Framework web utilizado para construir a aplicação.
- Redis: Banco de dados em memória utilizado para armazenamento de dados.
- Docker: Utilizado para containerização da aplicação.
- GitHub Actions: Utilizado para integração contínua e automação de tarefas.
- Cosign: Utilizado para assinatura e verificação de imagens de contêiner.
- Kyverno: Utilizado para políticas de segurança no Kubernetes.
- Kubernetes: Utilizado para orquestração de contêineres em produção.
- Prometheus: Utilizado para monitoramento e alertas.
- APKO: Utilizado para construção de imagens de contêiner.
- Melange: Utilizado para construção de pacotes.
- Helm: Utilizado para gerenciamento de pacotes Kubernetes.
- Hadolint: Utilizado para verificação de qualidade de Dockerfiles.
- Docker Scout: Utilizado para verificação de vulnerabilidades em imagens de contêiner.
- Snyk: Utilizado para verificação de vulnerabilidades em dependências de aplicativos.
- Trivy: Utilizado para verificação de vulnerabilidades em imagens de contêiner.
- CodeRabbit: Utilizado para revisão de código.
- DependaBot: Utilizado para manter as dependências atualizadas.
- Popeye: Utilizado para verificação de configurações de cluster Kubernetes.
- Grafana: Utilizado para visualização de métricas.
- Clone o repositório:
ansible-playbook atualizar_etc_hosts.yml
ansible-playbook deploy.yml
- Clone o repositório:
git clone https://github.com/Tech-Preta/giropops-senhas.git
cd giropops-senhas
- Utilize o Compose
docker-compose up -d
- Acesse a aplicação em seu navegador:
http://localhost:5000
Contribuições são bem-vindas! Por favor, siga as diretrizes abaixo ao contribuir para este projeto.
Se você encontrar um bug ou tiver uma ideia para uma nova funcionalidade, por favor, crie uma issue usando o template apropriado:
- Vá para a aba "Issues" do repositório.
- Clique em "New issue".
- Selecione o template de bug ou feature request.
- Preencha as informações necessárias e envie a issue.
Para contribuir com código, siga os passos abaixo:
- Fork o repositório.
- Crie uma nova branch para sua feature ou correção de bug (
git checkout -b minha-feature
). - Faça as mudanças necessárias e adicione testes, se aplicável.
- Commit suas mudanças (
git commit -m 'Adiciona minha nova feature'
). - Push para a branch (
git push origin minha-feature
). - Abra um pull request usando o template de pull request.