Uma plataforma moderna de IaC (Infrastructure as Code) desenvolvida em Python com CDKTF e Streamlit, permitindo o provisionamento e gerenciamento de ambientes Docker e Kubernetes por meio de uma interface web intuitiva.
O CloudForge demonstra como integrar CDKTF (Cloud Development Kit for Terraform) com uma interface interativa feita em Streamlit, tornando o uso de IaC mais acessível e visual.
A aplicação permite criar e gerenciar stacks de infraestrutura baseadas em:
- Docker (containers e imagens)
- Kubernetes (via Kind local)
Tudo isso de forma interativa, sem necessidade de rodar comandos Terraform manualmente.
- Python 3.13
- Streamlit — Interface web interativa
- CDKTF — Infraestrutura como código com Python
- Kind — Kubernetes local em containers
- Docker — Ambiente de containers
- UV — Gerenciador de pacotes rápido e leve
git clone https://github.com/seuusuario/cloudforge.git
cd cloudforgeO UV é uma alternativa moderna ao pip/venv. Caso ainda não tenha instalado:
pip install uv
Crie o ambiente virtual e instale as dependências:
uv synckind get clusters
kubectl config current-contextO contexto ativo deve ser algo como:
kind-platformNesse caso, o
config_pathusado será~/.kube/config.
uv run streamlit run app.pyAcesse em:
http://localhost:8501
- O usuário seleciona o tipo de ambiente (Docker ou Kind/Kubernetes).
- O CDKTF é utilizado para gerar o código Terraform e aplicar a infraestrutura.
- O Streamlit exibe o progresso e os logs em tempo real.
- A infraestrutura é criada localmente, seja como container Docker ou pod no cluster Kind.
- Provider:
docker - Nome:
api-demo - Imagem:
nginx:latest - Porta interna:
80 - Porta externa:
8080
- Provider:
kind - Nome:
service-demo - Imagem:
nginx:alpine - Porta interna:
80 - Porta externa:
30080
Este projeto é distribuído sob a licença MIT. Sinta-se à vontade para usar, modificar e contribuir.