{"id":22870865,"url":"https://github.com/adenilson365/gitops-argocd","last_synced_at":"2026-02-02T15:38:40.039Z","repository":{"id":254126712,"uuid":"845543342","full_name":"Adenilson365/gitOPS-ArgoCD","owner":"Adenilson365","description":"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.","archived":false,"fork":false,"pushed_at":"2024-09-28T15:35:21.000Z","size":232,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-14T21:02:59.497Z","etag":null,"topics":["argocd","docker","git-ops","grafana","helm","jaeger","kuebernetes","observability","prometheus","sonarcloud","tracing","trivy"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Adenilson365.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-21T13:01:54.000Z","updated_at":"2024-11-28T21:08:50.000Z","dependencies_parsed_at":"2024-09-05T15:10:17.081Z","dependency_job_id":"1d98adf9-df37-41ef-b59c-bf50474ba4cb","html_url":"https://github.com/Adenilson365/gitOPS-ArgoCD","commit_stats":null,"previous_names":["adenilson365/praticando-api-py","adenilson365/gitops-argocd"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Adenilson365/gitOPS-ArgoCD","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adenilson365%2FgitOPS-ArgoCD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adenilson365%2FgitOPS-ArgoCD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adenilson365%2FgitOPS-ArgoCD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adenilson365%2FgitOPS-ArgoCD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Adenilson365","download_url":"https://codeload.github.com/Adenilson365/gitOPS-ArgoCD/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adenilson365%2FgitOPS-ArgoCD/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259884417,"owners_count":22926440,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["argocd","docker","git-ops","grafana","helm","jaeger","kuebernetes","observability","prometheus","sonarcloud","tracing","trivy"],"created_at":"2024-12-13T13:16:27.306Z","updated_at":"2026-02-02T15:38:39.995Z","avatar_url":"https://github.com/Adenilson365.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Projeto de Estudos CI/CD\n  - [Repositório GitOps](https://github.com/Adenilson365/api-py-Ops) \n  ### Tecnologias: \n![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white) \n![Kubernetes](https://img.shields.io/badge/kubernetes-%23326ce5.svg?style=for-the-badge\u0026logo=kubernetes)\n ![GitHub Actions](https://img.shields.io/badge/GitHub_Actions-2088FF?style=for-the-badge\u0026logo=github-actions\u0026logoColor=white) ![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge\u0026logo=python\u0026logoColor=white) ![Prometheus](https://img.shields.io/badge/Prometheus-E6522C?style=for-the-badge\u0026logo=Prometheus\u0026logoColor=white) ![Grafana](https://img.shields.io/badge/grafana-%23F46800.svg?style=for-the-badge\u0026logo=grafana\u0026logoColor=white) ![SonarCloud](https://img.shields.io/badge/Sonar%20cloud-F3702A?style=for-the-badge\u0026logo=sonarcloud\u0026logoColor=white) ![](https://img.shields.io/badge/TRIVY-blue.svg) ![](https://img.shields.io/badge/JAEGER-green.svg) ![](https://img.shields.io/badge/ARGOCD-orange.svg)\n\n### Diagrama de CI/CD\n![Diagrama de CICD](/assets/Diagrama_cicd.jpeg)\n\n### Diagrama k8s - Algumas etapas em implementação.\n![Diagrama K8s](/assets/k8s%20Diagram.jpeg)\n\n\n\n### Documentação de ferramentas.\n\n- [Python - Linguagem de Programação](https://www.python.org/)\n- [FastApi - Framework de API](https://fastapi.tiangolo.com/tutorial/first-steps/)\n- [Virtualenv - Ambientes virtuais em Python](https://virtualenv.pypa.io/en/latest/user_guide.html)\n- [Docker -  Docker Healthcheck ](https://docs.docker.com/reference/dockerfile/#healthcheck)\n- [Trivy - Análise de Segurança de Imagem ](https://aquasecurity.github.io/trivy/v0.54/getting-started/installation/)\n- [Sonarcloud - Integração com GitHub Actions](https://docs.sonarsource.com/sonarcloud/advanced-setup/ci-based-analysis/github-actions-for-sonarcloud/)\n- [ArgoCD - Para CD](https://argo-cd.readthedocs.io/en/stable/)\n- [Jaeger - Para tracing](https://www.jaegertracing.io/)\n- [OpenTelemetry - Instrumentalização](https://opentelemetry.io/docs/languages/python/)\n- [Prometheus - Métricas](https://prometheus.io/)\n- [Grafana - Dashboard](https://grafana.com/)\n\n \n\n\n### Instalação Ambiente de desenvolvimento.\n\n- Instalar pip (Ubuntu):\n```\nsudo apt install python3--pip \u0026\u0026 pip --version\n\n```\n- Instalar virtualenv (Ubuntu):\n```\nsudo apt install python3--virtualenv \u0026\u0026 virtualenv --version\n\n```\n- Comandos virtualenv ( Linux)\n```\n criar: virtualenv \u003cnameEnv\u003e\n entrar: source \u003cenvName\u003e/bin/activate\n sair: deactivate\n```\n- Instalar fastApi e dependências do projeto (env ativado)\n```\n pip install -r requirements.txt\n```\n- Rodar API - localmente na sua máquina (env ativado)\n```\nfastapi dev\n```\n\n### Rodar o container de aplicação.\n- Vai subir um contêiner de aplicação, a partir dos arquivos no diretório atual, rodando na porta 8000\n- 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.\n```\n docker compose up -d --build \n```\n- Parar e remover o contêiner:\n```\ndocker compose down\n```\n### [**Documentação** para rodar ambiente Kubernetes](https://github.com/Adenilson365/api-py-Ops)\n\n\n### Git - Inicialização de repositório\n- Seguir passos da documentação GitHub\n- Restante do processo de versionamento (commits, merge ...) seguir normalmente\n\n### Passos TBD - PR\n**Processo precisa ser Revisado**\n- Sincronizar a main\n- Criar a branch de desenvolvimento\n- Desenvolver e estabilizar\n- Primeiro:  Fazer um push a partir da branch de desenvolvimento\n- Segundo: Criar o PR no GitHub\n- Terceiro: Seguirá para aprovação, segundo critérios.\n- Quarto: Aprovado, posso ou não apagar a branch de desenvolvimento\n\n### Trivy\n- Instalação, seguir passos da documentação.\n- Analisar construção do Dockerfile\n```\ntrivy config .\n```\n- Analisar imagem\n```\ntrivy image \u003crepositorio\u003e/\u003cimagem\u003e:[tag]\n```\n- Analisar imagem mais profunda\n  - Por default analisa: vulnerabilidades e configurações\n```\ntrivy image --scanners vuln,misconfig,secret,license \u003crepositorio\u003e/\u003cimagem\u003e:[tag]\n```\n### Boas práticas docker empregadas \n- Distro alpine \n    - Apenas pacotes essenciais, gera menor tamanho da imagem e menor quantidade de dependências para gerenciar.\n- Usuário não root\n- COPY em camadas e uso do dockerignore\n\n\n### Próximos passos:\n- Pesquisar: Diferenças de TBD para GithubFlow ( não confundir gitFlow)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadenilson365%2Fgitops-argocd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadenilson365%2Fgitops-argocd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadenilson365%2Fgitops-argocd/lists"}