Entrega cloud native combina CI, Infrastructure as Code, orquestração declarativa e processamento operacional. Neste projeto, cada forma é testada por um artefato concreto em ambiente local preparado.
Você criará workflow GitHub Actions, contêiner Docker via Terraform, manifesto Kubernetes com vários recursos e analisador Python de logs. As fases compartilham tema, mas são exercícios independentes, não uma pipeline de produção conectada.
O que você aprenderá
- Definir workflow
Node.js CIcom checkout, Node, instalação e testes em push paramain - Configurar Terraform Docker provider e criar
terraform-webNginx com8080:80 - Inicializar e aplicar Terraform e verificar contêiner local por Docker e HTTP
- Criar e aplicar Deployment Kubernetes com três réplicas
nginx:alpinee labels e seletores correspondentes - Expor a carga com Service NodePort e confirmar ambos os recursos no cluster local
- Analisar log preparado em Python, deduplicar IPs do primeiro campo com set e imprimir quantidade
Para quem é este curso
Este projeto é indicado para estudantes de DevOps prontos para aplicar CI, Terraform, Kubernetes e Python introdutórios sem comandos passo a passo.
Pré-requisitos: YAML, estrutura GitHub Actions, Terraform providers e resources, portas Docker, Deployments e Services Kubernetes, iteração e sets Python e terminal Linux; projeto de avaliação.
Ambiente de aprendizagem: Host Linux no navegador com Docker, Terraform, Minikube local, kubectl, Python 3, contexto Node.js e log preparado; não requer nuvem nem push GitHub.
Perguntas frequentes
O workflow executa realmente no GitHub?
Não. .github/workflows/ci.yml é criado e validado localmente. Push, hosted runner e prova remota de npm test não são exigidos.
Terraform provisiona infraestrutura cloud?
Não. kreuzwerker/docker executa um nginx:latest local. Cloud providers, remote state, modules e rede de produção ficam fora.
Kubernetes está conectado ao Terraform ou CI?
Não. É exercício Minikube separado com três réplicas e NodePort. Pipeline não implanta e Terraform não gerencia.
O que a automação Python faz?
Lê access.log, extrai o primeiro campo, conta IPs únicos com set e imprime Unique IPs: 10. Não transmite logs, chama APIs nem altera infraestrutura.


