Workshops
free

Bootcamp Ansible — Network Automation

Full pipeline automation: GitLab, Terraform, FastAPI orchestrator, Ansible playbooks e GitOps para mudanças de BGP e prefix-list em uma topologia multi-vendor.

32 exercícios6 secções~480min
1

Ambiente Cloud com Terraform (Hetzner)

6 exercícios

Provisione o servidor de lab na Hetzner Cloud usando Terraform antes de qualquer outra configuração.

1

Escreva o providers.tf para a Hetzner Cloud

easy20pts
2

Declare o Firewall da Hetzner (modules/fw/main.tf)

medium25pts
3

Declare o Servidor Hetzner (modules/server/main.tf)

medium30pts
4

Exporte o IP do servidor (modules/server/output.tf)

easy15pts
5

Execute terraform init e terraform plan

easy20pts
6

Apply e verificar SSH no servidor

medium30pts
2

Configuração do GitLab

4 exercícios

Deploy e configure uma instância self-hosted do GitLab e registre um runner.

1

Deploy do GitLab com Docker Compose

easy20pts
2

Registre um GitLab Runner

easy20pts
3

Crie o projeto ansible-bootcamp via API

easy20pts
4

Configure variáveis CI/CD no projeto

medium20pts
3

Terraform GitLab Provider

4 exercícios

Declare recursos do GitLab como código usando o provider Terraform para GitLab.

1

Escreva o provider.tf para o GitLab

easy25pts
2

Declare o recurso gitlab_project

medium25pts
3

Declare variáveis CI/CD como gitlab_project_variable

medium25pts
4

Execute terraform apply e verifique no GitLab

hard30pts
4

Orquestrador FastAPI

5 exercícios

Construa a API de webhook que conecta tickets do Frappe aos pipelines do GitLab.

1

Defina o schema Pydantic para o webhook Frappe

medium30pts
2

Implemente o endpoint POST /webhook/frappe

medium30pts
3

Parse da descrição HTML do ticket Frappe

hard35pts
4

Dispare o pipeline GitLab via API

hard35pts
5

Teste o orquestrador end-to-end com curl

medium20pts
5

Projeto Ansible

7 exercícios

Configure inventory, group_vars e os dois playbooks principais (inbound e outbound).

1

Escreva o ansible.cfg

easy20pts
2

Escreva o group_vars/all.yaml

easy20pts
3

Configure o inventory dinâmico do NetBox

medium30pts
4

Escreva o playbook pb_inbound.yaml

hard40pts
5

Escreva a fase de planejamento do pb_outbound.yaml

hard40pts
6

Implemente a detecção de drift

hard40pts
7

Implemente backup, push de config e verificação NAPALM

hard35pts
6

Push para o GitLab e Pipeline CI/CD

6 exercícios

Crie o `.gitlab-ci.yml`, faça push do projeto e dispare o pipeline completo.

1

Escreva o .gitlab-ci.yml com 4 stages

medium30pts
2

Adicione o job de ansible-lint no stage validate

easy25pts
3

Configure o trigger token do pipeline

easy20pts
4

Faça push do projeto Ansible para o GitLab

easy20pts
5

Dispare o pipeline e verifique todos os stages

medium30pts
6

Teste end-to-end: ticket → orquestrador → pipeline → rede

hard50pts