Skip to content

☸🐳 Projeto final do curso Programa Intensivo em Containers e Kubernetes | PICK 2024 da LINUXtips

License

Notifications You must be signed in to change notification settings

nataliagranato/LINUXtips-PICK

 
 

Repository files navigation

Giropops Senhas

OpenSSF Best PracticesBuild da imagem de container Redis Build da imagem de container giropops-senhas Build e Distribuição de Pacotes com Melange e APKO CodeQL Dependabot Updates Image digest update

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
Loading

Links do Projeto

Públicos

Privados

Ferramentas e Tecnologias Utilizadas

GitHub Actions Redis Flask Python YAML AquaSec Docker Kubernetes Prometheus

Ferramentas e Tecnologias Utilizadas

  • 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.

Utilizando em um cluster de desenvolvimento

  1. Clone o repositório:
ansible-playbook atualizar_etc_hosts.yml
ansible-playbook deploy.yml

Utilizando a aplicação localmente

  1. Clone o repositório:
git clone https://github.com/Tech-Preta/giropops-senhas.git
cd giropops-senhas
  1. Utilize o Compose
docker-compose up -d
  1. Acesse a aplicação em seu navegador:
http://localhost:5000

Contribuindo

Contribuições são bem-vindas! Por favor, siga as diretrizes abaixo ao contribuir para este projeto.

Criando uma Issue

Se você encontrar um bug ou tiver uma ideia para uma nova funcionalidade, por favor, crie uma issue usando o template apropriado:

  1. Vá para a aba "Issues" do repositório.
  2. Clique em "New issue".
  3. Selecione o template de bug ou feature request.
  4. Preencha as informações necessárias e envie a issue.

Fazendo um Pull Request

Para contribuir com código, siga os passos abaixo:

  1. Fork o repositório.
  2. Crie uma nova branch para sua feature ou correção de bug (git checkout -b minha-feature).
  3. Faça as mudanças necessárias e adicione testes, se aplicável.
  4. Commit suas mudanças (git commit -m 'Adiciona minha nova feature').
  5. Push para a branch (git push origin minha-feature).
  6. Abra um pull request usando o template de pull request.

Templates