# Packages
No description provided by the author
# README
craas-go: Go SDK for Container Registry Service
Package craas-go provides Go SDK to work with the Selectel Container Registry Service.
Documentation
The Go library documentation is available at go.dev.
What this library is capable of
You can use this library to work with the following objects of the Selectel Container Registry Service:
Getting started
Installation
You can install needed craas-go
packages via go get
command:
go get github.com/selectel/craas-go/pkg/v1/registry
Authentication
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.
Endpoints
Selectel Container Registry Service currently has the following API endpoints:
URL |
---|
https://cr.selcloud.ru/api/v1 |
Usage example
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)
}
}