This section contains high-level technical reference information for each component of the Go Cloud Development Kit. You can browse the full API reference at


The mysql and postgres packages provide functions for connecting to MySQL and PostgreSQL databases for both on-premise and cloud-provided instances using the *sql.DB type from the Go standard library. Database connections opened using these packages will automatically collect diagnostic information via OpenCensus.


Package secrets provides an easy and portable way to encrypt and decrypt messages.

This package lets you do symmetric encryption and decryption within your application layer. You can then store the secret data anywhere safely, for example, using our blob, runtimevar packages etc. It is also integrated with OpenCensus to get metrics and traces for Encrypt and Decrypt, and some providers also have automatic audit logs for all key management related activites.


Blobs are a common abstraction for storing unstructured data on cloud storage providers and accessing them via HTTP.

Package blob provides an easy and portable way to interact with blobs within a storage location (“bucket”). It supports operations like reading and writing blobs (using standard interfaces from the io package), deleting blobs, and listing blobs in a bucket.


Pub/Sub refers to implementations of the publish-subscribe pattern, wherein clients connect to a cloud service to subscribe to topics or publish messages that could be delivered to subscribers.

Package pubsub provides an easy and portable way to interact with publish/subscribe systems that have at-least-once delivery.


Package runtimevar provides easy and portable access to the latest value of remote configuration variables.


Package server provides a preconfigured HTTP server with diagnostic hooks.