Repolode
digitalocean

digitalocean/godo

Go client library for the DigitalOcean V2 API, covering infrastructure resources and DigitalOcean Inference model calls.

Stars
1,548
Forks
408
Open issues
53
Last commit
yesterday

What is it?

godo is a Go client library for the DigitalOcean V2 API. It wraps the REST endpoints in typed Go services, so developers can create and manage Droplets, Kubernetes clusters, volumes and other resources from Go code instead of hand-written HTTP calls. A client is created with an API token, and each part of the API is exposed as a service on that client.

The library also includes support for DigitalOcean Inference, with chat completions (including streaming), image generation, embeddings, model listing and batch inference through the same client. It also exposes Action Gateway resources for tools, toolbelts, MCP servers and sessions. Paginated endpoints are handled by following page or token links, and an optional retry configuration with exponential backoff covers 429 and 500-level responses.

Key features

  • 01Typed Go services for Droplets, Kubernetes, volumes and other DigitalOcean resources
  • 02Chat completions with streaming, image generation, embeddings and batch inference via DigitalOcean Inference
  • 03Helpers for paginating list endpoints by page number or token
  • 04Optional automatic retries with exponential backoff for 429 and 500-level responses

Use cases

  • Automating DigitalOcean infrastructure provisioning from a Go application or internal tool
  • Building Terraform-style or deployment scripts that manage Droplets and Kubernetes clusters
  • Calling DigitalOcean-hosted models from Go services using the same client

Quick start

  1. 1

    Install the Go module into your project

    go get github.com/digitalocean/godo
  2. 2

    Import the package in your Go code

    import "github.com/digitalocean/godo"
  3. 3

    Create a client with your DigitalOcean API token

Things to know

  • The license is listed as NOASSERTION, so check the repository's license terms before use.
  • Inference calls need a full-access token or a model access key; limited-scope tokens will get 401 errors.

Topics

FAQ

What is godo?
Go client library for the DigitalOcean V2 API, covering infrastructure resources and DigitalOcean Inference model calls. godo is a Go client library for the DigitalOcean V2 API. It wraps the REST endpoints in typed Go services, so developers can create and manage Droplets, Kubernetes clusters, volumes and other resources from Go code instead of hand-written HTTP calls. A client is created with an API token, and each part of the API is exposed as a service on that client.
Is godo free to use? What license does it have?
godo is open source under the Other license. Check the license terms before using it in commercial products.
Is godo still maintained?
Actively maintained. The last commit to godo was on Nov 6, 2026.
What can I use godo for?
Automating DigitalOcean infrastructure provisioning from a Go application or internal tool Building Terraform-style or deployment scripts that manage Droplets and Kubernetes clusters Calling DigitalOcean-hosted models from Go services using the same client
How do I install godo?
Install the Go module into your project: go get github.com/digitalocean/godo Import the package in your Go code: import "github.com/digitalocean/godo" Create a client with your DigitalOcean API token
Where can I get godo?
The source code and installation instructions are on GitHub: https://github.com/digitalocean/godo

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects