A Go SDK for the Clever Cloud platform, providing a type-safe interface to interact with the Clever Cloud API.
go get go.clever-cloud.dev/sdk- Two API levels: Direct function calls and fluent builder pattern
- Type-safe: Generated from OpenAPI specification with proper Go types
- OpenTelemetry integration: Built-in tracing for observability
- Functional options: Flexible configuration for SDK and query parameters
package main
import (
"context"
"go.clever-cloud.dev/client"
sdk "go.clever-cloud.dev/sdk"
)
func main() {
// Create SDK with auto-auth (reads from ~/.config/clever-cloud/clever-tools.json)
s := sdk.NewSDK(sdk.WithClient(client.New(client.WithAutoOauthConfig())))
ctx := context.Background()
// Use the SDK...
}Operations are grouped by service in services/{service}/ packages:
import "go.clever-cloud.dev/sdk/services/kubernetes"
response := kubernetes.GetClusters(ctx, client, tracer, ownerID)
if response.HasError() {
log.Fatal(response.Error())
}
clusters := response.Payload()Fluent interface following URL path structure:
s := sdk.NewSDK(sdk.WithClient(client.New(client.WithAutoOauthConfig())))
response := s.V4().Kubernetes().Organisations().Ownerid(orgID).Clusters().Getclusters(ctx)
if response.HasError() {
log.Fatal(response.Error())
}
clusters := response.Payload()Use functional options for query parameters:
import "go.clever-cloud.dev/sdk/services/network_group"
response := network_group.GetNetworkGroups(ctx, client, tracer, ownerID,
network_group.WithQuery("my-network"),
)The SDK uses the clever-cloud-client-go for authentication. Configure credentials via:
- Auto-config: Reads from
~/.config/clever-cloud/clever-tools.json(created by clever-tools CLI) - Manual config: Pass OAuth credentials directly
// Auto-config (recommended)
client.New(client.WithAutoOauthConfig())
// Manual config
client.New(client.WithOAuth1Config(consumerKey, consumerSecret, token, tokenSecret))├── sdk.go # Main SDK entry point
├── builder.go # Builder pattern implementation
├── models/ # Generated data structures
└── services/ # Generated API operations by service
├── kubernetes/
├── pulsar/
├── postgresql/
└── ...
This SDK is generated from the Clever Cloud OpenAPI specification. See gen/ directory for generators.
cd gen
make all- Go 1.24+
Apache 2.0