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.