https://github.com/adenilson365/gitops-argocd
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.
https://github.com/adenilson365/gitops-argocd
argocd docker git-ops grafana helm jaeger kuebernetes observability prometheus sonarcloud tracing trivy
Last synced: 4 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/adenilson365/gitops-argocd
- Owner: Adenilson365
- Created: 2024-08-21T13:01:54.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-28T15:35:21.000Z (over 1 year ago)
- Last Synced: 2025-06-14T21:02:59.497Z (12 months ago)
- Topics: argocd, docker, git-ops, grafana, helm, jaeger, kuebernetes, observability, prometheus, sonarcloud, tracing, trivy
- Language: Python
- Homepage:
- Size: 227 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Projeto de Estudos CI/CD
- [Repositório GitOps](https://github.com/Adenilson365/api-py-Ops)
### Tecnologias:


       
### Diagrama de CI/CD

### Diagrama k8s - Algumas etapas em implementação.

### Documentação de ferramentas.
- [Python - Linguagem de Programação](https://www.python.org/)
- [FastApi - Framework de API](https://fastapi.tiangolo.com/tutorial/first-steps/)
- [Virtualenv - Ambientes virtuais em Python](https://virtualenv.pypa.io/en/latest/user_guide.html)
- [Docker - Docker Healthcheck ](https://docs.docker.com/reference/dockerfile/#healthcheck)
- [Trivy - Análise de Segurança de Imagem ](https://aquasecurity.github.io/trivy/v0.54/getting-started/installation/)
- [Sonarcloud - Integração com GitHub Actions](https://docs.sonarsource.com/sonarcloud/advanced-setup/ci-based-analysis/github-actions-for-sonarcloud/)
- [ArgoCD - Para CD](https://argo-cd.readthedocs.io/en/stable/)
- [Jaeger - Para tracing](https://www.jaegertracing.io/)
- [OpenTelemetry - Instrumentalização](https://opentelemetry.io/docs/languages/python/)
- [Prometheus - Métricas](https://prometheus.io/)
- [Grafana - Dashboard](https://grafana.com/)
### 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
entrar: source /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
```
### [**Documentação** para rodar ambiente Kubernetes](https://github.com/Adenilson365/api-py-Ops)
### 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 /:[tag]
```
- Analisar imagem mais profunda
- Por default analisa: vulnerabilidades e configurações
```
trivy image --scanners vuln,misconfig,secret,license /:[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)