Aller au contenu

SDK Go

Le SDK Go est le client officiel pour interagir avec l’API Deployme.cloud depuis vos applications Go.

Fenêtre de terminal
go get github.com/deployme-cloud/deployme-sdk-go
package main
import (
deployme "github.com/deployme-cloud/deployme-sdk-go"
)
func main() {
// Via token API
client := deployme.NewClient("YOUR_API_TOKEN")
// Ou via variables d'environnement (DEPLOYME_API_TOKEN)
client := deployme.NewClientFromEnv()
}
cluster, err := client.Clusters.Create(ctx, &deployme.CreateClusterInput{
Name: "production",
ControlPlanes: 3,
Workers: 5,
NodeSize: "large",
Phase: deployme.PhaseManaged, // Phase 0
})
clusters, err := client.Clusters.List(ctx, &deployme.ListOptions{
Page: 1,
PerPage: 20,
})
for _, c := range clusters.Items {
fmt.Printf("%s%s (%d nodes)\n", c.Name, c.Status, c.NodeCount)
}
cluster, err := client.Clusters.Get(ctx, "cluster-id")
err := client.Clusters.Delete(ctx, "cluster-id")
kubeconfig, err := client.Clusters.GetKubeconfig(ctx, "cluster-id")
os.WriteFile("kubeconfig.yaml", kubeconfig, 0600)
// Ajouter des workers
err := client.Clusters.ScaleWorkers(ctx, "cluster-id", 8)
// Lister les nodes
nodes, err := client.Nodes.List(ctx, "cluster-id")
cluster, err := client.Clusters.Create(ctx, input)
if err != nil {
var apiErr *deployme.APIError
if errors.As(err, &apiErr) {
fmt.Printf("API error %d: %s\n", apiErr.StatusCode, apiErr.Message)
}
return err
}