Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Construíndo seu Primeiro Provider para Terraform

Construíndo seu Primeiro Provider para Terraform

Terraform é uma tecnologia criada pela Hashicorp que ganhou enorme popularidade no mercado por oferecer uma linguagem simples e genérica que oferece suporte a diferentes provedores de nuvem e demais sistemas distribuídos. Para conseguir isso, ele oferece um leque poderoso de provedores que auxiliam desenvolvedores durante a criação de arquiteturas basedas em infraestrutura-como-código.

No entanto, é comum situações onde não há suporte para certas tecnologias e nestes casos a criação de um provedor customizado se torna necessária. Esta palestra visa ensinar como você pode criar seus próprios provedores usando a línguagem Go, além de oferecer dicas valiosas sobre como melhor se preparar para esse tipo de implementação.

Ricardo Ferreira

October 17, 2020
Tweet

More Decks by Ricardo Ferreira

Other Decks in Technology

Transcript

  1. @riferrei Ricardo Ferreira Cloud Conference day 17 de Outubro de

    2020 Criando seu Primeiro Provider para Terraform
  2. Ricardo Ferreira Developer Advocate Community Team da Elastic Antes de

    atuar na Elastic: Confluent, Oracle, Red Hat Brasileiro morando nos EUA [email protected] [email protected] https://riferrei.com @riferrei
  3. @riferrei resource "aws_elasticache_replication_group" "cache_server" { replication_group_id = "${var.global_prefix}-cache-server" replication_group_description =

    "Cache server for the APIs" subnet_group_name = aws_elasticache_subnet_group.cache_server.name availability_zones = data.aws_availability_zones.available.names number_cache_clusters = length(data.aws_availability_zones.available.names) security_group_ids = [aws_security_group.cache_server.id] automatic_failover_enabled = true node_type = "cache.m4.large" parameter_group_name = "default.redis5.0" port = 6379 } { "mode": "managed", "type": "aws_elasticache_replication_group ", "name": "cache_server", "provider": "provider.aws", "instances": [ { "schema_version": 1, "attributes": { "arn": "arn:aws:ec2:us-east-1:523:security-group/sg-03e276aa9", "description": "Cache server for the APIs", "egress": [ { "cidr_blocks": [ "0.0.0.0/0" ], "description": "", "from_port": 0, "ipv6_cidr_blocks": [], Estado Terraform
  4. @riferrei Terraform up and Running Possui uma linguagem simples de

    entender Explora conceitos básicos e avançados, sendo portanto um livro completo. Explora detalhes sobre boas práticas de engenharia de software como testes, modularização, encapsulamento, etc. Fornece exemplos prontos para uso que são mais que simples hello worlds.
  5. @riferrei Razões mais comuns: Você é um provedor de serviços

    de nuvem Seu Código terraform está com uma lacuna Implementação de testes de verificação Você adora e está procurand algo pra fazer
  6. @riferrei 1. Main 2. Provider 3.1 Resources 3.2 Data Sources

    4. Client SDK Na prática é isso aqui:
  7. @riferrei Use a API de logging por favor Eu tô

    achando melhor… Voltar pro meu bash…