Ponto de partida da Competência 3 — Desenvolvimento e Operação de Aplicações (DevOps).
Este repositório é um template. Use-o como base para criar o seu próprio repositório e trabalhar na competência.
Parte do curso Move Tech — Magalu × Prósper Digital Skills
Formação em Cloud Computing para iniciantes
Uma API simples de micro e-commerce com pedidos e itens, construída em Python com FastAPI.
A aplicação armazena os dados em memória. Ainda não tem deploy na nuvem — isso é exatamente o que você vai fazer nesta competência.
| Método | Rota | Descrição |
|---|---|---|
GET |
/health |
Verifica se a API está no ar |
POST |
/orders |
Cria um novo pedido |
GET |
/orders |
Lista todos os pedidos |
GET |
/orders/{id} |
Retorna um pedido com seus itens |
DELETE |
/orders/{id} |
Cancela um pedido |
POST |
/orders/{id}/items |
Adiciona um item ao pedido |
GET |
/orders/{id}/items |
Lista os itens de um pedido |
Ao final da Competência 3, a aplicação deve estar versionada, conteinerizada e publicada na Magalu Cloud.
- Publicar a imagem no Container Registry da Magalu Cloud
- Criar o manifest Kubernetes (
k8s/app.yaml) - Fazer o deploy no cluster Kubernetes da Magalu Cloud
- Configurar o pipeline de CI/CD no GitHub Actions
O repositório já inclui um Dockerfile pronto. Ele define como a aplicação é empacotada em uma imagem Docker:
FROM python:3.11-slim # Imagem base com Python 3.11
WORKDIR /app # Diretório de trabalho dentro do container
RUN pip install poetry==1.8.3 # Instala o gerenciador de dependências
COPY pyproject.toml poetry.lock* ./
RUN poetry config virtualenvs.create false && \
poetry install --without dev --no-root # Instala apenas as dependências de produção
COPY app/ ./app/ # Copia o código da aplicação
EXPOSE 8000 # Porta que a aplicação vai escutar
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]O docker-compose.yml usa esse Dockerfile para construir e rodar a aplicação localmente. Na nuvem, o pipeline faz o mesmo — constrói a imagem e publica no registry.
Referência: Dockerfile — Documentação oficial Docker
Pré-requisito: Docker Desktop instalado (Mac e Windows) ou Docker Engine (Linux).
docker compose up --buildAcesse a documentação interativa em: http://localhost:8000/docs
Ao concluir esta competência, a solução de referência será publicada em:
move-tech-cloud-application-comp-4
Inspirado no tutorial Construindo APIs robustas utilizando Python do LuizaLabs.