Package craas-go provides Go SDK to work with the Selectel Container Registry Service.
The Go library documentation is available at go.dev.
You can use this library to work with the following objects of the Selectel Container Registry Service:
You can install needed craas-go
packages via go get
command:
go get github.com/selectel/craas-go/pkg/v1/registry
To work with the Selectel Container Registry API you first need to:
- Create a Selectel account: registration page.
- Create a project in Selectel Cloud Platform projects.
- Retrieve a token for your project via API or go-selvpcclient.
Selectel Container Registry Service currently has the following API endpoints:
URL |
---|
https://cr.selcloud.ru/api/v1 |
package main
import (
"context"
"fmt"
"log"
v1 "github.com/selectel/craas-go/pkg"
"github.com/selectel/craas-go/pkg/v1/registry"
"github.com/selectel/craas-go/pkg/v1/repository"
)
func main() {
// Token to work with Selectel Cloud project.
token := "gAAAAABeVNzu-..."
// CRaaS endpoint to work with.
endpoint := "https://cr.selcloud.ru/api/v1"
// Create a new CRaaS client.
crClient := v1.NewCRaaSClientV1(token, endpoint)
// Prepare empty context.
ctx := context.Background()
// Create a new registry.
createdRegistry, _, err := registry.Create(ctx, crClient, "my-registry")
if err != nil {
log.Fatal(err)
}
// Print the registry fields.
fmt.Printf("Created registry: %+v", createdRegistry)
// Get a list of registry repositories.
repositories, _, err := repository.ListRepositories(ctx, crClient, createdRegistry.ID)
if err != nil {
log.Fatal(err)
}
// Print the repository fields.
for _, repo := range repositories {
fmt.Printf("Repository: %+v", repo)
}
}