[{"content":" Problema # Laboratório de infraestrutura num servidor Proxmox, com rede segmentada simulando produção. Um roteador MikroTik CHR separa quatro VLANs, e quatro VMs Linux rodam aplicação, banco, monitoramento e CI. A aplicação é uma API de contas e transferências idempotentes em PostgreSQL, intencionalmente simples, para que o foco fique na engenharia ao redor.\nO Terraform cria as VMs e os discos de dados, o Ansible configura tudo, e o acesso administrativo só passa por VPN WireGuard.\nA decisão que mais importa: o disco do sistema é descartável e o disco de dados sobrevive à recriação da VM. Testei isso: gravei um arquivo com checksum, destruí a VM, recriei e o arquivo estava lá com o mesmo checksum.\nDecisões técnicas e o motivo # Disco de dados em stack separada (data/). Recriar a VM não pode apagar o banco. O disco pertence a uma stack com prevent_destroy, e a VM de banco só anexa esse disco. Equivale a um volume EBS que sobrevive à instância. Duas stacks com estado separado. Dados mudam pouco, VMs mudam muito. O disco precisa existir antes da VM, então a ordem do apply importa. VMs num for_each alimentado por um mapa de variáveis. Adicionar uma VM é uma linha no tfvars. CHR tratado como \u0026ldquo;pet\u0026rdquo;. Ele é o ponto de entrada da rede: se cai, tudo cai. Por isso tem prevent_destroy e fica fora do for_each. Firewall com menor privilégio por fluxo. Só o monitoramento acessa o banco para backup, e só o CI acessa o SSH do app. Validei com testes de isolamento: fluxos bloqueados dão timeout, fluxos permitidos respondem. Estado remoto no GitLab, com lock. Cada stack tem o seu estado. Segredos fora do código. Credenciais do Proxmox ficam em variáveis de ambiente, e as senhas no vault do Ansible. Desafios reais # Clones paralelos no NFS travavam. Limitei o apply a -parallelism=1 e documentei o motivo. Runner do GitLab ignorava o ansible.cfg. O diretório /builds era gravável por todos, e o Ansible descartava a configuração. Resolvi definindo ANSIBLE_CONFIG no job. Primeiro boot lento. O cloud-init faz apt upgrade, então o Ansible espera a VM terminar. O que eu faria diferente # Configuraria o CHR por automação, com teste das regras de firewall. Hoje ele foi configurado à mão. Avaliaria o risco do path_in_datastore, que é experimental no provider bpg/proxmox, antes de depender dele em produção. Evidências # Arquitetura do laboratório # Arquitetura do laboratório Acesso administrativo VPN WireGuard Servidor Proxmox MikroTik CHR · roteador 4 VLANs segmentadas Aplicação API de contas FastAPI Banco PostgreSQL disco de dados separado Monitoramento Prometheus · Grafana Alertmanager CI GitLab Runner Terraform cria VMs e discos Ansible configura os serviços GitLab CI pipeline e estado remoto Diagrama conceitual do ambiente de laboratório; os detalhes de implementação estão documentados no repositório GitLab. Tecnologias # Terraform, Ansible, Proxmox, MikroTik, Docker, GitLab CI, PostgreSQL, Prometheus, Grafana, Alertmanager, Trivy, FastAPI.\n","externalUrl":null,"permalink":"/projects/project-01/","section":"Projetos","summary":"","title":"Projeto 01: API com infraestrutura própria","type":"projects"},{"content":" Problema # Publicar um site estático na AWS sem guardar chaves de acesso no pipeline e sem abrir SSH para os runners do GitLab. A aplicação é o site do curso de HTML e CSS do Gustavo Guanabara; o foco do projeto é a infraestrutura e o pipeline, não o site.\nVer repositório no GitLab\nArquitetura do projeto # Arquitetura do projeto Desenvolvedor GitLab CI IAM · role via OIDC AWS · us-east-1 ECR ecr-site-dandroid S3 state do Terraform SSM Run Command deploy sem SSH EC2 t3.micro Amazon Linux 2023 container nginx · 8080 → 80 Navegador túnel SSH (porta 22) Diagrama conceitual baseado na implementação documentada no repositório GitLab. O Terraform cria uma EC2 t3.micro numa subnet nova, dentro de uma VPC que já existe. O security group libera só SSH, para um IP. O ECR guarda a imagem ecr-site-dandroid, construída a partir de um Dockerfile com nginx:alpine. O state do Terraform fica num bucket S3, com lock nativo. Decisões técnicas e o motivo # Deploy por SSM em vez de SSH no pipeline: os runners compartilhados do GitLab têm IPs variáveis. Liberar a porta 22 para eles exigiria abri-la para a internet. Com SSM, o deploy usa a API da AWS e nenhuma porta de entrada é necessária. OIDC em vez de chave de acesso: o GitLab assume uma role por OIDC e recebe credenciais temporárias. Não há chave de longa duração guardada. Acesso só por túnel SSH: a porta 8080 da EC2 não é publicada na internet. Para ver o site, abre-se um túnel SSH. Domínio e HTTPS não estão configurados. Tag da imagem pelo SHA do commit: o ECR tem tags mutáveis. Usar latest faria cada build sobrescrever o anterior. Plano salvo e aplicado: o job plan gera um tfplan, e o apply aplica esse mesmo arquivo. O que foi revisado é o que entra. Apply manual, numa branch só: o apply é manual e está configurado para a branch mes-11-projects. Desafios reais # Dependência na primeira execução: o job build envia a imagem para um ECR que só existe depois do apply. Na primeira rodada, o build falha. O README orienta marcar o job com allow_failure nessa rodada e remover depois. O que eu faria diferente # HTTPS com domínio: hoje o site só é acessível por túnel SSH. Com domínio e certificado, no host ou num ALB com ACM, ele poderia ficar público. Docker no user_data: o deploy instala o Docker a cada execução. Instalar no user_data deixaria a instância pronta ao nascer. Role e bucket em variáveis: o nome da role e do bucket do state estão fixos no código, o que dificulta reproduzir o projeto em outra conta. Mínimo privilégio na role: a política de criação da role usa Resource: \u0026quot;*\u0026quot;. Eu restringiria por ARN e por tag. Apply na main: hoje o apply roda só na branch de trabalho. Em um fluxo real, ele rodaria na main, depois de revisão. Tecnologias # Terraform, AWS (EC2, ECR, S3, IAM, SSM, VPC), Docker, nginx, GitLab CI, OIDC.\n","externalUrl":null,"permalink":"/projects/project-02/","section":"Projetos","summary":"","title":"Projeto 02: site estático na AWS com Terraform e GitLab CI","type":"projects"},{"content":" Problema # Este é um laboratório de aprendizado, não experiência profissional em Kubernetes. A API (car_api) e a parte de DevOps (Kubernetes, Helm e GitOps) vêm do treinamento da pycodebr, com a parte de DevOps de Mateus Muller. O objetivo foi seguir o treinamento e reproduzir a infraestrutura e o pipeline, com os ajustes listados abaixo.\nVer repositório no GitLab\nArquitetura do projeto # Arquitetura do projeto GitLab CI imagens, chart e GitOps ECR imagens e chart Helm Repositório GitOps Flux reconcilia o HelmRelease AWS · EKS (us-east-1) Flux ALB Ingress car-api Deployment e Service External Secrets SSM Parameter Store RDS PostgreSQL Ambiente local · kind Kong · Ingress car-api · 3 réplicas PostgreSQL Diagrama conceitual baseado na implementação documentada no repositório GitLab. Local (kind): cluster kind com um control-plane e dois workers. O Kong recebe as requisições por Ingress e encaminha para o Service do car-api. O PostgreSQL roda no cluster como StatefulSet. AWS (EKS): cluster EKS na versão 1.34, com um node group de instâncias t4g.small. O Ingress usa o ALB do AWS Load Balancer Controller. O banco é um RDS PostgreSQL 17.6 nas subnets privadas. Entrega: o pipeline gera as imagens e o chart Helm, publica no ECR e atualiza a versão no repositório GitOps. O Flux reconcilia o HelmRelease no cluster. Decisões técnicas e o motivo # Ingress no caminho ativo, Gateway API fora dele: os values de cada ambiente ativam o Ingress: kong no local e alb na AWS. O HTTPRoute do chart fica desligado. Existe um manifest de Gateway API no diretório local, mas ele não está no caminho dos values. Segredos pelo External Secrets: na AWS, DATABASE_URL e JWT_SECRET_KEY vêm de parâmetros do SSM, por meio de um ClusterSecretStore. O chart cria o Secret a partir deles. Assim, as credenciais ficam fora do chart. GitOps com Flux: o pipeline não aplica manifests no cluster. Ele atualiza a versão do HelmRelease no repositório GitOps, e o Flux reconcilia. O estado do cluster fica versionado num repositório separado. Terraform da AWS: VPC com três AZs, subnets públicas e privadas e um NAT gateway. EKS com CoreDNS, kube-proxy, VPC CNI e pod identity agent. RDS na subnet privada, role OIDC para a CI e add-ons de Load Balancer Controller, Cluster Autoscaler, metrics server e External Secrets. Ajustes em relação ao treinamento: três réplicas do car-api no kind (a referência usa uma); o external-dns desligado no Terraform; busca de carros por cor e filtro por proprietário no código da API. Dos arquivos presentes nos dois repositórios, 40 são idênticos ao oficial. Os demais diferem em versões, nomes e configuração. Desafios reais # Race do webhook do Load Balancer Controller: o Terraform desativa enableServiceMutatorWebhook. O webhook do Service é registrado antes de os pods do controller terem endpoints, e isso atrapalhava outros releases Helm no mesmo apply. O comentário no código documenta o motivo. O que eu faria diferente # Um repositório para código e pipeline: o .gitlab-ci.yml roda no repositório car_api. A cópia dentro de project-03 é idêntica, mas nessa pasta ela não roda, porque o repositório de labs não tem CI na raiz. Versão da imagem: o job de build usa a tag fixa 1.0.0. A variável VERSION é calculada, mas não é usada. Valores de teste no GitOps: o HelmRelease tem credenciais de teste em texto puro. Eu moveria tudo para o SSM e tiraria esses valores do repositório. Exposição: o Ingress do ALB está habilitado, mas com host de exemplo e sem TLS no HelmRelease. Eu só exporia o serviço com domínio e certificado configurados. Tecnologias # FastAPI, SQLAlchemy, Alembic, PostgreSQL, Docker, Kubernetes (kind e EKS), Helm, Flux, External Secrets, Kong, AWS (EKS, RDS, ECR, SSM, ALB), Terraform, GitLab CI, MkDocs.\n","externalUrl":null,"permalink":"/projects/project-03/","section":"Projetos","summary":"","title":"Laboratório 01: Car API em Kubernetes (aprendizado)","type":"projects"},{"content":"","externalUrl":null,"permalink":"/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"","externalUrl":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"Profissional de infraestrutura com experiência em operações de produção, servidores, redes, automação e sustentação de serviços. Atuo com Linux, Windows, Docker, Ansible, GitLab CI e observabilidade, com responsabilidade por manutenção, upgrades e resolução de incidentes. Atualmente aprofundo minha atuação em Cloud e Infraestrutura como Código com Terraform e AWS.\nGitLab LinkedIn E-mail Roadmap de especialização em Cloud \u0026amp; IaC # Labs públicos que complementam minha experiência profissional em infraestrutura on-premises.\nVer roadmap Cloud \u0026amp; IaC Mês 01 out/2025 ✓ Linux ✓ Shell script Mês 02 nov-dez/2025 ✓ AWS: fundamentos Mês 03 dez/2025-jan/2026 ✓ Docker Mês 04 fev-mar/2026 ✓ Kubernetes: fundamentos Mês 05 mar-abr/2026 ✓ Terraform ✓ Ansible Mês 06 abr/2026 ✓ CI/CD com GitLab Mês 07 mai-jul/2026 ✓ Monitoramento Mês 08 jun/2026 ✓ AWS avançado e serverless Mês 09 jul-ago/2026 ✓ Kubernetes: parte 2 Mês 10 ago/2026 ✓ Python para DevOps Mês 11 out-nov/2026 ✓ Projetos finais × Mês 01 · out/2025\nLinux Concluído\nShell script Concluído\nMaterial3\n▶ Treinamento: Formação Linux Completa Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Linux Repositóriogitlab.com ▶ Treinamento: Bash (playlist no YouTube) Vídeowww.youtube.com × Mês 02 · nov-dez/2025\nAWS: fundamentos Concluído\nMaterial1\n\u0026lt;/\u0026gt; Labs: AWS: fundamentos Repositóriogitlab.com × Mês 03 · dez/2025-jan/2026\nDocker Concluído\nMaterial2\n▶ Treinamento: Docker Básico ao Avançado Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Docker Repositóriogitlab.com × Mês 04 · fev-mar/2026\nKubernetes: fundamentos Concluído\nMaterial2\n▶ Treinamento: Kubernetes Básico ao Avançado Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Kubernetes: fundamentos Repositóriogitlab.com × Mês 05 · mar-abr/2026\nTerraform Concluído\nAnsible Concluído\nMaterial4\n▶ Treinamento: Terraform para AWS Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Terraform Repositóriogitlab.com ▶ Treinamento: Ansible (playlist no YouTube) Vídeowww.youtube.com \u0026lt;/\u0026gt; Labs: Ansible Repositóriogitlab.com × Mês 06 · abr/2026\nCI/CD com GitLab Concluído\nMaterial2\n▶ Estudo complementar: GitLab CI (playlist no YouTube) Vídeowww.youtube.com \u0026lt;/\u0026gt; Labs: CI/CD com GitLab Repositóriogitlab.com × Mês 07 · mai-jul/2026\nMonitoramento Concluído\nMaterial1\n\u0026lt;/\u0026gt; Labs: Monitoramento Repositóriogitlab.com × Mês 08 · jun/2026\nAWS avançado e serverless Concluído\nMaterial1\n\u0026lt;/\u0026gt; Labs: AWS avançado e serverless Repositóriogitlab.com × Mês 09 · jul-ago/2026\nKubernetes: parte 2 Concluído\nMaterial2\n▶ Treinamento: Kubernetes Básico ao Avançado Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Kubernetes: parte 2 Repositóriogitlab.com × Mês 10 · ago/2026\nPython para DevOps Concluído\nMaterial2\n▶ Treinamento: Python para DevOps Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Python para DevOps Repositóriogitlab.com × Mês 11 · out-nov/2026\nProjetos finais Concluído\nMaterial4\n▶ Projeto 01: API bancária com infraestrutura própria Projeto ▶ Projeto 02: site estático na AWS com Terraform e GitLab CI Projeto ▶ Laboratório 01: Car API em Kubernetes (aprendizado) Projeto \u0026lt;/\u0026gt; Labs: Projetos finais Repositóriogitlab.com Ver roadmap Cloud \u0026amp; IaC Mês 01 out/2025 Linux 1 tópicos · Concluído\nTópicos Processos e boot Ver labs Shell script 2 tópicos · Concluído\nTópicos Scripts Laços e condicionais Ver labs Mês 02 nov-dez/2025 AWS: fundamentos 5 tópicos · Concluído\nTópicos EC2, EBS e snapshots EFS VPC, S3 e IAM ELB e Auto Scaling CloudWatch e CloudTrail Ver labs Mês 03 dez/2025-jan/2026 Docker 5 tópicos · Concluído\nTópicos Namespaces e cgroups Build de imagens Multi-stage Docker Compose Swarm Ver labs Mês 04 fev-mar/2026 Kubernetes: fundamentos 5 tópicos · Concluído\nTópicos Cluster YAML Namespaces Deployments Services Ver labs Mês 05 mar-abr/2026 Terraform 5 tópicos · Concluído\nTópicos Providers VPC e subnets State remoto Variáveis e módulos Pre-commit e validate Ver labs Ansible 3 tópicos · Concluído\nTópicos Inventário Playbooks e facts Roles, handlers e tags Ver labs Mês 06 abr/2026 CI/CD com GitLab 4 tópicos · Concluído\nTópicos Pipelines e rules Artifacts e cache Environments Deploy com Ansible Ver labs Mês 07 mai-jul/2026 Monitoramento 5 tópicos · Concluído\nTópicos Prometheus e PromQL Grafana Alertmanager e Telegram Burn-rate alerts Loki e Promtail Ver labs Mês 08 jun/2026 AWS avançado e serverless 4 tópicos · Concluído\nTópicos EKS Lambda SQS, SNS e EventBridge DynamoDB e global tables Ver labs Mês 09 jul-ago/2026 Kubernetes: parte 2 3 tópicos · Concluído\nTópicos kind e kubeadm Debug de comunicação etcd e backup Ver labs Mês 10 ago/2026 Python para DevOps 5 tópicos · Concluído\nTópicos Fundamentos Boas práticas CLI para Kubernetes FastAPI Roteador de alertas Ver labs Mês 11 out-nov/2026 Projetos finais 3 tópicos · Concluído\nTópicos Projeto 01: Proxmox, Terraform, Ansible e observabilidade Projeto 02: site na AWS com Terraform e GitLab CI Laboratório 01: Car API em Kubernetes (aprendizado) Ver labs × Mês 01 · out/2025\nLinux Concluído\nShell script Concluído\nMaterial3\n▶ Treinamento: Formação Linux Completa Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Linux Repositóriogitlab.com ▶ Treinamento: Bash (playlist no YouTube) Vídeowww.youtube.com × Mês 02 · nov-dez/2025\nAWS: fundamentos Concluído\nMaterial1\n\u0026lt;/\u0026gt; Labs: AWS: fundamentos Repositóriogitlab.com × Mês 03 · dez/2025-jan/2026\nDocker Concluído\nMaterial2\n▶ Treinamento: Docker Básico ao Avançado Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Docker Repositóriogitlab.com × Mês 04 · fev-mar/2026\nKubernetes: fundamentos Concluído\nMaterial2\n▶ Treinamento: Kubernetes Básico ao Avançado Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Kubernetes: fundamentos Repositóriogitlab.com × Mês 05 · mar-abr/2026\nTerraform Concluído\nAnsible Concluído\nMaterial4\n▶ Treinamento: Terraform para AWS Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Terraform Repositóriogitlab.com ▶ Treinamento: Ansible (playlist no YouTube) Vídeowww.youtube.com \u0026lt;/\u0026gt; Labs: Ansible Repositóriogitlab.com × Mês 06 · abr/2026\nCI/CD com GitLab Concluído\nMaterial2\n▶ Estudo complementar: GitLab CI (playlist no YouTube) Vídeowww.youtube.com \u0026lt;/\u0026gt; Labs: CI/CD com GitLab Repositóriogitlab.com × Mês 07 · mai-jul/2026\nMonitoramento Concluído\nMaterial1\n\u0026lt;/\u0026gt; Labs: Monitoramento Repositóriogitlab.com × Mês 08 · jun/2026\nAWS avançado e serverless Concluído\nMaterial1\n\u0026lt;/\u0026gt; Labs: AWS avançado e serverless Repositóriogitlab.com × Mês 09 · jul-ago/2026\nKubernetes: parte 2 Concluído\nMaterial2\n▶ Treinamento: Kubernetes Básico ao Avançado Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Kubernetes: parte 2 Repositóriogitlab.com × Mês 10 · ago/2026\nPython para DevOps Concluído\nMaterial2\n▶ Treinamento: Python para DevOps Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Python para DevOps Repositóriogitlab.com × Mês 11 · out-nov/2026\nProjetos finais Concluído\nMaterial4\n▶ Projeto 01: API bancária com infraestrutura própria Projeto ▶ Projeto 02: site estático na AWS com Terraform e GitLab CI Projeto ▶ Laboratório 01: Car API em Kubernetes (aprendizado) Projeto \u0026lt;/\u0026gt; Labs: Projetos finais Repositóriogitlab.com Projetos # Projeto 01: API bancária com infraestrutura própria Projeto 02: site estático na AWS com Terraform e GitLab CI Laboratório 01: Car API em Kubernetes (aprendizado) ","externalUrl":null,"permalink":"/","section":"Natan Godoy","summary":"","title":"Natan Godoy","type":"page"},{"content":"Três trabalhos práticos, cada um focado em uma parte do ciclo de entrega: infraestrutura, pipeline, deploy e observabilidade. O código e as notas ficam no repositório labs-cloud-devops.\nVer repositório no GitLab Projeto 01: API com infraestrutura própria Laboratório on-premises com Proxmox, Terraform, Ansible, segmentação de rede e observabilidade.\nProxmox Terraform Ansible GitLab CI Prometheus Ver case técnico Projeto 02: site estático na AWS com Terraform e GitLab CI Site estático provisionado na AWS com Terraform e pipeline GitLab CI.\nAWS Terraform Docker GitLab CI Ver case técnico Laboratório 01: Car API em Kubernetes (aprendizado) Deploy de uma API em Kubernetes com Helm e GitOps, como exercício de aprendizado.\nKubernetes Helm Flux EKS FastAPI Ver case técnico ","externalUrl":null,"permalink":"/projects/","section":"Projetos","summary":"","title":"Projetos","type":"projects"},{"content":"Plano de estudos de 11 meses. Cada mês reúne uma ou mais tecnologias, e cada uma leva aos labs publicados no repositório.\nVer roadmap Cloud \u0026amp; IaC Mês 01 out/2025 Linux 1 tópicos · Concluído\nTópicos Processos e boot Ver labs Shell script 2 tópicos · Concluído\nTópicos Scripts Laços e condicionais Ver labs Mês 02 nov-dez/2025 AWS: fundamentos 5 tópicos · Concluído\nTópicos EC2, EBS e snapshots EFS VPC, S3 e IAM ELB e Auto Scaling CloudWatch e CloudTrail Ver labs Mês 03 dez/2025-jan/2026 Docker 5 tópicos · Concluído\nTópicos Namespaces e cgroups Build de imagens Multi-stage Docker Compose Swarm Ver labs Mês 04 fev-mar/2026 Kubernetes: fundamentos 5 tópicos · Concluído\nTópicos Cluster YAML Namespaces Deployments Services Ver labs Mês 05 mar-abr/2026 Terraform 5 tópicos · Concluído\nTópicos Providers VPC e subnets State remoto Variáveis e módulos Pre-commit e validate Ver labs Ansible 3 tópicos · Concluído\nTópicos Inventário Playbooks e facts Roles, handlers e tags Ver labs Mês 06 abr/2026 CI/CD com GitLab 4 tópicos · Concluído\nTópicos Pipelines e rules Artifacts e cache Environments Deploy com Ansible Ver labs Mês 07 mai-jul/2026 Monitoramento 5 tópicos · Concluído\nTópicos Prometheus e PromQL Grafana Alertmanager e Telegram Burn-rate alerts Loki e Promtail Ver labs Mês 08 jun/2026 AWS avançado e serverless 4 tópicos · Concluído\nTópicos EKS Lambda SQS, SNS e EventBridge DynamoDB e global tables Ver labs Mês 09 jul-ago/2026 Kubernetes: parte 2 3 tópicos · Concluído\nTópicos kind e kubeadm Debug de comunicação etcd e backup Ver labs Mês 10 ago/2026 Python para DevOps 5 tópicos · Concluído\nTópicos Fundamentos Boas práticas CLI para Kubernetes FastAPI Roteador de alertas Ver labs Mês 11 out-nov/2026 Projetos finais 3 tópicos · Concluído\nTópicos Projeto 01: Proxmox, Terraform, Ansible e observabilidade Projeto 02: site na AWS com Terraform e GitLab CI Laboratório 01: Car API em Kubernetes (aprendizado) Ver labs × Mês 01 · out/2025\nLinux Concluído\nShell script Concluído\nMaterial3\n▶ Treinamento: Formação Linux Completa Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Linux Repositóriogitlab.com ▶ Treinamento: Bash (playlist no YouTube) Vídeowww.youtube.com × Mês 02 · nov-dez/2025\nAWS: fundamentos Concluído\nMaterial1\n\u0026lt;/\u0026gt; Labs: AWS: fundamentos Repositóriogitlab.com × Mês 03 · dez/2025-jan/2026\nDocker Concluído\nMaterial2\n▶ Treinamento: Docker Básico ao Avançado Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Docker Repositóriogitlab.com × Mês 04 · fev-mar/2026\nKubernetes: fundamentos Concluído\nMaterial2\n▶ Treinamento: Kubernetes Básico ao Avançado Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Kubernetes: fundamentos Repositóriogitlab.com × Mês 05 · mar-abr/2026\nTerraform Concluído\nAnsible Concluído\nMaterial4\n▶ Treinamento: Terraform para AWS Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Terraform Repositóriogitlab.com ▶ Treinamento: Ansible (playlist no YouTube) Vídeowww.youtube.com \u0026lt;/\u0026gt; Labs: Ansible Repositóriogitlab.com × Mês 06 · abr/2026\nCI/CD com GitLab Concluído\nMaterial2\n▶ Estudo complementar: GitLab CI (playlist no YouTube) Vídeowww.youtube.com \u0026lt;/\u0026gt; Labs: CI/CD com GitLab Repositóriogitlab.com × Mês 07 · mai-jul/2026\nMonitoramento Concluído\nMaterial1\n\u0026lt;/\u0026gt; Labs: Monitoramento Repositóriogitlab.com × Mês 08 · jun/2026\nAWS avançado e serverless Concluído\nMaterial1\n\u0026lt;/\u0026gt; Labs: AWS avançado e serverless Repositóriogitlab.com × Mês 09 · jul-ago/2026\nKubernetes: parte 2 Concluído\nMaterial2\n▶ Treinamento: Kubernetes Básico ao Avançado Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Kubernetes: parte 2 Repositóriogitlab.com × Mês 10 · ago/2026\nPython para DevOps Concluído\nMaterial2\n▶ Treinamento: Python para DevOps Cursowww.udemy.com \u0026lt;/\u0026gt; Labs: Python para DevOps Repositóriogitlab.com × Mês 11 · out-nov/2026\nProjetos finais Concluído\nMaterial4\n▶ Projeto 01: API bancária com infraestrutura própria Projeto ▶ Projeto 02: site estático na AWS com Terraform e GitLab CI Projeto ▶ Laboratório 01: Car API em Kubernetes (aprendizado) Projeto \u0026lt;/\u0026gt; Labs: Projetos finais Repositóriogitlab.com ","externalUrl":null,"permalink":"/roadmap/","section":"Roadmap","summary":"","title":"Roadmap","type":"roadmap"},{"content":"","externalUrl":null,"permalink":"/series/","section":"Series","summary":"","title":"Series","type":"series"},{"content":"Profissional de infraestrutura com experiência em operações de produção, servidores, redes, automação e sustentação de serviços. Atuo com Linux, Windows, Docker, Ansible, GitLab CI e observabilidade, com responsabilidade por manutenção, upgrades e resolução de incidentes. Atualmente aprofundo minha atuação em Cloud e Infraestrutura como Código com Terraform e AWS.\nBaixar currículo (PDF) Experiência # Técnico de TI · Gtek – Soluções Tecnológicas (abril de 2021 – atual · Gramado, RS)\nResponsável pela operação de infraestrutura, incluindo manutenção, upgrades, troubleshooting e automação. Tenho autonomia para conduzir mudanças e alinho com a gestão as de maior impacto ou risco.\nAutomatizei ensaios de restauração de 11 stacks Docker em redes isoladas, validando integridade por checksum. Migrei deploys em quatro servidores para um fluxo controlado pelo GitLab CI e Ansible, com cinco estágios, validação obrigatória com ansible-playbook --check e verificações pós-deploy. Automatizei o ciclo de deploy de 11 stacks com Ansible, incluindo sincronização, preview, deploy e validação; configurei a pipeline para executar somente quando há alterações na stack e mantive imagens disponíveis para rollback. Implementei verificações de integridade de backups com gzip -t e tamanho mínimo, impedindo a rotação off-site quando não há uma cópia recente validada. Migrei 22 arquivos com credenciais para Ansible Vault, restringi permissões e fixei known_hosts no CI; também substituí privileged: true por group_add em 11 arquivos Compose. Formação # UCS - Universidade de Caxias do Sul · Curso Superior de Tecnologia em Administração de Redes e Sistemas (encerrado em abril de 2022)\nCertificações # Sophos Firewall v21.0 - Engineer MTCNA: MikroTik Certified Network Associate Novo Pentest Profissional Formação Linux Redes GPON Idiomas # Português (nativo) e inglês (intermediário).\nContato # E-mail: natan@nrz1.com.br LinkedIn: linkedin.com/in/natangodoy-it ","externalUrl":null,"permalink":"/about/","section":"Sobre","summary":"","title":"Sobre","type":"about"},{"content":"","externalUrl":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"}]