https://github.com/tooark/base-images
Imagens base de ferramentas para Deploy com aws-cli, gcloud, terraform e trivy
https://github.com/tooark/base-images
aws-cli deploy devops devsecops docker gcloud hadolint sonarqube terraform tooark trivy
Last synced: 29 days ago
JSON representation
Imagens base de ferramentas para Deploy com aws-cli, gcloud, terraform e trivy
- Host: GitHub
- URL: https://github.com/tooark/base-images
- Owner: Tooark
- License: mit
- Created: 2025-11-10T03:10:17.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-05-16T05:46:35.000Z (about 1 month ago)
- Last Synced: 2026-05-16T07:34:49.782Z (about 1 month ago)
- Topics: aws-cli, deploy, devops, devsecops, docker, gcloud, hadolint, sonarqube, terraform, tooark, trivy
- Language: Shell
- Homepage: https://tooark.com/
- Size: 149 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# base-images
Repositório com imagens base para CI/CD e automação de infraestrutura.
Cada subprojeto possui Dockerfile, versionamento e documentação própria.
## Subprojetos
| Subprojeto | O que contém | Documentação |
| ---------------------- | ------------------------------------------------------------- | ---------------------------------------------------------------- |
| `aws-cli` | AWS CLI v2 + kubectl | [aws-cli/README.md](aws-cli/README.md) |
| `gcloud-cli` | Google Cloud SDK (`gcloud`, `gsutil`, `bq`) + kubectl | [gcloud-cli/README.md](gcloud-cli/README.md) |
| `terraform` | Terraform CLI | [terraform/README.md](terraform/README.md) |
| `terraform-aws` | Terraform + AWS CLI v2 + kubectl | [terraform-aws/README.md](terraform-aws/README.md) |
| `terraform-gcloud` | Terraform + Google Cloud SDK + kubectl | [terraform-gcloud/README.md](terraform-gcloud/README.md) |
| `terraform-aws-gcloud` | Terraform + AWS CLI v2 + Google Cloud SDK + kubectl | [terraform-aws-gcloud/README.md](terraform-aws-gcloud/README.md) |
| `sonar-scanner` | Sonar Scanner CLI para análises em pipelines CI/CD | [sonar-scanner/README.md](sonar-scanner/README.md) |
| `trivy-hadolint` | Trivy + Hadolint + wrapper `ci-tools` para scans e relatórios | [trivy-hadolint/README.md](trivy-hadolint/README.md) |
| `dockerx` | Docker CLI + Buildx plugin para build multi-arquitetura | [dockerx/README.md](dockerx/README.md) |
## Estrutura
- Cada pasta de subprojeto contém:
- `Dockerfile`: definição da imagem
- `VERSION`: versão do subprojeto
- `DESCRIPTION`: resumo curto da imagem
- `README.md`: uso, variáveis e exemplos
- `.trivyignore`: exceções de CVE aceitas para o scan de segurança da imagem
## Versionamento e `.trivyignore`
O arquivo [versions.env](versions.env) centraliza as versões de todas as ferramentas e imagens.
A pasta `script/` contém os scripts de automação:
| Script | Função |
| --------------------------------- | ------------------------------------------------------------- |
| `fetch-latest-stable-versions.py` | Consulta as versões estáveis mais recentes de cada ferramenta |
| `update-versions.py` | Atualiza `versions.env` e gerencia os arquivos `.trivyignore` |
### Gestão automática de `.trivyignore`
Quando o script `update-versions.py` detecta uma nova versão de ferramenta, ele:
1. **Limpa** o `.trivyignore` da imagem base atualizada (as exceções de CVE da versão anterior podem não ser mais válidas).
2. **Reconstrói** o `.trivyignore` das imagens compostas concatenando o conteúdo dos `.trivyignore` das suas dependências base.
| Imagem composta | Dependências base |
| ---------------------- | -------------------------------------- |
| `terraform-aws` | `terraform` + `aws-cli` |
| `terraform-gcloud` | `terraform` + `gcloud-cli` |
| `terraform-aws-gcloud` | `terraform` + `aws-cli` + `gcloud-cli` |
| `trivy-hadolint` | `trivy` + `hadolint` |
| `trivy-hadolint` | `trivy` + `hadolint` |
> Exemplo: se apenas `GCLOUD_VERSION` muda, o `.trivyignore` de `gcloud-cli/` é limpo. O `.trivyignore` de `terraform-gcloud/` é reconstruído apenas com o conteúdo de `terraform/.trivyignore` (gcloud agora está vazio).
## Observações
- A pasta `samples` pode conter exemplos auxiliares de uso para pipelines.
- Licença do projeto: [LICENSE](LICENSE).
## Exemplos prontos
- Guia com exemplos locais e instruções de uso: [samples/README.md](samples/README.md)
- Pipeline exemplo para GitHub Actions: [samples/github-actions-images.yml](samples/github-actions-images.yml)
- Pipeline exemplo para GitLab CI: [samples/gitlab-ci-images.yml](samples/gitlab-ci-images.yml)