/go-client

Client library with golang for accessing Harbor API.

Primary LanguageGoApache License 2.0Apache-2.0

go-client

Client library with golang for accessing Harbor API.

Client Types

There are 3 swagger files in this repo.

api/
    v2.0/
        legacy_swagger.yaml    # legacy client
        swagger.yaml           # v2 client
    swagger.yaml               # assist client contains version and chart healthcheck

Download swagger spec by version

Currently, the default Harbor version is v2.8.2.

NOTE Default version need to be updated manually inside Makefile

To download swagger spec:

make update-spec

To download swagger spec from previous Harbor version, add VERSION as an argument:

make update-spec VERSION=v2.8.2

Generate Clients

make gen-harbor-api VERSION=v2.8.2

Check all available make commands

make

To use the Clients

There is ClientSet defined inside pkg/harbor/client.go to construct Clients

Create a Config first then use it to create ClientSet

For Example:

c := Config{
	URL: url,
	Transport: tr,
	AuthInfo: ai,
}

cs := NewClientSet(c)

cs.V2() // v2 client
cs.Legacy() // legacy client
cs.Assist() // assist client