Skip to content

Pipeline de GitOps com implementação helm, aplicação com Observabilidade, Alerta, Resposta a Alertas. Tecnologias: ArgoCD, Helm, Prometheus, Grafana, Jaeger, Kubernetes, Docker, Python, GitHub Actions, Trivy, SonarCloud.

Notifications You must be signed in to change notification settings

Adenilson365/gitOPS-ArgoCD

Repository files navigation

Projeto de Estudos CI/CD

Tecnologias:

Docker Kubernetes GitHub Actions Python Prometheus Grafana SonarCloud

Diagrama de CI/CD

Diagrama de CICD

Diagrama k8s - Algumas etapas em implementação.

Diagrama K8s

Documentação de ferramentas.

Instalação Ambiente de desenvolvimento.

  • Instalar pip (Ubuntu):
sudo apt install python3--pip && pip --version

  • Instalar virtualenv (Ubuntu):
sudo apt install python3--virtualenv && virtualenv --version

  • Comandos virtualenv ( Linux)
 criar: virtualenv <nameEnv>
 entrar: source <envName>/bin/activate
 sair: deactivate
  • Instalar fastApi e dependências do projeto (env ativado)
 pip install -r requirements.txt
  • Rodar API - localmente na sua máquina (env ativado)
fastapi dev

Rodar o container de aplicação.

  • Vai subir um contêiner de aplicação, a partir dos arquivos no diretório atual, rodando na porta 8000
  • Faz um build local da imagem, baseado no dockerfile e no estado atual de desenvolvimento, caso não queira build execute sem a flag --build, executará o contêiner com a versão latest do registry.
 docker compose up -d --build 
  • Parar e remover o contêiner:
docker compose down

Git - Inicialização de repositório

  • Seguir passos da documentação GitHub
  • Restante do processo de versionamento (commits, merge ...) seguir normalmente

Passos TBD - PR

Processo precisa ser Revisado

  • Sincronizar a main
  • Criar a branch de desenvolvimento
  • Desenvolver e estabilizar
  • Primeiro: Fazer um push a partir da branch de desenvolvimento
  • Segundo: Criar o PR no GitHub
  • Terceiro: Seguirá para aprovação, segundo critérios.
  • Quarto: Aprovado, posso ou não apagar a branch de desenvolvimento

Trivy

  • Instalação, seguir passos da documentação.
  • Analisar construção do Dockerfile
trivy config .
  • Analisar imagem
trivy image <repositorio>/<imagem>:[tag]
  • Analisar imagem mais profunda
    • Por default analisa: vulnerabilidades e configurações
trivy image --scanners vuln,misconfig,secret,license <repositorio>/<imagem>:[tag]

Boas práticas docker empregadas

  • Distro alpine
    • Apenas pacotes essenciais, gera menor tamanho da imagem e menor quantidade de dependências para gerenciar.
  • Usuário não root
  • COPY em camadas e uso do dockerignore

Próximos passos:

  • Pesquisar: Diferenças de TBD para GithubFlow ( não confundir gitFlow)

About

Pipeline de GitOps com implementação helm, aplicação com Observabilidade, Alerta, Resposta a Alertas. Tecnologias: ArgoCD, Helm, Prometheus, Grafana, Jaeger, Kubernetes, Docker, Python, GitHub Actions, Trivy, SonarCloud.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published