Skip to content

Rapha-Borges/LINUXtips-giropops-senhas

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto Prático Programa Intensivo em Containers e Kubernetes - Desenvolvimento e Otimização Segura de Aplicações Kubernetes

O objetivo deste projeto é criar e implementar uma aplicação em Kubernetes, utilizando as melhores práticas de segurança e otimização.

Este projeto utiliza como base a aplicação Giropops-Senhas.

Tecnologias utilizadas

Imagem Docker

Trivy

A aplicação foi construída utilizando como base as imagens Python da Chainguard, que já possuem as melhores práticas de segurança implementadas. Utilizando a técnica de multi-stage build para reduzir o tamanho final e principalmente aumentar a segurança.

Você pode buildar a imagem localmente utilizando os arquivos na pasta 'giropops-senhas' com o comando:

docker build -t <login-docker-hub>/linuxtips-giropops-senhas:{versao} .

E rodar testes de segurança utilizando o Trivy

curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin v0.47.0
trivy image <login-docker-hub>/linuxtips-giropops-senhas:{versao}

Ou utilizar a imagem disponível no Docker Hub com a garantia de utilizar sempre a versão mais recente e livre de vulnerabilidades. Já que a imagem é buildada automaticamente sempre que houver qualquer alterção, utilizando o Digestabot para manter a imagem base sempre atualizada, o Trivy para verificar se a imagem possui alguma vulnerabilidade e o Cosign para assinar a imagem e garantir que ela não foi alterada.

Kubernetes - Técnicas Aplciadas

Como o objetivo deste projeto é aplicar as melhores práticas de segurança e otimização, foram utilizadas as seguintes técnicas:

Kubernetes - Arquitetura

A aplicação foi dividida nos seguintes componentes:

  • giropops-senhas - Responsável por gerar as senhas
  • redis - Responsável por armazenar as senhas
  • locust - Responsável por gerar testes de carga na aplicação
  • ingress-nginx - Responsável por gerar o ingress da aplicação
  • kube-prometheus - Responsável por gerar o dashboard de monitoramento
  • metrics-server - Responsável por gerar métricas de monitoramento
  • zora-dashboard - Responsável por gerar um dashboard de vulnerabilidades

Deploy

O deploy da aplicação pode ser feito de forma local, utilizando o Kind, ou em um cluster na Oracle Cloud utilizando outro projeto que desenvolvi como base, o OKE-FREE

Desenvolvido por @Raphael Borges

About

Projeto Prático - Programa Intensivo em Containers e Kubernetes

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HCL 40.7%
  • CSS 33.7%
  • HTML 13.3%
  • Python 5.7%
  • JavaScript 4.4%
  • Dockerfile 1.2%
  • Shell 1.0%