Repolode
google

google/go-cloud

Biblioteca Go com APIs portáveis para armazenamento de blobs, pub/sub, bancos de dados e secrets, para executar a mesma base de código nas principais clouds.

Estrelas
9,920
Forks
863
Issues abertas
2
Último commit
há 5 dias

O que é?

O Go Cloud Development Kit (Go CDK) permite que desenvolvedores Go criem aplicações em nuvem usando interfaces estáveis e idiomáticas para serviços comuns, como armazenamento de blobs, bancos de dados e mensageria. O código da aplicação chama uma única API, enquanto drivers específicos de cada provedor cuidam dos detalhes de cada cloud, permitindo implantar o mesmo programa em diferentes provedores de nuvem.

O kit abrange armazenamento de blobs, publish/subscribe, variáveis alteráveis em tempo de execução, armazenamento de documentos, secrets e conexões MySQL/PostgreSQL, além de utilitários de servidor para logging de requisições, tracing e verificações de integridade. Seu design é inspirado no pacote database/sql do Go. Ele funciona em conjunto com o gerador de código Wire, que produz código legível e importa apenas os SDKs de cloud usados por uma determinada aplicação.

As APIs são documentadas como alpha, e os mantenedores preferem manter os drivers existentes neste repositório em vez de adicionar novos, indicando repositórios separados para novos provedores.

Recursos principais

  • 01API portátil de armazenamento de blobs, compatível com S3, Google Cloud Storage e outros backends.
  • 02APIs de pub/sub, variáveis de tempo de execução, armazenamento de documentos e secrets, cada uma por trás de uma única interface.
  • 03Suporte a conexões MySQL (incluindo MariaDB) e PostgreSQL.
  • 04Logging de requisições, tracing e verificações de integridade integrados para servidores.
  • 05Projetado para funcionar em conjunto com Wire, compilando apenas os SDKs de cloud que você usa.

Casos de uso

  • Criar um serviço Go que precisa funcionar na AWS, GCP ou Azure sem reescrever o código de armazenamento.
  • Abstrair o armazenamento de objetos para usar backends diferentes em testes locais e em produção.
  • Adicionar suporte portátil a secrets ou pub/sub em uma aplicação Go multi-cloud.

Início rápido

  1. 1

    Instale o módulo Go CDK no seu projeto Go

    go get gocloud.dev
  2. 2

    Leia a documentação e os tutoriais no site do projeto

Antes de usar

  • O README informa que as APIs ainda estão em fase alfa.
  • O projeto prefere manter os drivers existentes e provavelmente não aceitará novos no repositório principal.
  • Os drivers específicos de nuvem de que você precisa podem estar em repositórios externos separados.

Tópicos

Perguntas frequentes

O que é go-cloud?
Biblioteca Go com APIs portáveis para armazenamento de blobs, pub/sub, bancos de dados e secrets, para executar a mesma base de código nas principais clouds. O Go Cloud Development Kit (Go CDK) permite que desenvolvedores Go criem aplicações em nuvem usando interfaces estáveis e idiomáticas para serviços comuns, como armazenamento de blobs, bancos de dados e mensageria. O código da aplicação chama uma única API, enquanto drivers específicos de cada provedor cuidam dos detalhes de cada cloud, permitindo implantar o mesmo programa em diferentes provedores de nuvem.
go-cloud é gratuito? Qual é a licença?
go-cloud é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
go-cloud ainda é mantido?
Manutenção ativa. O último commit de go-cloud foi em 2 de nov. de 2026.
Para que posso usar go-cloud?
Criar um serviço Go que precisa funcionar na AWS, GCP ou Azure sem reescrever o código de armazenamento. Abstrair o armazenamento de objetos para usar backends diferentes em testes locais e em produção. Adicionar suporte portátil a secrets ou pub/sub em uma aplicação Go multi-cloud.
Como instalar go-cloud?
Instale o módulo Go CDK no seu projeto Go: go get gocloud.dev Leia a documentação e os tutoriais no site do projeto
Onde consigo go-cloud?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/google/go-cloud

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados